Test Report for Data Trading Survey

Report generated on 14-May-2020 at 10:15:56 by pytest-html v2.1.1

The table shows a summary of each tests and the output of those that have failed.

Environment

JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home
Packages {"pluggy": "0.13.1", "py": "1.8.1", "pytest": "5.3.5"}
Platform Darwin-19.4.0-x86_64-i386-64bit
Plugins {"html": "2.1.1", "metadata": "1.9.0"}
Python 3.6.2

Summary

85 tests ran in 82.82 seconds.

82 passed, 0 skipped, 3 failed, 0 errors, 0 expected failures, 0 unexpected passes

Results

Result Test Duration Links
Failed tests/admin/functional/test_card_set.py::test_edit_future_card_set 0.69
client = <FlaskClient <Flask 'app'>>, init_database = <SQLAlchemy engine=sqlite://>

def test_edit_future_card_set(client, init_database):
"""
GIVEN a Flask application, logged in admin and card set which is added to a future study
WHEN '/admin/card_set/1' is requested (GET)
THEN check response is valid and card set can be edited.
"""
with client.application.test_request_context():

admin = create_admin(client, username="admin", password="password")
login(client, username="admin", password="password")
card_set = create_card_set(client, creator=admin)
study = create_study(
client,
creator=admin,
card_set_x=card_set,
start_date=date.today() + timedelta(days=3),
)

response = client.get(
url_for("admin.card_set", id=study.card_set_x.id),
follow_redirects=True,
)

assert response.status_code == 200
for card in card_set.cards:
assert bytes(card.name, "utf-8") in response.data
assert bytes(card.description, "utf-8") in response.data

form_card = CardForm(
card_name="Updated Card", image=None, desc="Updated Description"
)
form_card_set = CardSetForm()
form_card_set.card_set_name.data = "Updated Card Set"
form_card_set.cards.pop_entry()
form_card_set.cards.append_entry(
{
"card_name": "Updated Card",
"image": None,
"desc": "Updated Description",
}
)
# form_card_set.cards.append_entry(form_card)
form_card_set.measure.data = "Updated Measure"

response = client.post(
url_for("admin.card_set", id=study.card_set_x.id),
data=form_card_set.data,
follow_redirects=True,
)

> assert study.card_set_x.name == "Updated Card Set"
E AssertionError: assert 'Test Card Set' == 'Updated Card Set'
E - Test Card Set
E + Updated Card Set

tests/admin/functional/test_card_set.py:294: AssertionError
Failed tests/admin/functional/test_user_group.py::test_create_valid_user_group 0.46
client = <FlaskClient <Flask 'app'>>, init_database = <SQLAlchemy engine=sqlite://>

def test_create_valid_user_group(client, init_database):
"""
GIVEN a Flask application, logged in admin
WHEN '/admin/new_user_group/1' is requested (GET)
WHEN '/admin/study/1' is posted with valid data (POST).
THEN check response is valid and the user group has been created.
"""

user_group_form = UserGroupForm()

data = {
"name": "Test",
"users": [{"email": "test@test.com"}, {"email": "b@b.com"}],
"submit": True,
}
user_group_form.name.data = "User Group 1"
user_group_form.users.pop_entry()
user_group_form.users.append_entry({"email": "test@test.com"})
user_group_form.submit.data = True

with client.application.test_request_context():

admin = create_admin(client, username="admin", password="password")
login(client, username="admin", password="password")
client.get(url_for("admin.new_user_group"))
response = client.post(
url_for("admin.user_group", id=1),
data=user_group_form.data,
follow_redirects=True,
)

assert response.status_code == 200
assert b"User Group 1" in response.data

user_group = UserGroup.query.filter_by(id=1).first()

> assert user_group.name == "User Group 1"
E AssertionError: assert None == 'User Group 1'
E + where None = None.name

tests/admin/functional/test_user_group.py:54: AssertionError
-----------------------------Captured stdout setup------------------------------
THIS APP IS IN TEST CONFIGURATION. DO NOT USE IN PRODUCTION.
Failed tests/admin/functional/test_user_group.py::test_edit_future_user_group 0.66
client = <FlaskClient <Flask 'app'>>, init_database = <SQLAlchemy engine=sqlite://>

def test_edit_future_user_group(client, init_database):
"""
GIVEN a Flask application, logged in admin, and a user group added to a future study
WHEN '/admin/study/1' is requested (GET)
THEN check response is valid and the user group can be edited.
"""
with client.application.test_request_context():

admin = create_admin(client, username="admin", password="password")
login(client, username="admin", password="password")

user_group = create_user_group(client, creator=admin)
study = create_study(
client,
creator=admin,
user_group=user_group,
start_date=date.today() + timedelta(days=1),
)

response = client.get(
url_for("admin.user_group", id=user_group.id),
follow_redirects=True,
)

assert response.status_code == 200
for user in study.user_group.users:
assert bytes(user.email, "utf-8") in response.data

form = UserGroupForm()
assert bytes(form.name.label.text, "utf-8") in response.data
assert bytes(form.users.label.text, "utf-8") in response.data

user_group_form = UserGroupForm()

user_group_form.name.data = "Edited User Group 1"
user_group_form.users.pop_entry()
user_group_form.users.append_entry("test2@test.com")
user_group_form.submit.data = True

response = client.post(
url_for("admin.user_group", id=1),
data=user_group_form.data,
follow_redirects=True,
)

assert response.status_code == 200

user_group = UserGroup.query.filter_by(id=1).first()

> assert user_group.name == "Edited User Group 1"
E AssertionError: assert 'Test User Group' == 'Edited User Group 1'
E - Test User Group
E + Edited User Group 1

tests/admin/functional/test_user_group.py:270: AssertionError
Passed tests/admin/functional/test_admin_decorators.py::test_login_required 0.59
-----------------------------Captured stdout setup------------------------------
THIS APP IS IN TEST CONFIGURATION. DO NOT USE IN PRODUCTION.
Passed tests/admin/functional/test_admin_decorators.py::test_admin_required 0.80
No log output captured.
Passed tests/admin/functional/test_admin_decorators.py::test_valid_admin_required 0.81
No log output captured.
Passed tests/admin/functional/test_admin_decorators.py::test_check_delete 0.44
No log output captured.
Passed tests/admin/functional/test_admin_decorators.py::test_check_edit 0.42
No log output captured.
Passed tests/admin/functional/test_admin_index.py::test_get_index 0.65
-----------------------------Captured stdout setup------------------------------
THIS APP IS IN TEST CONFIGURATION. DO NOT USE IN PRODUCTION.
Passed tests/admin/functional/test_admin_index.py::test_get_index_multiple_admins 0.75
No log output captured.
Passed tests/admin/functional/test_card_set.py::test_create_valid_card_set 0.40
-----------------------------Captured stdout setup------------------------------
THIS APP IS IN TEST CONFIGURATION. DO NOT USE IN PRODUCTION.
Passed tests/admin/functional/test_card_set.py::test_create_invalid_card_set 0.19
No log output captured.
Passed tests/admin/functional/test_card_set.py::test_delete_current_card_set 0.46
No log output captured.
Passed tests/admin/functional/test_card_set.py::test_delete_future_card_set 0.73
No log output captured.
Passed tests/admin/functional/test_card_set.py::test_delete_card_set 0.35
No log output captured.
Passed tests/admin/functional/test_card_set.py::test_edit_current_card_set 0.87
No log output captured.
Passed tests/admin/functional/test_study2.py::test_create_valid_study 0.78
-----------------------------Captured stdout setup------------------------------
THIS APP IS IN TEST CONFIGURATION. DO NOT USE IN PRODUCTION.
Passed tests/admin/functional/test_study2.py::test_create_invalid_study 0.55
No log output captured.
Passed tests/admin/functional/test_study2.py::test_delete_current_study 0.48
No log output captured.
Passed tests/admin/functional/test_study2.py::test_delete_future_study 0.57
No log output captured.
Passed tests/admin/functional/test_study2.py::test_edit_current_study 0.44
No log output captured.
Passed tests/admin/functional/test_study2.py::test_edit_future_study 0.49
No log output captured.
Passed tests/admin/functional/test_user_group.py::test_create_invalid_user_group 0.21
No log output captured.
Passed tests/admin/functional/test_user_group.py::test_delete_current_user_group 0.51
No log output captured.
Passed tests/admin/functional/test_user_group.py::test_delete_future_user_group 0.63
No log output captured.
Passed tests/admin/functional/test_user_group.py::test_delete_user_group 0.48
No log output captured.
Passed tests/admin/functional/test_user_group.py::test_edit_current_user_group 0.59
No log output captured.
Passed tests/api/functional/test_auth.py::test_valid_login 0.54
-----------------------------Captured stdout setup------------------------------
THIS APP IS IN TEST CONFIGURATION. DO NOT USE IN PRODUCTION.
Passed tests/api/functional/test_get.py::test_get_no_access_token 0.02
-----------------------------Captured stdout setup------------------------------
THIS APP IS IN TEST CONFIGURATION. DO NOT USE IN PRODUCTION.
Passed tests/api/functional/test_get.py::test_get_individual_response 1.68
No log output captured.
Passed tests/api/functional/test_get.py::test_get_all_responses 1.92
No log output captured.
Passed tests/api/functional/test_get.py::test_get_individual_participant 0.59
No log output captured.
Passed tests/api/functional/test_get.py::test_get_all_participants 0.76
No log output captured.
Passed tests/api/functional/test_get.py::test_get_individual_user_group 0.65
No log output captured.
Passed tests/api/functional/test_get.py::test_get_all_user_groups 0.96
No log output captured.
Passed tests/api/functional/test_get.py::test_get_indvidual_data_value_label 0.34
No log output captured.
Passed tests/api/functional/test_get.py::test_get_all_data_value_label 0.34
No log output captured.
Passed tests/api/functional/test_get.py::test_get_individual_study 0.72
No log output captured.
Passed tests/api/functional/test_get.py::test_get_all_studies 1.08
No log output captured.
Passed tests/api/functional/test_get.py::test_get_individual_cards 0.56
No log output captured.
Passed tests/api/functional/test_get.py::test_get_all_cards 0.38
No log output captured.
Passed tests/api/functional/test_get.py::test_get_individual_card_set 0.46
No log output captured.
Passed tests/api/functional/test_get.py::test_get_all_card_sets 0.46
No log output captured.
Passed tests/auth/functional/test_admins.py::test_valid_login 0.40
-----------------------------Captured stdout setup------------------------------
THIS APP IS IN TEST CONFIGURATION. DO NOT USE IN PRODUCTION.
Passed tests/auth/functional/test_admins.py::test_logout_logged_in 0.20
No log output captured.
Passed tests/auth/functional/test_admins.py::test_logout_not_logged_in 0.01
No log output captured.
Passed tests/auth/functional/test_participants.py::test_valid_login 0.90
-----------------------------Captured stdout setup------------------------------
THIS APP IS IN TEST CONFIGURATION. DO NOT USE IN PRODUCTION.
Passed tests/auth/functional/test_participants.py::test_logout_logged_in 0.21
No log output captured.
Passed tests/auth/functional/test_participants.py::test_logout_not_logged_in 0.01
No log output captured.
Passed tests/errors/functional/test_handler_admin.py::test_admin_error_handler_404 0.40
-----------------------------Captured stdout setup------------------------------
THIS APP IS IN TEST CONFIGURATION. DO NOT USE IN PRODUCTION.
Passed tests/errors/functional/test_handler_admin.py::test_admin_error_handler_405 0.37
No log output captured.
Passed tests/errors/functional/test_handler_anon.py::test_anonymous_error_handler_404 0.01
-----------------------------Captured stdout setup------------------------------
THIS APP IS IN TEST CONFIGURATION. DO NOT USE IN PRODUCTION.
Passed tests/errors/functional/test_handler_anon.py::test_anonymous_error_handler_405 0.00
No log output captured.
Passed tests/errors/functional/test_handler_participant.py::test_participant_error_handler_404 0.40
-----------------------------Captured stdout setup------------------------------
THIS APP IS IN TEST CONFIGURATION. DO NOT USE IN PRODUCTION.
Passed tests/errors/functional/test_handler_participant.py::test_participant_error_handler_405 0.39
No log output captured.
Passed tests/mailer/functional/test_send_mail.py::test_send_mail 3.80
-----------------------------Captured stdout setup------------------------------
THIS APP IS IN TEST CONFIGURATION. DO NOT USE IN PRODUCTION.
Passed tests/responses/functional/test_average_response.py::test_get_average_response 2.61
-----------------------------Captured stdout setup------------------------------
THIS APP IS IN TEST CONFIGURATION. DO NOT USE IN PRODUCTION.
Passed tests/responses/functional/test_compare_responses.py::test_get_compare_responses 2.29
-----------------------------Captured stdout setup------------------------------
THIS APP IS IN TEST CONFIGURATION. DO NOT USE IN PRODUCTION.
Passed tests/responses/functional/test_compare_responses.py::test_post_compare_responses 1.50
No log output captured.
Passed tests/responses/functional/test_create_pdf.py::test_get_create_pdf 1.62
-----------------------------Captured stdout setup------------------------------
THIS APP IS IN TEST CONFIGURATION. DO NOT USE IN PRODUCTION.
Passed tests/responses/functional/test_general.py::test_get_general_study 1.46
-----------------------------Captured stdout setup------------------------------
THIS APP IS IN TEST CONFIGURATION. DO NOT USE IN PRODUCTION.
Passed tests/responses/functional/test_general.py::test_get_general_no_study 0.37
No log output captured.
Passed tests/responses/functional/test_heat_maps.py::test_get_heat_maps 1.55
-----------------------------Captured stdout setup------------------------------
THIS APP IS IN TEST CONFIGURATION. DO NOT USE IN PRODUCTION.
Passed tests/responses/unit/test_add_heat_maps.py::test_CreateOneHeatMap 0.63
-----------------------------Captured stdout setup------------------------------
THIS APP IS IN TEST CONFIGURATION. DO NOT USE IN PRODUCTION.
Passed tests/responses/unit/test_add_heat_maps.py::test_CreateOneHeatMapCount 0.66
No log output captured.
Passed tests/responses/unit/test_add_heat_maps.py::test_calculate_price 1.14
No log output captured.
Passed tests/responses/unit/test_add_heat_maps.py::test_calculate_count 1.99
No log output captured.
Passed tests/responses/unit/test_average_response_unit.py::test_average_response 2.92
-----------------------------Captured stdout setup------------------------------
THIS APP IS IN TEST CONFIGURATION. DO NOT USE IN PRODUCTION.
Passed tests/responses/unit/test_create_pdf_unit.py::test_create_pdf 12.36
-----------------------------Captured stdout setup------------------------------
THIS APP IS IN TEST CONFIGURATION. DO NOT USE IN PRODUCTION.
------------------------------Captured stdout call------------------------------
Loading pages (1/6) [> ] 0% [======> ] 10% [============================> ] 48% Warning: Failed to load file:///static/img/card_images/1/yay.jpg (ignore) Warning: Failed to load file:///static/img/card_images/1/hi.jpg (ignore) [============================================================] 100% Counting pages (2/6) [============================================================] Object 1 of 1 Resolving links (4/6) [============================================================] Object 1 of 1 Loading headers and footers (5/6) Printing pages (6/6) [> ] Preparing [============> ] Page 1 of 5 [========================> ] Page 2 of 5 [====================================> ] Page 3 of 5 [================================================> ] Page 4 of 5 [============================================================] Page 5 of 5 Done Loading pages (1/6) [> ] 0% [======> ] 10% [===========================> ] 46% Warning: Failed to load file:///static/img/card_images/1/yay.jpg (ignore) Warning: Failed to load file:///static/img/card_images/1/hi.jpg (ignore) [============================================================] 100% Counting pages (2/6) [============================================================] Object 1 of 1 Resolving links (4/6) [============================================================] Object 1 of 1 Loading headers and footers (5/6) Printing pages (6/6) [> ] Preparing [===============> ] Page 1 of 4 [==============================> ] Page 2 of 4 [=============================================> ] Page 3 of 4 [============================================================] Page 4 of 4 Done Loading pages (1/6) [> ] 0% [======> ] 10% [============================> ] 47% Warning: Failed to load file:///static/img/card_images/1/yay.jpg (ignore) Warning: Failed to load file:///static/img/card_images/1/hi.jpg (ignore) [============================================================] 100% Counting pages (2/6) [============================================================] Object 1 of 1 Resolving links (4/6) [============================================================] Object 1 of 1 Loading headers and footers (5/6) Printing pages (6/6) [> ] Preparing [===================> ] Page 1 of 3 [=======================================> ] Page 2 of 3 [============================================================] Page 3 of 3 Done Loading pages (1/6) [> ] 0% [======> ] 10% [============================> ] 48% Warning: Failed to load file:///static/img/card_images/1/yay.jpg (ignore) Warning: Failed to load file:///static/img/card_images/1/hi.jpg (ignore) [============================================================] 100% Counting pages (2/6) [============================================================] Object 1 of 1 Resolving links (4/6) [============================================================] Object 1 of 1 Loading headers and footers (5/6) Printing pages (6/6) [> ] Preparing [=========> ] Page 1 of 6 [===================> ] Page 2 of 6 [==============================> ] Page 3 of 6 [=======================================> ] Page 4 of 6 [=================================================> ] Page 5 of 6 [============================================================] Page 6 of 6 Done Loading pages (1/6) [> ] 0% [======> ] 10% [============================> ] 48% Warning: Failed to load file:///static/img/card_images/1/yay.jpg (ignore) Warning: Failed to load file:///static/img/card_images/1/hi.jpg (ignore) [============================================================] 100% Counting pages (2/6) [============================================================] Object 1 of 1 Resolving links (4/6) [============================================================] Object 1 of 1 Loading headers and footers (5/6) Printing pages (6/6) [> ] Preparing [=======> ] Page 1 of 8 [===============> ] Page 2 of 8 [======================> ] Page 3 of 8 [==============================> ] Page 4 of 8 [=====================================> ] Page 5 of 8 [=============================================> ] Page 6 of 8 [====================================================> ] Page 7 of 8 [============================================================] Page 8 of 8 Done
Passed tests/responses/unit/test_position_count.py::test_get_card_x_responses 0.79
-----------------------------Captured stdout setup------------------------------
THIS APP IS IN TEST CONFIGURATION. DO NOT USE IN PRODUCTION.
Passed tests/responses/unit/test_position_count.py::test_get_card_y_responses 0.58
No log output captured.
Passed tests/study/functional/test_change_user_info.py::test_get_change_user_info 0.62
-----------------------------Captured stdout setup------------------------------
THIS APP IS IN TEST CONFIGURATION. DO NOT USE IN PRODUCTION.
Passed tests/study/functional/test_change_user_info.py::test_post_change_user_info 0.45
No log output captured.
Passed tests/study/functional/test_functional_index.py::test_get_index 0.67
-----------------------------Captured stdout setup------------------------------
THIS APP IS IN TEST CONFIGURATION. DO NOT USE IN PRODUCTION.
Passed tests/study/functional/test_functional_index.py::test_get_index_multiple_studies 1.03
No log output captured.
Passed tests/study/functional/test_study.py::test_get_study 0.68
-----------------------------Captured stdout setup------------------------------
THIS APP IS IN TEST CONFIGURATION. DO NOT USE IN PRODUCTION.
Passed tests/study/functional/test_study.py::test_post_study 0.61
No log output captured.
Passed tests/study/functional/test_study_decorators.py::test_valid_participant_required_invalid 1.03
-----------------------------Captured stdout setup------------------------------
THIS APP IS IN TEST CONFIGURATION. DO NOT USE IN PRODUCTION.
Passed tests/study/functional/test_study_decorators.py::test_valid_participant_required_valid 0.69
No log output captured.
Passed tests/study/functional/test_study_decorators.py::test_check_complete_study 0.99
No log output captured.
Passed tests/study/functional/test_study_decorators.py::test_participant_required 0.69
No log output captured.
Passed tests/study/functional/test_study_decorators.py::test_complete_info_form_required 0.69
No log output captured.
Passed tests/study/functional/test_study_decorators.py::test_check_not_completed_study 0.76
No log output captured.
Passed tests/study/functional/test_user_info.py::test_get_user_info 0.90
-----------------------------Captured stdout setup------------------------------
THIS APP IS IN TEST CONFIGURATION. DO NOT USE IN PRODUCTION.
Passed tests/study/functional/test_user_info.py::test_post_user_info 0.52
No log output captured.