[
  "cc_modules/tests/cc_all_models_tests.py::ModelTests::test_show_ddl",
  "cc_modules/tests/cc_blob_tests.py::BlobTests::test_blob",
  "cc_modules/tests/cc_client_api_helpers_tests.py::EmailValidatorTests::test_email_validator",
  "cc_modules/tests/cc_config_tests.py::EmailConfigTests::test_export_recipients_use_site_email_config",
  "cc_modules/tests/cc_device_tests.py::DeviceTests::test_device",
  "cc_modules/tests/cc_dump_tests.py::CopyTasksAndSummariesTests::test_has_extra_id_num_columns",
  "cc_modules/tests/cc_dump_tests.py::CopyTasksAndSummariesTests::test_has_extra_summary_tables",
  "cc_modules/tests/cc_dump_tests.py::CopyTasksAndSummariesTests::test_has_extra_task_xref_columns",
  "cc_modules/tests/cc_dump_tests.py::CopyTasksAndSummariesTests::test_patient_has_extra_id_num_columns",
  "cc_modules/tests/cc_dump_tests.py::CopyTasksAndSummariesTests::test_summary_fields_copied",
  "cc_modules/tests/cc_dump_tests.py::CopyTasksAndSummariesTests::test_task_copied",
  "cc_modules/tests/cc_dump_tests.py::CopyTasksAndSummariesTests::test_task_fields_copied",
  "cc_modules/tests/cc_dump_tests.py::GenAllDestColumnsTests::test_omits_irrelevant_columns",
  "cc_modules/tests/cc_dump_tests.py::GenAllDestColumnsTests::test_omits_irrelevant_tables",
  "cc_modules/tests/cc_dump_tests.py::GetDestTableForEstTests::test_appends_extra_id_columns",
  "cc_modules/tests/cc_dump_tests.py::GetDestTableForEstTests::test_appends_extra_task_xref_columns",
  "cc_modules/tests/cc_dump_tests.py::GetDestTableForEstTests::test_copies_table_with_subset_of_columns",
  "cc_modules/tests/cc_dump_tests.py::GetDestTableForSrcObjectTests::test_copies_column_comment_for_foreign_key",
  "cc_modules/tests/cc_dump_tests.py::GetDestTableForSrcObjectTests::test_copies_column_comments",
  "cc_modules/tests/cc_dump_tests.py::GetDestTableForSrcObjectTests::test_copies_column_info_for_foreign_key",
  "cc_modules/tests/cc_dump_tests.py::GetDestTableForSrcObjectTests::test_copies_table_with_subset_of_columns",
  "cc_modules/tests/cc_dump_tests.py::GetDestTableForSrcObjectTests::test_foreign_keys_are_empty_set",
  "cc_modules/tests/cc_dump_tests.py::GetDestTableForSrcObjectTests::test_has_extra_id_columns",
  "cc_modules/tests/cc_dump_tests.py::GetDestTableForSrcObjectTests::test_has_extra_id_num_columns",
  "cc_modules/tests/cc_dump_tests.py::GetDestTableForSrcObjectTests::test_returns_table",
  "cc_modules/tests/cc_dump_tests.py::GetDestTableForSrcObjectTests::test_skips_irrelevant_columns",
  "cc_modules/tests/cc_dump_tests.py::GetDestTableForSrcObjectTests::test_tablet_record_includes_summaries",
  "cc_modules/tests/cc_dump_tests.py::GetDestTableForSrcObjectTests::test_task_descendant_has_extra_task_xref_columns",
  "cc_modules/tests/cc_export_tests.py::ExportTests::test_directory_safety",
  "cc_modules/tests/cc_exportrecipient_tests.py::ExportRecipientTests::test_there_can_only_be_one_current_recipient",
  "cc_modules/tests/cc_exportrecipientinfo_tests.py::ExportRecipientInfoTests::test_non_export_recipient_not_equal",
  "cc_modules/tests/cc_exportrecipientinfo_tests.py::ExportRecipientInfoTests::test_objects_with_different_attributes_not_equal",
  "cc_modules/tests/cc_exportrecipientinfo_tests.py::ExportRecipientInfoTests::test_objects_with_different_ignored_attributes_equal",
  "cc_modules/tests/cc_exportrecipientinfo_tests.py::ExportRecipientInfoTests::test_objects_with_same_attributes_equal",
  "cc_modules/tests/cc_fhir_tests.py::FhirTaskExporterAnonymousTests::test_questionnaire_exported",
  "cc_modules/tests/cc_fhir_tests.py::FhirTaskExporterAnonymousTests::test_questionnaire_response_exported",
  "cc_modules/tests/cc_fhir_tests.py::FhirTaskExporterBMITests::test_observations",
  "cc_modules/tests/cc_fhir_tests.py::FhirTaskExporterDiagnosisIcd10Tests::test_observations",
  "cc_modules/tests/cc_fhir_tests.py::FhirTaskExporterDiagnosisIcd9CMTests::test_observations",
  "cc_modules/tests/cc_fhir_tests.py::FhirTaskExporterGad7Tests::test_observations",
  "cc_modules/tests/cc_fhir_tests.py::FhirTaskExporterPhq9Tests::test_exported_task_saved",
  "cc_modules/tests/cc_fhir_tests.py::FhirTaskExporterPhq9Tests::test_patient_exported",
  "cc_modules/tests/cc_fhir_tests.py::FhirTaskExporterPhq9Tests::test_questionnaire_exported",
  "cc_modules/tests/cc_fhir_tests.py::FhirTaskExporterPhq9Tests::test_questionnaire_response_exported",
  "cc_modules/tests/cc_fhir_tests.py::FhirTaskExporterPhq9Tests::test_raises_for_missing_api_url",
  "cc_modules/tests/cc_fhir_tests.py::FhirTaskExporterPhq9Tests::test_raises_when_fhirclient_raises",
  "cc_modules/tests/cc_fhir_tests.py::FhirTaskExporterPhq9Tests::test_raises_when_http_error",
  "cc_modules/tests/cc_fhir_tests.py::FhirTaskExporterPhq9Tests::test_raises_when_no_server",
  "cc_modules/tests/cc_fhir_tests.py::FhirTaskExporterPhq9Tests::test_raises_when_task_does_not_support",
  "cc_modules/tests/cc_fhir_tests.py::FhirTaskExporterTests::test_exported_task_saved",
  "cc_modules/tests/cc_fhir_tests.py::FhirTaskExporterTests::test_patient_exported_with_phq9",
  "cc_modules/tests/cc_fhir_tests.py::FhirTaskExporterTests::test_questionnaire_exported_with_phq9",
  "cc_modules/tests/cc_fhir_tests.py::FhirTaskExporterTests::test_questionnaire_response_exported_with_phq9",
  "cc_modules/tests/cc_fhir_tests.py::FhirTaskExporterTests::test_raises_for_missing_api_url",
  "cc_modules/tests/cc_fhir_tests.py::FhirTaskExporterTests::test_raises_when_http_error",
  "cc_modules/tests/cc_fhir_tests.py::FhirTaskExporterTests::test_raises_when_task_does_not_support",
  "cc_modules/tests/cc_fhir_tests.py::FhirTaskExporterTests::test_raises_with_client_exception",
  "cc_modules/tests/cc_formatter_tests.py::SafeFormatterTests::test_format_raises_with_disallowed_keys",
  "cc_modules/tests/cc_formatter_tests.py::SafeFormatterTests::test_formats_with_allowed_keys",
  "cc_modules/tests/cc_formatter_tests.py::SafeFormatterTests::test_returns_valid_parameters_string",
  "cc_modules/tests/cc_formatter_tests.py::SafeFormatterTests::test_validate_raises_key_error_for_unknown_key",
  "cc_modules/tests/cc_formatter_tests.py::SafeFormatterTests::test_validate_raises_value_error_for_mismatched_brackets",
  "cc_modules/tests/cc_forms_tests.py::DurationTypeTests::test_deserialize_ignores_invalid_days",
  "cc_modules/tests/cc_forms_tests.py::DurationTypeTests::test_deserialize_ignores_invalid_months",
  "cc_modules/tests/cc_forms_tests.py::DurationTypeTests::test_deserialize_ignores_invalid_weeks",
  "cc_modules/tests/cc_forms_tests.py::DurationTypeTests::test_deserialize_none_returns_null",
  "cc_modules/tests/cc_forms_tests.py::DurationTypeTests::test_deserialize_valid_duration",
  "cc_modules/tests/cc_forms_tests.py::DurationTypeTests::test_serialize_null_returns_null",
  "cc_modules/tests/cc_forms_tests.py::DurationTypeTests::test_serialize_valid_duration",
  "cc_modules/tests/cc_forms_tests.py::DurationWidgetTests::test_deserialize_defaults_to_zero_days",
  "cc_modules/tests/cc_forms_tests.py::DurationWidgetTests::test_deserialize_fails_validation",
  "cc_modules/tests/cc_forms_tests.py::DurationWidgetTests::test_deserialize_returns_valid_values",
  "cc_modules/tests/cc_forms_tests.py::DurationWidgetTests::test_serialize_none_defaults_to_blank_values",
  "cc_modules/tests/cc_forms_tests.py::DurationWidgetTests::test_serialize_renders_readonly_template_if_widget_is_readonly",
  "cc_modules/tests/cc_forms_tests.py::DurationWidgetTests::test_serialize_renders_readonly_template_with_values",
  "cc_modules/tests/cc_forms_tests.py::DurationWidgetTests::test_serialize_renders_template_with_values",
  "cc_modules/tests/cc_forms_tests.py::DurationWidgetTests::test_serialize_with_null_defaults_to_blank_values",
  "cc_modules/tests/cc_forms_tests.py::EditMfaSchemaTests::test_invalid_for_hotp_email_with_no_user_email",
  "cc_modules/tests/cc_forms_tests.py::EditMfaSchemaTests::test_invalid_for_hotp_sms_with_no_user_phone_number",
  "cc_modules/tests/cc_forms_tests.py::EditPatientSchemaTests::test_raises_when_patient_does_not_meet_finalize_id_policy",
  "cc_modules/tests/cc_forms_tests.py::EditPatientSchemaTests::test_raises_when_patient_exists_in_group_",
  "cc_modules/tests/cc_forms_tests.py::EditServerCreatedPatientSchemaTests::test_raises_when_patient_does_not_meet_finalize_id_policy",
  "cc_modules/tests/cc_forms_tests.py::EditServerCreatedPatientSchemaTests::test_raises_when_patient_exists_in_group_",
  "cc_modules/tests/cc_forms_tests.py::EditUserAuthenticationSchemaTests::test_invalid_for_empty_password_when_change_true",
  "cc_modules/tests/cc_forms_tests.py::EditUserAuthenticationSchemaTests::test_valid_for_empty_password_when_change_false",
  "cc_modules/tests/cc_forms_tests.py::GroupIpUseWidgetTests::test_deserialize_converts_to_bool_values",
  "cc_modules/tests/cc_forms_tests.py::GroupIpUseWidgetTests::test_deserialize_with_null_defaults_to_false_values",
  "cc_modules/tests/cc_forms_tests.py::GroupIpUseWidgetTests::test_serialize_readonly_widget_renders_readonly_template",
  "cc_modules/tests/cc_forms_tests.py::GroupIpUseWidgetTests::test_serialize_renders_readonly_template",
  "cc_modules/tests/cc_forms_tests.py::GroupIpUseWidgetTests::test_serialize_renders_template_with_values",
  "cc_modules/tests/cc_forms_tests.py::GroupIpUseWidgetTests::test_serialize_with_none_defaults_to_false_values",
  "cc_modules/tests/cc_forms_tests.py::GroupIpUseWidgetTests::test_serialize_with_null_defaults_to_false_values",
  "cc_modules/tests/cc_forms_tests.py::IpUseTypeTests::test_deserialize_none_returns_none",
  "cc_modules/tests/cc_forms_tests.py::IpUseTypeTests::test_deserialize_null_returns_none",
  "cc_modules/tests/cc_forms_tests.py::IpUseTypeTests::test_deserialize_returns_ip_use_object",
  "cc_modules/tests/cc_forms_tests.py::JsonTypeTests::test_deserialize_invalid_json_returns_none",
  "cc_modules/tests/cc_forms_tests.py::JsonTypeTests::test_deserialize_none_returns_null",
  "cc_modules/tests/cc_forms_tests.py::JsonTypeTests::test_deserialize_null_returns_none",
  "cc_modules/tests/cc_forms_tests.py::JsonTypeTests::test_deserialize_valid_json",
  "cc_modules/tests/cc_forms_tests.py::JsonTypeTests::test_serialize_null_returns_null",
  "cc_modules/tests/cc_forms_tests.py::JsonTypeTests::test_serialize_valid_appstruct",
  "cc_modules/tests/cc_forms_tests.py::JsonWidgetTests::test_deserialize_defaults_to_empty_json_string",
  "cc_modules/tests/cc_forms_tests.py::JsonWidgetTests::test_deserialize_invalid_json_fails_validation",
  "cc_modules/tests/cc_forms_tests.py::JsonWidgetTests::test_deserialize_passes_json",
  "cc_modules/tests/cc_forms_tests.py::JsonWidgetTests::test_serialize_renders_readonly_template_if_widget_is_readonly",
  "cc_modules/tests/cc_forms_tests.py::JsonWidgetTests::test_serialize_renders_readonly_template_with_values",
  "cc_modules/tests/cc_forms_tests.py::JsonWidgetTests::test_serialize_renders_template_with_values",
  "cc_modules/tests/cc_forms_tests.py::JsonWidgetTests::test_serialize_with_null_defaults_to_empty_string",
  "cc_modules/tests/cc_forms_tests.py::LoginSchemaTests::test_serialize_deserialize",
  "cc_modules/tests/cc_forms_tests.py::MfaSecretWidgetTests::test_serialize_readonly_widget_renders_readonly_template",
  "cc_modules/tests/cc_forms_tests.py::MfaSecretWidgetTests::test_serialize_renders_readonly_template",
  "cc_modules/tests/cc_forms_tests.py::MfaSecretWidgetTests::test_serialize_renders_template_with_values",
  "cc_modules/tests/cc_forms_tests.py::PhoneNumberTypeDeserializeTests::test_raises_for_invalid_parsable_number",
  "cc_modules/tests/cc_forms_tests.py::PhoneNumberTypeDeserializeTests::test_raises_for_unparsable_number",
  "cc_modules/tests/cc_forms_tests.py::PhoneNumberTypeDeserializeTests::test_returns_null_for_null_cstruct",
  "cc_modules/tests/cc_forms_tests.py::PhoneNumberTypeDeserializeTests::test_returns_valid_phone_number",
  "cc_modules/tests/cc_forms_tests.py::PhoneNumberTypeMandatoryDeserializeTests::test_raises_for_appstruct_none",
  "cc_modules/tests/cc_forms_tests.py::PhoneNumberTypeSerializeTests::test_returns_null_for_appstruct_none",
  "cc_modules/tests/cc_forms_tests.py::PhoneNumberTypeSerializeTests::test_returns_number_formatted_e164",
  "cc_modules/tests/cc_forms_tests.py::TaskScheduleItemSchemaIpTests::test_invalid_for_clinical_mismatch",
  "cc_modules/tests/cc_forms_tests.py::TaskScheduleItemSchemaIpTests::test_invalid_for_commercial_mismatch",
  "cc_modules/tests/cc_forms_tests.py::TaskScheduleItemSchemaIpTests::test_invalid_for_educational_mismatch",
  "cc_modules/tests/cc_forms_tests.py::TaskScheduleItemSchemaIpTests::test_invalid_for_missing_ip_use",
  "cc_modules/tests/cc_forms_tests.py::TaskScheduleItemSchemaIpTests::test_invalid_for_research_mismatch",
  "cc_modules/tests/cc_forms_tests.py::TaskScheduleItemSchemaTests::test_invalid_for_clinician_task_with_no_confirmation",
  "cc_modules/tests/cc_forms_tests.py::TaskScheduleItemSchemaTests::test_invalid_for_negative_due_from",
  "cc_modules/tests/cc_forms_tests.py::TaskScheduleItemSchemaTests::test_invalid_for_negative_due_within",
  "cc_modules/tests/cc_forms_tests.py::TaskScheduleItemSchemaTests::test_invalid_for_zero_due_within",
  "cc_modules/tests/cc_forms_tests.py::TaskScheduleItemSchemaTests::test_serialize_deserialize",
  "cc_modules/tests/cc_forms_tests.py::TaskScheduleItemSchemaTests::test_valid_for_clinician_task_with_confirmation",
  "cc_modules/tests/cc_forms_tests.py::TaskScheduleNodeTests::test_deserialize_not_a_json_object_fails_validation",
  "cc_modules/tests/cc_forms_tests.py::TaskScheduleNodeTests::test_schedule_selector_has_only_users_schedules",
  "cc_modules/tests/cc_forms_tests.py::TaskScheduleSchemaTests::test_invalid_for_bad_template_placeholder",
  "cc_modules/tests/cc_forms_tests.py::TaskScheduleSchemaTests::test_invalid_for_mismatched_braces",
  "cc_modules/tests/cc_forms_tests.py::TaskScheduleSchemaTests::test_schedule_selector_has_only_users_schedules",
  "cc_modules/tests/cc_forms_tests.py::TaskScheduleSelectorTests::test_displays_only_users_schedules",
  "cc_modules/tests/cc_hl7_tests.py::HL7CoreTests::test_hl7core_func",
  "cc_modules/tests/cc_patient_tests.py::DuplicatesTests::test_different_device_not_in_duplicates",
  "cc_modules/tests/cc_patient_tests.py::DuplicatesTests::test_different_era_not_in_duplicates",
  "cc_modules/tests/cc_patient_tests.py::DuplicatesTests::test_different_group_not_in_duplicates",
  "cc_modules/tests/cc_patient_tests.py::DuplicatesTests::test_different_type_not_in_duplicates",
  "cc_modules/tests/cc_patient_tests.py::DuplicatesTests::test_different_type_same_value_not_in_duplicates",
  "cc_modules/tests/cc_patient_tests.py::DuplicatesTests::test_different_value_not_in_duplicates",
  "cc_modules/tests/cc_patient_tests.py::DuplicatesTests::test_duplicates_include_duplicate_idnum_on_single_patient",
  "cc_modules/tests/cc_patient_tests.py::DuplicatesTests::test_matching_patient_in_duplicates",
  "cc_modules/tests/cc_patient_tests.py::DuplicatesTests::test_not_current_not_in_duplicates",
  "cc_modules/tests/cc_patient_tests.py::DuplicatesTests::test_self_not_in_duplicates",
  "cc_modules/tests/cc_patient_tests.py::EquivalenceTests::test_different_idnum_false",
  "cc_modules/tests/cc_patient_tests.py::EquivalenceTests::test_not_a_patient_false",
  "cc_modules/tests/cc_patient_tests.py::EquivalenceTests::test_null_device_false",
  "cc_modules/tests/cc_patient_tests.py::EquivalenceTests::test_null_era_false",
  "cc_modules/tests/cc_patient_tests.py::EquivalenceTests::test_null_id_false",
  "cc_modules/tests/cc_patient_tests.py::EquivalenceTests::test_same_id_device_era_true",
  "cc_modules/tests/cc_patient_tests.py::EquivalenceTests::test_same_id_device_true",
  "cc_modules/tests/cc_patient_tests.py::EquivalenceTests::test_same_idnum_true",
  "cc_modules/tests/cc_patient_tests.py::EquivalenceTests::test_same_object_true",
  "cc_modules/tests/cc_patient_tests.py::LineageTests::test_gen_patient_idnums_even_noncurrent",
  "cc_modules/tests/cc_patient_tests.py::PatientDeleteTests::test_deletes_patient_task_schedule",
  "cc_modules/tests/cc_patient_tests.py::PatientDeleteTests::test_deleting_patient_deletes_patient_task_schedule",
  "cc_modules/tests/cc_patient_tests.py::PatientPermissionTests::test_group_administrator_may_edit",
  "cc_modules/tests/cc_patient_tests.py::PatientPermissionTests::test_group_administrator_may_edit_finalized",
  "cc_modules/tests/cc_patient_tests.py::PatientPermissionTests::test_group_administrator_may_edit_finalized_patient",
  "cc_modules/tests/cc_patient_tests.py::PatientPermissionTests::test_group_administrator_may_edit_server_created",
  "cc_modules/tests/cc_patient_tests.py::PatientPermissionTests::test_group_administrator_may_edit_server_patient",
  "cc_modules/tests/cc_patient_tests.py::PatientPermissionTests::test_group_member_with_permission_may_edit",
  "cc_modules/tests/cc_patient_tests.py::PatientPermissionTests::test_group_member_with_permission_may_edit_server_created",
  "cc_modules/tests/cc_patient_tests.py::PatientPermissionTests::test_group_member_with_permission_may_not_edit_finalized",
  "cc_modules/tests/cc_patient_tests.py::PatientTests::test_patient",
  "cc_modules/tests/cc_patient_tests.py::PatientTests::test_surname_forename_upper",
  "cc_modules/tests/cc_patient_tests.py::PatientTests::test_surname_forename_upper_no_forename",
  "cc_modules/tests/cc_patient_tests.py::PatientTests::test_surname_forename_upper_no_surname",
  "cc_modules/tests/cc_patientidnum_tests.py::EquivalenceTests::test_different_idnum_false",
  "cc_modules/tests/cc_patientidnum_tests.py::EquivalenceTests::test_not_a_patientidnum_false",
  "cc_modules/tests/cc_patientidnum_tests.py::EquivalenceTests::test_one_idnum_value_none_false",
  "cc_modules/tests/cc_patientidnum_tests.py::EquivalenceTests::test_one_which_idnum_none_false",
  "cc_modules/tests/cc_patientidnum_tests.py::EquivalenceTests::test_same_idnum_true",
  "cc_modules/tests/cc_patientidnum_tests.py::EquivalenceTests::test_same_object_true",
  "cc_modules/tests/cc_patientidnum_tests.py::PatientIdNumTests::test_two_idnums_can_exist_for_different_groups_on_server",
  "cc_modules/tests/cc_patientidnum_tests.py::PatientIdNumTests::test_two_idnums_can_exist_for_same_group_on_other_device",
  "cc_modules/tests/cc_patientidnum_tests.py::PatientIdNumTests::test_two_idnums_cannot_exist_for_same_group_on_server",
  "cc_modules/tests/cc_policy_tests.py::PolicyTests::test_policies",
  "cc_modules/tests/cc_proquint_tests.py::ProquintTest::test_int_encoded_as_proquint",
  "cc_modules/tests/cc_proquint_tests.py::ProquintTest::test_ints_converted_to_proquints_and_back",
  "cc_modules/tests/cc_proquint_tests.py::ProquintTest::test_proquint_decoded_as_int",
  "cc_modules/tests/cc_proquint_tests.py::ProquintTest::test_proquint_decoded_as_uuid",
  "cc_modules/tests/cc_proquint_tests.py::ProquintTest::test_raises_when_bits_not_multiple_of_16",
  "cc_modules/tests/cc_proquint_tests.py::ProquintTest::test_raises_when_check_character_doesnt_match",
  "cc_modules/tests/cc_proquint_tests.py::ProquintTest::test_raises_when_proquint_has_chars_in_wrong_order",
  "cc_modules/tests/cc_proquint_tests.py::ProquintTest::test_raises_when_proquint_has_invalid_chars",
  "cc_modules/tests/cc_proquint_tests.py::ProquintTest::test_uuid_encoded_as_proquint",
  "cc_modules/tests/cc_pyramid_tests.py::CamcopsAuthenticationPolicyTests::test_principals_for_authenticated_user",
  "cc_modules/tests/cc_pyramid_tests.py::CamcopsAuthenticationPolicyTests::test_principals_for_groupadmin",
  "cc_modules/tests/cc_pyramid_tests.py::CamcopsAuthenticationPolicyTests::test_principals_for_no_user",
  "cc_modules/tests/cc_pyramid_tests.py::CamcopsAuthenticationPolicyTests::test_principals_for_superuser",
  "cc_modules/tests/cc_pyramid_tests.py::CamcopsAuthenticationPolicyTests::test_principals_when_agreed_terms_and_password_ok",
  "cc_modules/tests/cc_pyramid_tests.py::CamcopsAuthenticationPolicyTests::test_principals_when_everything_ok",
  "cc_modules/tests/cc_pyramid_tests.py::CamcopsAuthenticationPolicyTests::test_principals_when_user_must_agree_terms",
  "cc_modules/tests/cc_pyramid_tests.py::CamcopsAuthenticationPolicyTests::test_principals_when_user_must_change_pasword",
  "cc_modules/tests/cc_pyramid_tests.py::CamcopsAuthenticationPolicyTests::test_principals_when_user_must_set_up_mfa",
  "cc_modules/tests/cc_redcap_tests.py::AnonymousTaskRedcapTests::test_raises_when_task_is_anonymous",
  "cc_modules/tests/cc_redcap_tests.py::BmiRedcapExportTests::test_record_exported",
  "cc_modules/tests/cc_redcap_tests.py::BmiRedcapExportTests::test_record_exported_with_non_integer_id",
  "cc_modules/tests/cc_redcap_tests.py::BmiRedcapExportTests::test_record_id_generated_when_no_autonumbering",
  "cc_modules/tests/cc_redcap_tests.py::BmiRedcapExportTests::test_record_imported_when_no_existing_records",
  "cc_modules/tests/cc_redcap_tests.py::BmiRedcapUpdateTests::test_existing_record_id_used_for_update",
  "cc_modules/tests/cc_redcap_tests.py::IncorrectPatientIdRedcapTests::test_raises_when_patient_id_is_incorrect",
  "cc_modules/tests/cc_redcap_tests.py::IncorrectRecordIdRedcapTests::test_raises_when_record_id_is_incorrect",
  "cc_modules/tests/cc_redcap_tests.py::MedicationTherapyRedcapExportTests::test_record_exported",
  "cc_modules/tests/cc_redcap_tests.py::MissingEventRedcapTests::test_raises_for_longitudinal_project",
  "cc_modules/tests/cc_redcap_tests.py::MissingInstrumentEventRedcapTests::test_raises_when_instrument_missing_event",
  "cc_modules/tests/cc_redcap_tests.py::MissingInstrumentRedcapTests::test_raises_when_instrument_missing_from_fieldmap",
  "cc_modules/tests/cc_redcap_tests.py::MissingPatientInstrumentRedcapTests::test_raises_when_instrument_is_missing",
  "cc_modules/tests/cc_redcap_tests.py::MultipleTaskRedcapExportTests::test_imported_into_different_events",
  "cc_modules/tests/cc_redcap_tests.py::MultipleTaskRedcapExportTests::test_instance_ids_on_different_tasks_in_same_record",
  "cc_modules/tests/cc_redcap_tests.py::Phq9RedcapExportTests::test_record_exported",
  "cc_modules/tests/cc_redcap_tests.py::RedcapExportErrorTests::test_raises_when_error_from_redcap_on_import",
  "cc_modules/tests/cc_redcap_tests.py::RedcapExportErrorTests::test_raises_when_error_from_redcap_on_import_file",
  "cc_modules/tests/cc_redcap_tests.py::RedcapExportErrorTests::test_raises_when_error_from_redcap_on_init",
  "cc_modules/tests/cc_redcap_tests.py::RedcapExportErrorTests::test_raises_when_field_not_a_file_field",
  "cc_modules/tests/cc_redcap_tests.py::RedcapExportErrorTests::test_raises_when_fieldmap_empty_in_config",
  "cc_modules/tests/cc_redcap_tests.py::RedcapExportErrorTests::test_raises_when_fieldmap_has_unknown_symbols",
  "cc_modules/tests/cc_redcap_tests.py::RedcapExportErrorTests::test_raises_when_fieldmap_not_set_in_config",
  "cc_modules/tests/cc_redcap_tests.py::RedcapExporterTests::test_next_instance_id_converted_to_int",
  "cc_modules/tests/cc_redcap_tests.py::RedcapFieldmapTests::test_raises_when_fieldmap_missing",
  "cc_modules/tests/cc_redcap_tests.py::RedcapFieldmapTests::test_raises_when_fields_missing_attributes",
  "cc_modules/tests/cc_redcap_tests.py::RedcapFieldmapTests::test_raises_when_file_fields_missing_attributes",
  "cc_modules/tests/cc_redcap_tests.py::RedcapFieldmapTests::test_raises_when_instruments_missing",
  "cc_modules/tests/cc_redcap_tests.py::RedcapFieldmapTests::test_raises_when_instruments_missing_attributes",
  "cc_modules/tests/cc_redcap_tests.py::RedcapFieldmapTests::test_raises_when_patient_missing",
  "cc_modules/tests/cc_redcap_tests.py::RedcapFieldmapTests::test_raises_when_patient_missing_attributes",
  "cc_modules/tests/cc_redcap_tests.py::RedcapFieldmapTests::test_raises_when_record_missing",
  "cc_modules/tests/cc_redcap_tests.py::RedcapFieldmapTests::test_raises_when_record_missing_attributes",
  "cc_modules/tests/cc_redcap_tests.py::RedcapFieldmapTests::test_raises_when_root_tag_missing",
  "cc_modules/tests/cc_redcap_tests.py::RedcapFieldmapTests::test_raises_when_xml_file_missing",
  "cc_modules/tests/cc_report_tests.py::AllReportTests::test_reports",
  "cc_modules/tests/cc_report_tests.py::ReportSpreadsheetTests::test_render_ods",
  "cc_modules/tests/cc_report_tests.py::ReportSpreadsheetTests::test_render_tsv",
  "cc_modules/tests/cc_report_tests.py::ReportSpreadsheetTests::test_render_xlsx",
  "cc_modules/tests/cc_request_tests.py::RequestTests::test_gettext_danish",
  "cc_modules/tests/cc_request_tests.py::RequestTests::test_language_iso_639_1_returns_default_if_no_user",
  "cc_modules/tests/cc_request_tests.py::RequestTests::test_language_iso_639_1_returns_default_if_users_not_set",
  "cc_modules/tests/cc_request_tests.py::RequestTests::test_language_iso_639_1_returns_default_if_users_not_valid",
  "cc_modules/tests/cc_request_tests.py::RequestTests::test_language_iso_639_1_returns_users_if_set",
  "cc_modules/tests/cc_request_tests.py::RequestTests::test_language_returns_default_if_no_user",
  "cc_modules/tests/cc_request_tests.py::RequestTests::test_language_returns_default_if_users_not_set",
  "cc_modules/tests/cc_request_tests.py::RequestTests::test_language_returns_default_if_users_not_valid",
  "cc_modules/tests/cc_request_tests.py::RequestTests::test_language_returns_users_if_set",
  "cc_modules/tests/cc_session_tests.py::GetSessionTests::test_new_session_for_different_ip_when_ip_checked",
  "cc_modules/tests/cc_session_tests.py::GetSessionTests::test_new_session_for_different_ip_when_not_hopping",
  "cc_modules/tests/cc_session_tests.py::GetSessionTests::test_new_session_returned_for_different_ip",
  "cc_modules/tests/cc_session_tests.py::GetSessionTests::test_old_session_for_different_ip_when_hopping",
  "cc_modules/tests/cc_session_tests.py::GetSessionTests::test_old_session_for_different_ip_when_ip_ignored",
  "cc_modules/tests/cc_session_tests.py::GetSessionTests::test_old_session_for_same_ip",
  "cc_modules/tests/cc_session_tests.py::GetSessionTests::test_old_session_returned_for_same_ip",
  "cc_modules/tests/cc_session_tests.py::SessionTests::test_sessions",
  "cc_modules/tests/cc_sms_tests.py::ConsoleSmsBackendTests::test_sends_sms",
  "cc_modules/tests/cc_sms_tests.py::KapowSmsBackendTests::test_sends_sms",
  "cc_modules/tests/cc_sms_tests.py::SmsSenderTests::test_sends_sms_via_kapow",
  "cc_modules/tests/cc_sms_tests.py::TwilioSmsBackendTests::test_backend_creates_client",
  "cc_modules/tests/cc_sms_tests.py::TwilioSmsBackendTests::test_sends_sms",
  "cc_modules/tests/cc_spreadsheet_tests.py::SpreadsheetCollectionTests::test_ods_page_name_sanitised",
  "cc_modules/tests/cc_spreadsheet_tests.py::SpreadsheetCollectionTests::test_uuid_exported_to_ods_as_string",
  "cc_modules/tests/cc_spreadsheet_tests.py::SpreadsheetCollectionTests::test_uuid_exported_to_xlsx_as_string",
  "cc_modules/tests/cc_spreadsheet_tests.py::SpreadsheetCollectionTests::test_worksheet_names_are_not_duplicated",
  "cc_modules/tests/cc_spreadsheet_tests.py::SpreadsheetCollectionTests::test_xlsx_created_from_zero_rows",
  "cc_modules/tests/cc_spreadsheet_tests.py::SpreadsheetCollectionTests::test_xlsx_invalid_chars_in_page_name_replaced",
  "cc_modules/tests/cc_spreadsheet_tests.py::SpreadsheetCollectionTests::test_xlsx_page_name_exactly_31_chars_not_truncated",
  "cc_modules/tests/cc_spreadsheet_tests.py::SpreadsheetCollectionTests::test_xlsx_page_name_over_31_chars_truncated",
  "cc_modules/tests/cc_spreadsheet_tests.py::SpreadsheetCollectionTests::test_xlsx_worksheet_names_are_page_names",
  "cc_modules/tests/cc_sqla_coltypes_tests.py::GenCamcopsBlobColumnsTests::test_returns_camcops_columns",
  "cc_modules/tests/cc_sqla_coltypes_tests.py::GenCamcopsColumnsTests::test_returns_camcops_columns",
  "cc_modules/tests/cc_sqla_coltypes_tests.py::GenColumnsMatchingAttrnamesTests::test_returns_matching_columns",
  "cc_modules/tests/cc_sqla_coltypes_tests.py::PendulumDateTimeAsIsoTextColTypeTest::test_iso_datetime_field",
  "cc_modules/tests/cc_sqla_coltypes_tests.py::PendulumDurationAsIsoTextColTypeTest::test_iso_duration_field",
  "cc_modules/tests/cc_sqla_coltypes_tests.py::PermittedValueFailureMsgsTests::test_returns_failure_messages",
  "cc_modules/tests/cc_sqla_coltypes_tests.py::PermittedValuesOkTests::test_returns_false_if_not_ok",
  "cc_modules/tests/cc_sqla_coltypes_tests.py::PermittedValuesOkTests::test_returns_true_if_ok",
  "cc_modules/tests/cc_sqla_coltypes_tests.py::PhoneNumberColTypeTest::test_phone_number_field",
  "cc_modules/tests/cc_sqla_coltypes_tests.py::SemanticVersionColTypeTest::test_semantic_version_field",
  "cc_modules/tests/cc_sqla_coltypes_tests.py::SqlaColtypesTest::test_iso_datetime_field",
  "cc_modules/tests/cc_sqla_coltypes_tests.py::SqlaColtypesTest::test_iso_duration_field",
  "cc_modules/tests/cc_sqla_coltypes_tests.py::SqlaColtypesTest::test_phone_number_field",
  "cc_modules/tests/cc_sqla_coltypes_tests.py::SqlaColtypesTest::test_semantic_version_field",
  "cc_modules/tests/cc_task_collection_tests.py::TaskCollectionTests::test_it_can_be_serialized",
  "cc_modules/tests/cc_task_tests.py::TaskTests::test_all_tasks",
  "cc_modules/tests/cc_task_tests.py::TaskTests::test_query_phq9",
  "cc_modules/tests/cc_taskindex_tests.py::PatientIdNumIndexEntryTests::test_rebuild_idnum_index",
  "cc_modules/tests/cc_taskreports_tests.py::TaskCountReportNoIndexTests::test_task_counts_by_day",
  "cc_modules/tests/cc_taskreports_tests.py::TaskCountReportNoIndexTests::test_task_counts_by_day_of_month",
  "cc_modules/tests/cc_taskreports_tests.py::TaskCountReportNoIndexTests::test_task_counts_by_task",
  "cc_modules/tests/cc_taskreports_tests.py::TaskCountReportNoIndexTests::test_task_counts_by_user",
  "cc_modules/tests/cc_taskreports_tests.py::TaskCountReportNoIndexTests::test_task_counts_by_year",
  "cc_modules/tests/cc_taskreports_tests.py::TaskCountReportNoIndexTests::test_task_counts_by_year_and_month",
  "cc_modules/tests/cc_taskreports_tests.py::TaskCountReportNoIndexTests::test_total_task_count_for_superuser",
  "cc_modules/tests/cc_taskreports_tests.py::TaskCountReportTestBase::test_task_counts_by_task",
  "cc_modules/tests/cc_taskreports_tests.py::TaskCountReportTestBase::test_task_counts_by_user",
  "cc_modules/tests/cc_taskreports_tests.py::TaskCountReportTestBase::test_task_counts_by_year",
  "cc_modules/tests/cc_taskreports_tests.py::TaskCountReportTestBase::test_task_counts_by_year_and_month",
  "cc_modules/tests/cc_taskreports_tests.py::TaskCountReportTestBase::test_total_task_count_for_superuser",
  "cc_modules/tests/cc_taskreports_tests.py::TaskCountReportTests::test_column_names",
  "cc_modules/tests/cc_taskreports_tests.py::TaskCountReportTests::test_task_counts_by_task",
  "cc_modules/tests/cc_taskreports_tests.py::TaskCountReportTests::test_task_counts_by_user",
  "cc_modules/tests/cc_taskreports_tests.py::TaskCountReportTests::test_task_counts_by_user_for_regular_user",
  "cc_modules/tests/cc_taskreports_tests.py::TaskCountReportTests::test_task_counts_by_user_for_superuser",
  "cc_modules/tests/cc_taskreports_tests.py::TaskCountReportTests::test_task_counts_by_year",
  "cc_modules/tests/cc_taskreports_tests.py::TaskCountReportTests::test_task_counts_by_year_and_month",
  "cc_modules/tests/cc_taskreports_tests.py::TaskCountReportTests::test_total_task_count_for_superuser",
  "cc_modules/tests/cc_taskreports_tests.py::TaskCountReportWithIndexTests::test_task_counts_by_day",
  "cc_modules/tests/cc_taskreports_tests.py::TaskCountReportWithIndexTests::test_task_counts_by_day_of_month",
  "cc_modules/tests/cc_taskreports_tests.py::TaskCountReportWithIndexTests::test_task_counts_by_task",
  "cc_modules/tests/cc_taskreports_tests.py::TaskCountReportWithIndexTests::test_task_counts_by_user",
  "cc_modules/tests/cc_taskreports_tests.py::TaskCountReportWithIndexTests::test_task_counts_by_year",
  "cc_modules/tests/cc_taskreports_tests.py::TaskCountReportWithIndexTests::test_task_counts_by_year_and_month",
  "cc_modules/tests/cc_taskreports_tests.py::TaskCountReportWithIndexTests::test_total_task_count_for_superuser",
  "cc_modules/tests/cc_taskschedule_tests.py::PatientTaskScheduleTests::test_deleting_deletes_related_objects",
  "cc_modules/tests/cc_taskschedule_tests.py::PatientTaskScheduleTests::test_email_body_contains_access_key",
  "cc_modules/tests/cc_taskschedule_tests.py::PatientTaskScheduleTests::test_email_body_contains_android_launch_url",
  "cc_modules/tests/cc_taskschedule_tests.py::PatientTaskScheduleTests::test_email_body_contains_ios_launch_url",
  "cc_modules/tests/cc_taskschedule_tests.py::PatientTaskScheduleTests::test_email_body_contains_patient_email",
  "cc_modules/tests/cc_taskschedule_tests.py::PatientTaskScheduleTests::test_email_body_contains_patient_forename",
  "cc_modules/tests/cc_taskschedule_tests.py::PatientTaskScheduleTests::test_email_body_contains_patient_surname",
  "cc_modules/tests/cc_taskschedule_tests.py::PatientTaskScheduleTests::test_email_body_contains_server_url",
  "cc_modules/tests/cc_taskschedule_tests.py::PatientTaskScheduleTests::test_email_body_contains_subject",
  "cc_modules/tests/cc_taskschedule_tests.py::PatientTaskScheduleTests::test_email_body_disallows_accessing_properties",
  "cc_modules/tests/cc_taskschedule_tests.py::PatientTaskScheduleTests::test_email_body_disallows_invalid_template",
  "cc_modules/tests/cc_taskschedule_tests.py::PatientTaskScheduleTests::test_email_sent_false_for_no_emails",
  "cc_modules/tests/cc_taskschedule_tests.py::PatientTaskScheduleTests::test_email_sent_false_for_one_unsent_email",
  "cc_modules/tests/cc_taskschedule_tests.py::PatientTaskScheduleTests::test_email_sent_true_for_one_sent_email",
  "cc_modules/tests/cc_taskschedule_tests.py::PatientTaskScheduleTests::test_foo",
  "cc_modules/tests/cc_taskschedule_tests.py::PatientTaskScheduleTests::test_mailto_url_contains_access_key",
  "cc_modules/tests/cc_taskschedule_tests.py::PatientTaskScheduleTests::test_mailto_url_contains_patient_email",
  "cc_modules/tests/cc_taskschedule_tests.py::PatientTaskScheduleTests::test_mailto_url_contains_server_url",
  "cc_modules/tests/cc_taskschedule_tests.py::PatientTaskScheduleTests::test_mailto_url_contains_subject",
  "cc_modules/tests/cc_taskschedule_tests.py::PatientTaskScheduleTests::test_mailto_url_disallows_accessing_properties",
  "cc_modules/tests/cc_taskschedule_tests.py::PatientTaskScheduleTests::test_mailto_url_disallows_invalid_template",
  "cc_modules/tests/cc_taskschedule_tests.py::TaskScheduleItemTests::test_description_shows_shortname_and_number_of_days",
  "cc_modules/tests/cc_taskschedule_tests.py::TaskScheduleItemTests::test_description_with_no_durations",
  "cc_modules/tests/cc_taskschedule_tests.py::TaskScheduleItemTests::test_due_within_calculated_from_due_by_and_due_from",
  "cc_modules/tests/cc_taskschedule_tests.py::TaskScheduleItemTests::test_due_within_calculated_when_missing_due_from",
  "cc_modules/tests/cc_taskschedule_tests.py::TaskScheduleItemTests::test_due_within_is_none_when_missing_due_by",
  "cc_modules/tests/cc_taskschedule_tests.py::TaskScheduleTests::test_deleting_deletes_related_objects",
  "cc_modules/tests/cc_taskschedulereports_tests.py::InvitationCountReportTests::test_column_names",
  "cc_modules/tests/cc_taskschedulereports_tests.py::InvitationCountReportTests::test_counts_for_no_registered_patients",
  "cc_modules/tests/cc_taskschedulereports_tests.py::InvitationCountReportTests::test_counts_for_some_registered_patients",
  "cc_modules/tests/cc_taskschedulereports_tests.py::InvitationCountReportTests::test_email_counts",
  "cc_modules/tests/cc_taskschedulereports_tests.py::InvitationCountReportTests::test_it_generates_expected_rows_and_columns",
  "cc_modules/tests/cc_taskschedulereports_tests.py::InvitationCountReportTests::test_rows_and_columns_for_no_registered_patients",
  "cc_modules/tests/cc_taskschedulereports_tests.py::InvitationCountReportTests::test_rows_for_no_registered_patients",
  "cc_modules/tests/cc_taskschedulereports_tests.py::InvitationCountReportTests::test_rows_for_some_registered_patients",
  "cc_modules/tests/cc_taskschedulereports_tests.py::InvitationCountReportTests::test_task_and_patient_count_for_no_registered_patients",
  "cc_modules/tests/cc_taskschedulereports_tests.py::InvitationCountReportTests::test_task_and_patient_count_for_some_registered_patients",
  "cc_modules/tests/cc_taskschedulereports_tests.py::InvitationCountReportTests::test_task_patient_counts_for_no_registered_patients",
  "cc_modules/tests/cc_taskschedulereports_tests.py::InvitationCountReportTests::test_task_patient_counts_for_some_registered_patients",
  "cc_modules/tests/cc_taskschedulereports_tests.py::TaskAssignmentReportTests::test_column_names",
  "cc_modules/tests/cc_taskschedulereports_tests.py::TaskAssignmentReportTests::test_email_counts",
  "cc_modules/tests/cc_taskschedulereports_tests.py::TaskAssignmentReportTests::test_groups_restricted_to_non_superuser",
  "cc_modules/tests/cc_taskschedulereports_tests.py::TaskAssignmentReportTests::test_groups_restricted_when_not_superuser",
  "cc_modules/tests/cc_taskschedulereports_tests.py::TaskAssignmentReportTests::test_task_patient_counts_for_no_registered_patients",
  "cc_modules/tests/cc_taskschedulereports_tests.py::TaskAssignmentReportTests::test_task_patient_counts_for_some_registered_patients",
  "cc_modules/tests/cc_text_tests.py::TextTestCase::test_server_string",
  "cc_modules/tests/cc_tracker_tests.py::TrackerCtvTests::test_ctv",
  "cc_modules/tests/cc_tracker_tests.py::TrackerCtvTests::test_tracker",
  "cc_modules/tests/cc_tsv_tests.py::TsvCollectionTests::test_ods_page_name_sanitised",
  "cc_modules/tests/cc_tsv_tests.py::TsvCollectionTests::test_uuid_exported_to_ods_as_string",
  "cc_modules/tests/cc_tsv_tests.py::TsvCollectionTests::test_uuid_exported_to_xlsx_as_string",
  "cc_modules/tests/cc_tsv_tests.py::TsvCollectionTests::test_worksheet_names_are_not_duplicated",
  "cc_modules/tests/cc_tsv_tests.py::TsvCollectionTests::test_xlsx_created_from_zero_rows",
  "cc_modules/tests/cc_tsv_tests.py::TsvCollectionTests::test_xlsx_invalid_chars_in_page_name_replaced",
  "cc_modules/tests/cc_tsv_tests.py::TsvCollectionTests::test_xlsx_page_name_exactly_31_chars_not_truncated",
  "cc_modules/tests/cc_tsv_tests.py::TsvCollectionTests::test_xlsx_page_name_over_31_chars_truncated",
  "cc_modules/tests/cc_tsv_tests.py::TsvCollectionTests::test_xlsx_worksheet_names_are_page_names",
  "cc_modules/tests/cc_user_tests.py::SetGroupIdsTests::test_new_group_ids_added",
  "cc_modules/tests/cc_user_tests.py::SetGroupIdsTests::test_old_group_ids_removed",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_authorized_as_groupadmin",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_authorized_for_reports",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_authorized_to_add_special_note",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_authorized_to_dump",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_authorized_to_email_patients",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_authorized_to_manage_patients",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_group_ids_that_nonsuperuser_may_see_when_unfiltered",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_groupadmin_authorized_to_email_patients",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_groupadmin_authorized_to_erase_tasks",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_groupadmin_authorized_to_manage_patients",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_groupadmin_may_email_patients_in_group",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_groupadmin_may_manage_patients_in_group",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_groups_user_is_admin_for",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_groups_user_may_add_special_notes",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_groups_user_may_dump",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_groups_user_may_email_patients_in",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_groups_user_may_manage_patients_in",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_groups_user_may_report_on",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_groups_user_may_see_all_pts_when_unfiltered",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_groups_user_may_upload_into",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_ids_of_groups_super_user_may_report_on",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_ids_of_groups_superuser_is_admin_for",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_ids_of_groups_superuser_may_report_on",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_ids_of_groups_user_is_admin_for",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_ids_of_groups_user_may_report_on",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_is_a_group_admin",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_is_not_a_group_admin",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_may_not_register_devices_with_no_upload_group",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_may_not_register_devices_with_upload_group_but_no_permission",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_may_not_upload_to_group",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_may_not_upload_with_no_upload_group",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_may_not_upload_with_upload_group_but_no_permission",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_may_not_use_webviewer",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_may_not_view_all_patients_when_unfiltered",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_may_not_view_no_patients_when_unfiltered",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_may_register_devices_with_upload_group",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_may_upload_to_group",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_may_upload_to_upload_group",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_may_use_webviewer",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_may_view_all_patients_when_unfiltered",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_may_view_no_patients_when_unfiltered",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_membership_for_group_id",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_names_of_groups_superuser_is_admin_for",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_names_of_groups_user_is_admin_for",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_no_membership_for_group_id",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_non_admin_not_authorized_to_erase_tasks",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_non_member_not_authorized_to_erase_tasks",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_not_authorized_as_groupadmin",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_not_authorized_for_reports",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_not_authorized_to_add_special_note",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_not_authorized_to_dump",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_not_authorized_to_email_patients",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_not_authorized_to_manage_patients",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_superuser_authorized_as_groupadmin",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_superuser_authorized_for_reports",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_superuser_authorized_to_add_special_note",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_superuser_authorized_to_dump",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_superuser_authorized_to_email_patients",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_superuser_authorized_to_erase_tasks",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_superuser_authorized_to_manage_patients",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_superuser_may_administer_group",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_superuser_may_email_patients_in_group",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_superuser_may_manage_patients_in_group",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_superuser_may_not_register_devices_with_no_upload_group",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_superuser_may_not_view_no_patients_when_unfiltered",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_superuser_may_register_devices_with_upload_group",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_superuser_may_upload_to_group",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_superuser_may_use_webviewer",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_superuser_may_user_webviewer",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_superuser_may_view_all_patients_when_unfiltered",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_user_may_administer_group",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_user_may_email_patients_in_group",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_user_may_manage_patients_in_group",
  "cc_modules/tests/cc_user_tests.py::UserPermissionTests::test_user_may_use_webviewer",
  "cc_modules/tests/cc_user_tests.py::UserTests::test_partial_email",
  "cc_modules/tests/cc_user_tests.py::UserTests::test_partial_phone_number",
  "cc_modules/tests/cc_user_tests.py::UserTests::test_user",
  "cc_modules/tests/cc_validator_tests.py::ValidatorTests::test_download_filename_validator",
  "cc_modules/tests/cc_validator_tests.py::ValidatorTests::test_email_validator",
  "cc_modules/tests/cc_validator_tests.py::ValidatorTests::test_generic_validators",
  "cc_modules/tests/cc_validator_tests.py::ValidatorTests::test_ip_address_validator",
  "cc_modules/tests/cc_validator_tests.py::ValidatorTests::test_password_validator",
  "cc_modules/tests/cc_validator_tests.py::ValidatorTests::test_regex_manipulation",
  "cc_modules/tests/cc_validator_tests.py::ValidatorTests::test_task_tablename_validator",
  "cc_modules/tests/cc_view_classes_tests.py::FormWizardMixinTests::test_arbitrary_field_is_saved_in_new_session",
  "cc_modules/tests/cc_view_classes_tests.py::FormWizardMixinTests::test_finish_and_finished",
  "cc_modules/tests/cc_view_classes_tests.py::FormWizardMixinTests::test_route_name_is_saved_in_existing_session",
  "cc_modules/tests/cc_view_classes_tests.py::FormWizardMixinTests::test_route_name_is_saved_in_new_session",
  "cc_modules/tests/cc_view_classes_tests.py::FormWizardMixinTests::test_step_is_saved_in_new_session",
  "cc_modules/tests/cc_view_classes_tests.py::FormWizardMixinTests::test_step_is_updated_for_same_route",
  "cc_modules/tests/cc_view_classses_tests.py::FormWizardMixinTests::test_arbitrary_field_is_saved_in_new_session",
  "cc_modules/tests/cc_view_classses_tests.py::FormWizardMixinTests::test_finish_and_finished",
  "cc_modules/tests/cc_view_classses_tests.py::FormWizardMixinTests::test_route_name_is_saved_in_existing_session",
  "cc_modules/tests/cc_view_classses_tests.py::FormWizardMixinTests::test_route_name_is_saved_in_new_session",
  "cc_modules/tests/cc_view_classses_tests.py::FormWizardMixinTests::test_route_name_is_saved_in_session",
  "cc_modules/tests/cc_view_classses_tests.py::FormWizardMixinTests::test_step_is_saved_in_existing_session",
  "cc_modules/tests/cc_view_classses_tests.py::FormWizardMixinTests::test_step_is_saved_in_new_session",
  "cc_modules/tests/cc_view_classses_tests.py::FormWizardMixinTests::test_step_is_saved_in_session",
  "cc_modules/tests/cc_view_classses_tests.py::FormWizardMixinTests::test_step_is_updated_for_same_route",
  "cc_modules/tests/client_api_tests.py::CheckUploadUserAndDeviceTests::test_succeeds",
  "cc_modules/tests/client_api_tests.py::ClientApiTests::test_client_api_antique_support_1",
  "cc_modules/tests/client_api_tests.py::ClientApiTests::test_client_api_antique_support_2",
  "cc_modules/tests/client_api_tests.py::ClientApiTests::test_client_api_antique_support_3",
  "cc_modules/tests/client_api_tests.py::ClientApiTests::test_client_api_basics",
  "cc_modules/tests/client_api_tests.py::ClientApiTests::test_client_api_validators",
  "cc_modules/tests/client_api_tests.py::ClientApiTests::test_non_existent_table_rejected",
  "cc_modules/tests/client_api_tests.py::DeleteWhereKeyNotTests::test_foo",
  "cc_modules/tests/client_api_tests.py::DeleteWhereKeyNotTests::test_records_not_specified_marked_for_removal",
  "cc_modules/tests/client_api_tests.py::EncodeDecodeValuesTests::test_values_decoded_correctly",
  "cc_modules/tests/client_api_tests.py::EndUploadTests::test_updates_added_records",
  "cc_modules/tests/client_api_tests.py::EndUploadTests::test_updates_preserved_records",
  "cc_modules/tests/client_api_tests.py::EndUploadTests::test_updates_removed_records",
  "cc_modules/tests/client_api_tests.py::EscapeUnescapeNewlinesTests::test_escapes_and_unescapes_correctly",
  "cc_modules/tests/client_api_tests.py::ExceptionTests::test_fail_server_error_raises",
  "cc_modules/tests/client_api_tests.py::ExceptionTests::test_fail_unsupported_operation_raises",
  "cc_modules/tests/client_api_tests.py::ExceptionTests::test_fail_user_error_raises",
  "cc_modules/tests/client_api_tests.py::GetIdInfoTests::test_returns_database_title",
  "cc_modules/tests/client_api_tests.py::GetIdInfoTests::test_returns_finalize_policy",
  "cc_modules/tests/client_api_tests.py::GetIdInfoTests::test_returns_idnum_definition",
  "cc_modules/tests/client_api_tests.py::GetIdInfoTests::test_returns_server_version_string",
  "cc_modules/tests/client_api_tests.py::GetIdInfoTests::test_returns_upload_policy",
  "cc_modules/tests/client_api_tests.py::GetOrCreateSingleUserTests::test_existing_user_is_updated",
  "cc_modules/tests/client_api_tests.py::GetOrCreateSingleUserTests::test_single_patient_pk_set",
  "cc_modules/tests/client_api_tests.py::GetOrCreateSingleUserTests::test_user_auto_generated_flag_set",
  "cc_modules/tests/client_api_tests.py::GetOrCreateSingleUserTests::test_user_is_added_to_patient_group",
  "cc_modules/tests/client_api_tests.py::GetOrCreateSingleUserTests::test_user_is_assigned_password",
  "cc_modules/tests/client_api_tests.py::GetOrCreateSingleUserTests::test_user_is_created_with_username",
  "cc_modules/tests/client_api_tests.py::GetOrCreateSingleUserTests::test_user_is_not_superuser",
  "cc_modules/tests/client_api_tests.py::GetOrCreateSingleUserTests::test_user_may_register_devices",
  "cc_modules/tests/client_api_tests.py::GetOrCreateSingleUserTests::test_user_may_upload",
  "cc_modules/tests/client_api_tests.py::GetOrCreateSingleUserTests::test_user_upload_group_set",
  "cc_modules/tests/client_api_tests.py::GetTaskSchedulesTests::test_returns_task_schedules",
  "cc_modules/tests/client_api_tests.py::MalformedRequestTests::test_returns_400_bad_request",
  "cc_modules/tests/client_api_tests.py::OpCheckDeviceRegisteredTests::test_device_not_registered",
  "cc_modules/tests/client_api_tests.py::OpCheckDeviceRegisteredTests::test_device_registered",
  "cc_modules/tests/client_api_tests.py::OpCheckUploadUserAndDeviceTests::test_succeeds",
  "cc_modules/tests/client_api_tests.py::OpDeleteWhereKeyNotTests::test_records_not_specified_marked_for_removal",
  "cc_modules/tests/client_api_tests.py::OpEndUploadTests::test_updates_added_records",
  "cc_modules/tests/client_api_tests.py::OpEndUploadTests::test_updates_preserved_records",
  "cc_modules/tests/client_api_tests.py::OpEndUploadTests::test_updates_removed_records",
  "cc_modules/tests/client_api_tests.py::OpGetAllowedTablesTests::test_returns_allowed_tables",
  "cc_modules/tests/client_api_tests.py::OpGetExtraStringsTests::test_returns_extra_strings",
  "cc_modules/tests/client_api_tests.py::OpGetIdInfoTests::test_returns_database_title",
  "cc_modules/tests/client_api_tests.py::OpGetIdInfoTests::test_returns_finalize_policy",
  "cc_modules/tests/client_api_tests.py::OpGetIdInfoTests::test_returns_idnum_definition",
  "cc_modules/tests/client_api_tests.py::OpGetIdInfoTests::test_returns_server_version_string",
  "cc_modules/tests/client_api_tests.py::OpGetIdInfoTests::test_returns_upload_policy",
  "cc_modules/tests/client_api_tests.py::OpGetOrCreateSingleUserTests::test_existing_user_is_updated",
  "cc_modules/tests/client_api_tests.py::OpGetOrCreateSingleUserTests::test_single_patient_pk_set",
  "cc_modules/tests/client_api_tests.py::OpGetOrCreateSingleUserTests::test_user_auto_generated_flag_set",
  "cc_modules/tests/client_api_tests.py::OpGetOrCreateSingleUserTests::test_user_is_added_to_patient_group",
  "cc_modules/tests/client_api_tests.py::OpGetOrCreateSingleUserTests::test_user_is_assigned_password",
  "cc_modules/tests/client_api_tests.py::OpGetOrCreateSingleUserTests::test_user_is_created_with_username",
  "cc_modules/tests/client_api_tests.py::OpGetOrCreateSingleUserTests::test_user_is_not_superuser",
  "cc_modules/tests/client_api_tests.py::OpGetOrCreateSingleUserTests::test_user_may_register_devices",
  "cc_modules/tests/client_api_tests.py::OpGetOrCreateSingleUserTests::test_user_may_upload",
  "cc_modules/tests/client_api_tests.py::OpGetOrCreateSingleUserTests::test_user_upload_group_set",
  "cc_modules/tests/client_api_tests.py::OpGetTaskSchedulesTests::test_returns_task_schedules",
  "cc_modules/tests/client_api_tests.py::OpRegisterDeviceTests::test_registers_new_device",
  "cc_modules/tests/client_api_tests.py::OpRegisterDeviceTests::test_updates_existing_device",
  "cc_modules/tests/client_api_tests.py::OpRegisterPatientTests::test_creates_user",
  "cc_modules/tests/client_api_tests.py::OpRegisterPatientTests::test_does_not_create_user_when_name_exists",
  "cc_modules/tests/client_api_tests.py::OpRegisterPatientTests::test_raises_for_invalid_proquint",
  "cc_modules/tests/client_api_tests.py::OpRegisterPatientTests::test_raises_for_missing_valid_proquint",
  "cc_modules/tests/client_api_tests.py::OpRegisterPatientTests::test_raises_when_no_patient_idnums",
  "cc_modules/tests/client_api_tests.py::OpRegisterPatientTests::test_raises_when_patient_not_created_on_server",
  "cc_modules/tests/client_api_tests.py::OpRegisterPatientTests::test_returns_ip_use_flags",
  "cc_modules/tests/client_api_tests.py::OpRegisterPatientTests::test_returns_patient_info",
  "cc_modules/tests/client_api_tests.py::OpStartPreservationTests::test_device_currently_preserving",
  "cc_modules/tests/client_api_tests.py::OpStartPreservationTests::test_marks_table_dirty",
  "cc_modules/tests/client_api_tests.py::OpStartUploadTests::test_deletes_records_with_addition_pending",
  "cc_modules/tests/client_api_tests.py::OpStartUploadTests::test_sets_move_off_tablet_field_to_false",
  "cc_modules/tests/client_api_tests.py::OpStartUploadTests::test_updates_device_batch_utc_details",
  "cc_modules/tests/client_api_tests.py::OpStartUploadTests::test_updates_records_with_removal_pending",
  "cc_modules/tests/client_api_tests.py::OpUploadEmptyTablesTests::test_all_records_flagged_as_deleted",
  "cc_modules/tests/client_api_tests.py::OpUploadEmptyTablesTests::test_tables_marked_clean_if_no_records_in_current_era",
  "cc_modules/tests/client_api_tests.py::OpUploadEmptyTablesTests::test_tables_marked_dirty_if_records_in_current_era",
  "cc_modules/tests/client_api_tests.py::OpUploadEntireDatabaseTests::test_empty_flags_existing_for_deletion",
  "cc_modules/tests/client_api_tests.py::OpUploadEntireDatabaseTests::test_empty_upload_flags_existing_for_deletion",
  "cc_modules/tests/client_api_tests.py::OpUploadEntireDatabaseTests::test_empty_upload_succeeds",
  "cc_modules/tests/client_api_tests.py::OpUploadEntireDatabaseTests::test_fails_if_databasedata_is_not_a_dict",
  "cc_modules/tests/client_api_tests.py::OpUploadEntireDatabaseTests::test_fails_if_pknameinfo_is_not_a_dict",
  "cc_modules/tests/client_api_tests.py::OpUploadEntireDatabaseTests::test_fails_if_table_names_do_not_exist",
  "cc_modules/tests/client_api_tests.py::OpUploadEntireDatabaseTests::test_fails_if_table_names_do_not_match",
  "cc_modules/tests/client_api_tests.py::OpUploadEntireDatabaseTests::test_upload_row_fails_with_no_pkname",
  "cc_modules/tests/client_api_tests.py::OpUploadEntireDatabaseTests::test_upload_row_succeeds",
  "cc_modules/tests/client_api_tests.py::OpUploadRecordTests::test_fails_if_field_does_not_exist",
  "cc_modules/tests/client_api_tests.py::OpUploadRecordTests::test_fails_if_field_is_reserved",
  "cc_modules/tests/client_api_tests.py::OpUploadRecordTests::test_fails_if_patient_idnum_invalid",
  "cc_modules/tests/client_api_tests.py::OpUploadRecordTests::test_fails_if_patient_idnum_type_unknown",
  "cc_modules/tests/client_api_tests.py::OpUploadRecordTests::test_upload_inserts_patient_idnum_record",
  "cc_modules/tests/client_api_tests.py::OpUploadRecordTests::test_upload_inserts_record",
  "cc_modules/tests/client_api_tests.py::OpUploadRecordTests::test_upload_updates_record",
  "cc_modules/tests/client_api_tests.py::OpUploadTableTests::test_fails_if_fields_do_not_match_values",
  "cc_modules/tests/client_api_tests.py::OpUploadTableTests::test_fails_if_nrecords_less_than_zero",
  "cc_modules/tests/client_api_tests.py::OpUploadTableTests::test_no_records_marks_table_clean",
  "cc_modules/tests/client_api_tests.py::OpUploadTableTests::test_record_flagged_for_deletion",
  "cc_modules/tests/client_api_tests.py::OpUploadTableTests::test_record_updated",
  "cc_modules/tests/client_api_tests.py::OpUploadTableTests::test_table_uploaded",
  "cc_modules/tests/client_api_tests.py::OpValidatePatientsTests::test_fails_for_missing_finalizing_key",
  "cc_modules/tests/client_api_tests.py::OpValidatePatientsTests::test_fails_for_unknown_json_key",
  "cc_modules/tests/client_api_tests.py::OpValidatePatientsTests::test_fails_if_address_is_not_a_string",
  "cc_modules/tests/client_api_tests.py::OpValidatePatientsTests::test_fails_if_dob_fails_to_parse",
  "cc_modules/tests/client_api_tests.py::OpValidatePatientsTests::test_fails_if_dob_is_not_a_string",
  "cc_modules/tests/client_api_tests.py::OpValidatePatientsTests::test_fails_if_email_invalid",
  "cc_modules/tests/client_api_tests.py::OpValidatePatientsTests::test_fails_if_email_is_not_a_string",
  "cc_modules/tests/client_api_tests.py::OpValidatePatientsTests::test_fails_if_finalizing_is_not_a_bool",
  "cc_modules/tests/client_api_tests.py::OpValidatePatientsTests::test_fails_if_forename_is_not_a_string",
  "cc_modules/tests/client_api_tests.py::OpValidatePatientsTests::test_fails_if_gp_is_not_a_string",
  "cc_modules/tests/client_api_tests.py::OpValidatePatientsTests::test_fails_if_idnum_not_an_int",
  "cc_modules/tests/client_api_tests.py::OpValidatePatientsTests::test_fails_if_idref_invalid",
  "cc_modules/tests/client_api_tests.py::OpValidatePatientsTests::test_fails_if_one_patients_info_is_empty",
  "cc_modules/tests/client_api_tests.py::OpValidatePatientsTests::test_fails_if_one_patients_info_is_not_a_dict",
  "cc_modules/tests/client_api_tests.py::OpValidatePatientsTests::test_fails_if_other_is_not_a_string",
  "cc_modules/tests/client_api_tests.py::OpValidatePatientsTests::test_fails_if_patient_info_is_not_a_list",
  "cc_modules/tests/client_api_tests.py::OpValidatePatientsTests::test_fails_if_sex_is_not_valid",
  "cc_modules/tests/client_api_tests.py::OpValidatePatientsTests::test_fails_if_surname_is_not_a_string",
  "cc_modules/tests/client_api_tests.py::OpValidatePatientsTests::test_fails_if_which_idnum_already_seen",
  "cc_modules/tests/client_api_tests.py::OpValidatePatientsTests::test_fails_if_which_idnum_is_not_an_int",
  "cc_modules/tests/client_api_tests.py::OpValidatePatientsTests::test_fails_if_which_idnum_is_not_valid",
  "cc_modules/tests/client_api_tests.py::OpValidatePatientsTests::test_fails_when_candidate_invalid_for_group",
  "cc_modules/tests/client_api_tests.py::OpValidatePatientsTests::test_fails_when_candidate_invalid_for_restricted_user",
  "cc_modules/tests/client_api_tests.py::OpValidatePatientsTests::test_succeeds_for_empty_dob",
  "cc_modules/tests/client_api_tests.py::OpValidatePatientsTests::test_succeeds_for_empty_list",
  "cc_modules/tests/client_api_tests.py::OpValidatePatientsTests::test_succeeds_for_valid_patient",
  "cc_modules/tests/client_api_tests.py::OpWhichKeysToSendTests::test_fails_for_bad_date_time",
  "cc_modules/tests/client_api_tests.py::OpWhichKeysToSendTests::test_fails_for_missing_date_time",
  "cc_modules/tests/client_api_tests.py::OpWhichKeysToSendTests::test_fails_for_non_integer_client_pk",
  "cc_modules/tests/client_api_tests.py::OpWhichKeysToSendTests::test_fails_for_pk_value_date_count_mismatch",
  "cc_modules/tests/client_api_tests.py::OpWhichKeysToSendTests::test_fails_for_pk_value_move_off_tablet_count_mismatch",
  "cc_modules/tests/client_api_tests.py::OpWhichKeysToSendTests::test_non_existent_table_rejected",
  "cc_modules/tests/client_api_tests.py::OpWhichKeysToSendTests::test_succeeds_for_existing_record",
  "cc_modules/tests/client_api_tests.py::OpWhichKeysToSendTests::test_succeeds_for_unmodified_record_marked_for_preservation",
  "cc_modules/tests/client_api_tests.py::OpWhichKeysToSendTests::test_succeeds_for_valid_values",
  "cc_modules/tests/client_api_tests.py::OpWhichKeysToSendTests::test_table_rejected_if_client_too_old",
  "cc_modules/tests/client_api_tests.py::PatientRegistrationTests::test_creates_user",
  "cc_modules/tests/client_api_tests.py::PatientRegistrationTests::test_does_not_create_user_when_name_exists",
  "cc_modules/tests/client_api_tests.py::PatientRegistrationTests::test_raises_for_invalid_proquint",
  "cc_modules/tests/client_api_tests.py::PatientRegistrationTests::test_raises_for_missing_valid_proquint",
  "cc_modules/tests/client_api_tests.py::PatientRegistrationTests::test_raises_when_no_patient_idnums",
  "cc_modules/tests/client_api_tests.py::PatientRegistrationTests::test_raises_when_patient_not_created_on_server",
  "cc_modules/tests/client_api_tests.py::PatientRegistrationTests::test_returns_ip_use_flags",
  "cc_modules/tests/client_api_tests.py::PatientRegistrationTests::test_returns_patient_info",
  "cc_modules/tests/client_api_tests.py::RegisterPatientTests::test_creates_user",
  "cc_modules/tests/client_api_tests.py::RegisterPatientTests::test_does_not_create_user_when_name_exists",
  "cc_modules/tests/client_api_tests.py::RegisterPatientTests::test_raises_for_invalid_proquint",
  "cc_modules/tests/client_api_tests.py::RegisterPatientTests::test_raises_for_missing_valid_proquint",
  "cc_modules/tests/client_api_tests.py::RegisterPatientTests::test_raises_when_no_patient_idnums",
  "cc_modules/tests/client_api_tests.py::RegisterPatientTests::test_raises_when_patient_not_created_on_server",
  "cc_modules/tests/client_api_tests.py::RegisterPatientTests::test_returns_ip_use_flags",
  "cc_modules/tests/client_api_tests.py::RegisterPatientTests::test_returns_patient_info",
  "cc_modules/tests/client_api_tests.py::StartPreservationTests::test_device_currently_preserving",
  "cc_modules/tests/client_api_tests.py::StartPreservationTests::test_foo",
  "cc_modules/tests/client_api_tests.py::StartPreservationTests::test_marks_table_dirty",
  "cc_modules/tests/client_api_tests.py::StartUploadTests::test_deletes_records_with_addition_pending",
  "cc_modules/tests/client_api_tests.py::StartUploadTests::test_sets_move_off_tablet_field_to_false",
  "cc_modules/tests/client_api_tests.py::StartUploadTests::test_updates_device_batch_utc_details",
  "cc_modules/tests/client_api_tests.py::StartUploadTests::test_updates_records_with_removal_pending",
  "cc_modules/tests/client_api_tests.py::UploadEmptyTablesTests::test_all_records_flagged_as_deleted",
  "cc_modules/tests/client_api_tests.py::UploadEmptyTablesTests::test_tables_marked_clean_if_no_records_in_current_era",
  "cc_modules/tests/client_api_tests.py::UploadEmptyTablesTests::test_tables_marked_dirty",
  "cc_modules/tests/client_api_tests.py::UploadEmptyTablesTests::test_tables_marked_dirty_if_records_in_current_era",
  "cc_modules/tests/client_api_tests.py::UploadEntireDatabaseTests::test_empty_upload_succeeds",
  "cc_modules/tests/client_api_tests.py::UploadEntireDatabaseTests::test_fails_if_databasedata_is_not_a_dict",
  "cc_modules/tests/client_api_tests.py::UploadEntireDatabaseTests::test_fails_if_pknameinfo_is_not_a_dict",
  "cc_modules/tests/client_api_tests.py::UploadEntireDatabaseTests::test_fails_if_table_names_do_not_exist",
  "cc_modules/tests/client_api_tests.py::UploadEntireDatabaseTests::test_fails_if_table_names_do_not_match",
  "cc_modules/tests/client_api_tests.py::UploadEntireDatabaseTests::test_upload_succeeds",
  "cc_modules/tests/client_api_tests.py::UploadRecordTests::test_upload_inserts_record",
  "cc_modules/tests/client_api_tests.py::UploadRecordTests::test_upload_updates_record",
  "cc_modules/tests/client_api_tests.py::UploadTableTests::test_fails_if_fields_do_not_match_values",
  "cc_modules/tests/client_api_tests.py::UploadTableTests::test_fails_if_nfields_less_than_one",
  "cc_modules/tests/client_api_tests.py::UploadTableTests::test_fails_if_nrecords_less_than_zero",
  "cc_modules/tests/client_api_tests.py::UploadTableTests::test_foo",
  "cc_modules/tests/client_api_tests.py::UploadTableTests::test_no_records",
  "cc_modules/tests/client_api_tests.py::UploadTableTests::test_no_records_marks_table_clean",
  "cc_modules/tests/client_api_tests.py::UploadTableTests::test_record_flagged_for_deletion",
  "cc_modules/tests/client_api_tests.py::UploadTableTests::test_record_updated",
  "cc_modules/tests/client_api_tests.py::UploadTableTests::test_table_uploaded",
  "cc_modules/tests/client_api_tests.py::ValidateAlphanumUnderscoreTests::test_class_attribute_names_validate",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_for_missing_finalizing_key",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_for_unknown_json_key",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_if_address_is_not_a_string",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_if_dob_fails_to_parse",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_if_dob_is_empty",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_if_dob_is_invalid",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_if_dob_is_not_a_string",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_if_email_invalid",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_if_email_is_not_a_string",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_if_finalizing_is_not_a_bool",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_if_forename_is_not_a_string",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_if_forename_not_a_string",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_if_gp_is_not_a_string",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_if_idnum_not_an_int",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_if_idref_invalid",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_if_key_not_a_string",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_if_one_patients_info_is_empty",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_if_one_patients_info_is_not_a_dict",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_if_one_patients_info_is_not_a_list",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_if_other_is_not_a_string",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_if_patient_info_is_not_a_list",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_if_sex_is_not_valid",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_if_surname_is_not_a_string",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_if_surname_not_a_string",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_if_which_idnum_already_seen",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_if_which_idnum_is_not_an_int",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_if_which_idnum_is_not_valid",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_when_candidate_invalid_for_group",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_when_candidate_invalid_for_restricted_user",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_fails_when_candidate_patient_invalid_for_group",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_succeeds_for_empty_dob",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_succeeds_for_empty_list",
  "cc_modules/tests/client_api_tests.py::ValidatePatientsTests::test_succeeds_for_valid_patient",
  "cc_modules/tests/client_api_tests.py::WhichKeysToSendTests::test_fails_for_bad_date_time",
  "cc_modules/tests/client_api_tests.py::WhichKeysToSendTests::test_fails_for_bad_move_off_tablet_value",
  "cc_modules/tests/client_api_tests.py::WhichKeysToSendTests::test_fails_for_missing_date_time",
  "cc_modules/tests/client_api_tests.py::WhichKeysToSendTests::test_fails_for_non_integer_client_pk",
  "cc_modules/tests/client_api_tests.py::WhichKeysToSendTests::test_fails_for_pk_value_date_count_mismatch",
  "cc_modules/tests/client_api_tests.py::WhichKeysToSendTests::test_fails_for_pk_value_move_off_tablet_count_mismatch",
  "cc_modules/tests/client_api_tests.py::WhichKeysToSendTests::test_non_existent_table_rejected",
  "cc_modules/tests/client_api_tests.py::WhichKeysToSendTests::test_succeeds_for_existing_record",
  "cc_modules/tests/client_api_tests.py::WhichKeysToSendTests::test_succeeds_for_existing_record_marked_for_preservation",
  "cc_modules/tests/client_api_tests.py::WhichKeysToSendTests::test_succeeds_for_existing_record_not_moving_off_tablet",
  "cc_modules/tests/client_api_tests.py::WhichKeysToSendTests::test_succeeds_for_something_or_other",
  "cc_modules/tests/client_api_tests.py::WhichKeysToSendTests::test_succeeds_for_unmodified_record_marked_for_preservation",
  "cc_modules/tests/client_api_tests.py::WhichKeysToSendTests::test_succeeds_for_valid_values",
  "cc_modules/tests/merge_db_tests.py::MergeDbTests::test_merge_db",
  "cc_modules/tests/webview_tests.py::AddPatientViewTests::test_form_rendered_with_values",
  "cc_modules/tests/webview_tests.py::AddPatientViewTests::test_group_admin_without_privilege_can_add_patient",
  "cc_modules/tests/webview_tests.py::AddPatientViewTests::test_group_listed_for_privileged_group_member",
  "cc_modules/tests/webview_tests.py::AddPatientViewTests::test_patient_created",
  "cc_modules/tests/webview_tests.py::AddPatientViewTests::test_patient_takes_next_available_id",
  "cc_modules/tests/webview_tests.py::AddPatientViewTests::test_unprivileged_user_cannot_add_patient",
  "cc_modules/tests/webview_tests.py::AddTaskScheduleItemViewTests::test_non_existent_schedule_handled",
  "cc_modules/tests/webview_tests.py::AddTaskScheduleItemViewTests::test_schedule_item_form_displayed",
  "cc_modules/tests/webview_tests.py::AddTaskScheduleItemViewTests::test_schedule_item_is_created",
  "cc_modules/tests/webview_tests.py::AddTaskScheduleItemViewTests::test_schedule_item_is_not_created_on_cancel",
  "cc_modules/tests/webview_tests.py::AddTaskScheduleViewTests::test_schedule_form_displayed",
  "cc_modules/tests/webview_tests.py::AddTaskScheduleViewTests::test_schedule_is_created",
  "cc_modules/tests/webview_tests.py::AddUserTests::test_user_created",
  "cc_modules/tests/webview_tests.py::ChangeOtherPasswordViewTests::test_cannot_change_password_if_timed_out",
  "cc_modules/tests/webview_tests.py::ChangeOtherPasswordViewTests::test_code_sent_if_mfa_setup",
  "cc_modules/tests/webview_tests.py::ChangeOtherPasswordViewTests::test_form_state_cleared_on_invalid_token",
  "cc_modules/tests/webview_tests.py::ChangeOtherPasswordViewTests::test_password_set",
  "cc_modules/tests/webview_tests.py::ChangeOtherPasswordViewTests::test_raises_for_invalid_user",
  "cc_modules/tests/webview_tests.py::ChangeOtherPasswordViewTests::test_raises_when_user_may_not_edit_other_user",
  "cc_modules/tests/webview_tests.py::ChangeOtherPasswordViewTests::test_redirects_if_editing_own_account",
  "cc_modules/tests/webview_tests.py::ChangeOtherPasswordViewTests::test_user_can_enter_token",
  "cc_modules/tests/webview_tests.py::ChangeOtherPasswordViewTests::test_user_forced_to_change_password",
  "cc_modules/tests/webview_tests.py::ChangeOtherPasswordViewTests::test_user_sees_otp_form_if_mfa_setup",
  "cc_modules/tests/webview_tests.py::ChangeOwnPasswordViewTests::test_cannot_change_password_if_timed_out",
  "cc_modules/tests/webview_tests.py::ChangeOwnPasswordViewTests::test_code_sent_if_mfa_setup",
  "cc_modules/tests/webview_tests.py::ChangeOwnPasswordViewTests::test_form_state_cleared_on_invalid_token",
  "cc_modules/tests/webview_tests.py::ChangeOwnPasswordViewTests::test_password_must_differ",
  "cc_modules/tests/webview_tests.py::ChangeOwnPasswordViewTests::test_user_can_change_password",
  "cc_modules/tests/webview_tests.py::ChangeOwnPasswordViewTests::test_user_can_enter_token",
  "cc_modules/tests/webview_tests.py::ChangeOwnPasswordViewTests::test_user_sees_expiry_message",
  "cc_modules/tests/webview_tests.py::ChangeOwnPasswordViewTests::test_user_sees_otp_form_if_mfa_setup",
  "cc_modules/tests/webview_tests.py::DeleteServerCreatedPatientViewTests::test_patient_schedule_and_idnums_deleted",
  "cc_modules/tests/webview_tests.py::DeleteServerCreatedPatientViewTests::test_registered_patient_deleted",
  "cc_modules/tests/webview_tests.py::DeleteServerCreatedPatientViewTests::test_unprivileged_user_cannot_delete_patient",
  "cc_modules/tests/webview_tests.py::DeleteServerCreatedPatientViewTests::test_unprivileged_user_cannot_see_delete_form",
  "cc_modules/tests/webview_tests.py::DeleteServerCreatedPatientViewTests::test_unrelated_patient_unaffected",
  "cc_modules/tests/webview_tests.py::DeleteTaskScheduleItemViewTests::test_delete_form_displayed",
  "cc_modules/tests/webview_tests.py::DeleteTaskScheduleItemViewTests::test_errors_displayed_when_deletion_validation_fails",
  "cc_modules/tests/webview_tests.py::DeleteTaskScheduleItemViewTests::test_schedule_item_is_deleted",
  "cc_modules/tests/webview_tests.py::DeleteTaskScheduleItemViewTests::test_schedule_item_not_deleted_on_cancel",
  "cc_modules/tests/webview_tests.py::DeleteTaskScheduleViewTests::test_schedule_item_is_deleted",
  "cc_modules/tests/webview_tests.py::EditFinalizedPatientViewTests::test_changes_to_idrefs",
  "cc_modules/tests/webview_tests.py::EditFinalizedPatientViewTests::test_changes_to_simple_params",
  "cc_modules/tests/webview_tests.py::EditFinalizedPatientViewTests::test_form_values_for_existing_patient",
  "cc_modules/tests/webview_tests.py::EditFinalizedPatientViewTests::test_message_when_no_changes",
  "cc_modules/tests/webview_tests.py::EditFinalizedPatientViewTests::test_patient_updated",
  "cc_modules/tests/webview_tests.py::EditFinalizedPatientViewTests::test_raises_when_not_authorized",
  "cc_modules/tests/webview_tests.py::EditFinalizedPatientViewTests::test_raises_when_patient_does_not_exists",
  "cc_modules/tests/webview_tests.py::EditFinalizedPatientViewTests::test_raises_when_patient_not_finalized",
  "cc_modules/tests/webview_tests.py::EditFinalizedPatientViewTests::test_raises_when_patient_not_in_a_group",
  "cc_modules/tests/webview_tests.py::EditFinalizedPatientViewTests::test_template_rendered_with_values",
  "cc_modules/tests/webview_tests.py::EditGroupViewTests::test_group_id_displayed_in_form",
  "cc_modules/tests/webview_tests.py::EditGroupViewTests::test_group_updated",
  "cc_modules/tests/webview_tests.py::EditGroupViewTests::test_ip_use_added",
  "cc_modules/tests/webview_tests.py::EditGroupViewTests::test_ip_use_displayed_in_form",
  "cc_modules/tests/webview_tests.py::EditGroupViewTests::test_ip_use_updated",
  "cc_modules/tests/webview_tests.py::EditGroupViewTests::test_other_groups_displayed_in_form",
  "cc_modules/tests/webview_tests.py::EditMfaViewTests::test_email_address_not_set_for_hotp_sms",
  "cc_modules/tests/webview_tests.py::EditMfaViewTests::test_form_displays_secret_key",
  "cc_modules/tests/webview_tests.py::EditMfaViewTests::test_get_form_values",
  "cc_modules/tests/webview_tests.py::EditMfaViewTests::test_get_form_values_hotp_email",
  "cc_modules/tests/webview_tests.py::EditMfaViewTests::test_get_form_values_hotp_sms",
  "cc_modules/tests/webview_tests.py::EditMfaViewTests::test_get_form_values_mfa_method",
  "cc_modules/tests/webview_tests.py::EditMfaViewTests::test_get_form_values_totp",
  "cc_modules/tests/webview_tests.py::EditMfaViewTests::test_invalid_email_address_ignored_for_hotp_sms",
  "cc_modules/tests/webview_tests.py::EditMfaViewTests::test_invalid_phone_number_ignored_for_hotp_email",
  "cc_modules/tests/webview_tests.py::EditMfaViewTests::test_phone_number_not_set_for_hotp_email",
  "cc_modules/tests/webview_tests.py::EditMfaViewTests::test_user_can_disable_mfa",
  "cc_modules/tests/webview_tests.py::EditMfaViewTests::test_user_can_set_email_address",
  "cc_modules/tests/webview_tests.py::EditMfaViewTests::test_user_can_set_method_hotp_email",
  "cc_modules/tests/webview_tests.py::EditMfaViewTests::test_user_can_set_method_hotp_sms",
  "cc_modules/tests/webview_tests.py::EditMfaViewTests::test_user_can_set_method_totp",
  "cc_modules/tests/webview_tests.py::EditMfaViewTests::test_user_can_set_phone_number",
  "cc_modules/tests/webview_tests.py::EditMfaViewTests::test_user_can_set_preference_hotp_email",
  "cc_modules/tests/webview_tests.py::EditMfaViewTests::test_user_can_set_preference_hotp_sms",
  "cc_modules/tests/webview_tests.py::EditMfaViewTests::test_user_can_set_preference_totp",
  "cc_modules/tests/webview_tests.py::EditMfaViewTests::test_user_can_set_preferences",
  "cc_modules/tests/webview_tests.py::EditMfaViewTests::test_user_can_set_secret_key",
  "cc_modules/tests/webview_tests.py::EditOtherUserMfaViewTests::test_code_sent_if_mfa_setup",
  "cc_modules/tests/webview_tests.py::EditOtherUserMfaViewTests::test_disable_mfa",
  "cc_modules/tests/webview_tests.py::EditOtherUserMfaViewTests::test_form_state_cleared_on_invalid_token",
  "cc_modules/tests/webview_tests.py::EditOtherUserMfaViewTests::test_raises_for_invalid_user",
  "cc_modules/tests/webview_tests.py::EditOtherUserMfaViewTests::test_raises_when_user_may_not_edit_other_user",
  "cc_modules/tests/webview_tests.py::EditOtherUserMfaViewTests::test_redirects_if_editing_own_account",
  "cc_modules/tests/webview_tests.py::EditOtherUserMfaViewTests::test_user_can_enter_token",
  "cc_modules/tests/webview_tests.py::EditOtherUserMfaViewTests::test_user_sees_otp_form_if_mfa_setup",
  "cc_modules/tests/webview_tests.py::EditOwnUserMfaViewTests::test_get_form_values_hotp_email",
  "cc_modules/tests/webview_tests.py::EditOwnUserMfaViewTests::test_get_form_values_hotp_sms",
  "cc_modules/tests/webview_tests.py::EditOwnUserMfaViewTests::test_get_form_values_mfa_method",
  "cc_modules/tests/webview_tests.py::EditOwnUserMfaViewTests::test_get_form_values_totp",
  "cc_modules/tests/webview_tests.py::EditOwnUserMfaViewTests::test_user_can_disable_mfa",
  "cc_modules/tests/webview_tests.py::EditOwnUserMfaViewTests::test_user_can_set_email_address",
  "cc_modules/tests/webview_tests.py::EditOwnUserMfaViewTests::test_user_can_set_method_hotp_email",
  "cc_modules/tests/webview_tests.py::EditOwnUserMfaViewTests::test_user_can_set_method_hotp_sms",
  "cc_modules/tests/webview_tests.py::EditOwnUserMfaViewTests::test_user_can_set_method_totp",
  "cc_modules/tests/webview_tests.py::EditOwnUserMfaViewTests::test_user_can_set_phone_number",
  "cc_modules/tests/webview_tests.py::EditOwnUserMfaViewTests::test_user_can_set_secret_key",
  "cc_modules/tests/webview_tests.py::EditServerCreatedPatientViewTests::test_changes_to_task_schedules",
  "cc_modules/tests/webview_tests.py::EditServerCreatedPatientViewTests::test_form_values_for_existing_patient",
  "cc_modules/tests/webview_tests.py::EditServerCreatedPatientViewTests::test_get_form_values",
  "cc_modules/tests/webview_tests.py::EditServerCreatedPatientViewTests::test_group_updated",
  "cc_modules/tests/webview_tests.py::EditServerCreatedPatientViewTests::test_patient_can_be_assigned_the_same_schedule_twice",
  "cc_modules/tests/webview_tests.py::EditServerCreatedPatientViewTests::test_patient_task_schedules_updated",
  "cc_modules/tests/webview_tests.py::EditServerCreatedPatientViewTests::test_raises_when_not_created_on_the_server",
  "cc_modules/tests/webview_tests.py::EditServerCreatedPatientViewTests::test_unprivileged_user_cannot_edit_patient",
  "cc_modules/tests/webview_tests.py::EditTaskScheduleItemViewTests::test_get_form_values",
  "cc_modules/tests/webview_tests.py::EditTaskScheduleItemViewTests::test_group_a_item_cannot_be_edited_by_group_b_admin",
  "cc_modules/tests/webview_tests.py::EditTaskScheduleItemViewTests::test_non_existent_item_handled",
  "cc_modules/tests/webview_tests.py::EditTaskScheduleItemViewTests::test_null_item_handled",
  "cc_modules/tests/webview_tests.py::EditTaskScheduleItemViewTests::test_schedule_item_is_not_updated_on_cancel",
  "cc_modules/tests/webview_tests.py::EditTaskScheduleItemViewTests::test_schedule_item_is_updated",
  "cc_modules/tests/webview_tests.py::EditTaskScheduleViewTests::test_group_a_schedule_cannot_be_edited_by_group_b_admin",
  "cc_modules/tests/webview_tests.py::EditTaskScheduleViewTests::test_schedule_name_can_be_updated",
  "cc_modules/tests/webview_tests.py::EditUserAuthenticationViewTests::test_disable_mfa",
  "cc_modules/tests/webview_tests.py::EditUserAuthenticationViewTests::test_mfa_disable",
  "cc_modules/tests/webview_tests.py::EditUserAuthenticationViewTests::test_mfa_reset",
  "cc_modules/tests/webview_tests.py::EditUserAuthenticationViewTests::test_password_set",
  "cc_modules/tests/webview_tests.py::EditUserAuthenticationViewTests::test_raises_for_invalid_user",
  "cc_modules/tests/webview_tests.py::EditUserAuthenticationViewTests::test_raises_when_user_may_not_edit_other_user",
  "cc_modules/tests/webview_tests.py::EditUserAuthenticationViewTests::test_redirects_if_editing_own_account",
  "cc_modules/tests/webview_tests.py::EditUserAuthenticationViewTests::test_user_forced_to_change_password",
  "cc_modules/tests/webview_tests.py::EditUserGroupMembershipViewTests::test_cancel_returns_to_users_list",
  "cc_modules/tests/webview_tests.py::EditUserGroupMembershipViewTests::test_groupadmin_can_update_user_group_membership",
  "cc_modules/tests/webview_tests.py::EditUserGroupMembershipViewTests::test_raises_for_invalid_ugm_id",
  "cc_modules/tests/webview_tests.py::EditUserGroupMembershipViewTests::test_raises_if_cant_administer_group",
  "cc_modules/tests/webview_tests.py::EditUserGroupMembershipViewTests::test_raises_if_cant_edit_user",
  "cc_modules/tests/webview_tests.py::EditUserGroupMembershipViewTests::test_superuser_can_update_user_group_membership",
  "cc_modules/tests/webview_tests.py::EditUserGroupMembershipViewTests::test_template_rendered_with_values",
  "cc_modules/tests/webview_tests.py::EditUserGroupMembershipViewTests::test_user_group_membership_updated",
  "cc_modules/tests/webview_tests.py::EditUserMfaViewTests::test_cannot_change_password_if_timed_out",
  "cc_modules/tests/webview_tests.py::EditUserMfaViewTests::test_code_sent_if_mfa_setup",
  "cc_modules/tests/webview_tests.py::EditUserMfaViewTests::test_disable_mfa",
  "cc_modules/tests/webview_tests.py::EditUserMfaViewTests::test_form_state_cleared_on_invalid_token",
  "cc_modules/tests/webview_tests.py::EditUserMfaViewTests::test_raises_for_invalid_user",
  "cc_modules/tests/webview_tests.py::EditUserMfaViewTests::test_raises_when_user_may_not_edit_other_user",
  "cc_modules/tests/webview_tests.py::EditUserMfaViewTests::test_redirects_if_editing_own_account",
  "cc_modules/tests/webview_tests.py::EditUserMfaViewTests::test_user_can_enter_token",
  "cc_modules/tests/webview_tests.py::EditUserMfaViewTests::test_user_sees_otp_form_if_mfa_setup",
  "cc_modules/tests/webview_tests.py::EditUserTests::test_groupadmin_sees_groupadmin_form",
  "cc_modules/tests/webview_tests.py::EditUserTests::test_raises_if_user_may_not_edit_another",
  "cc_modules/tests/webview_tests.py::EditUserTests::test_redirect_on_cancel",
  "cc_modules/tests/webview_tests.py::EditUserTests::test_superuser_sees_full_form",
  "cc_modules/tests/webview_tests.py::EditUserViewTests::test_form_rendered_with_values",
  "cc_modules/tests/webview_tests.py::EditUserViewTests::test_get_form_values",
  "cc_modules/tests/webview_tests.py::EditUserViewTests::test_groupadmin_sees_groupadmin_form",
  "cc_modules/tests/webview_tests.py::EditUserViewTests::test_raises_for_conflicting_user_name",
  "cc_modules/tests/webview_tests.py::EditUserViewTests::test_raises_if_email_address_used_for_mfa",
  "cc_modules/tests/webview_tests.py::EditUserViewTests::test_raises_if_user_may_not_edit_another",
  "cc_modules/tests/webview_tests.py::EditUserViewTests::test_redirect_on_cancel",
  "cc_modules/tests/webview_tests.py::EditUserViewTests::test_superuser_sees_full_form",
  "cc_modules/tests/webview_tests.py::EditUserViewTests::test_upload_group_id_unset_when_membership_removed",
  "cc_modules/tests/webview_tests.py::EditUserViewTests::test_upload_group_unset_when_membership_removed",
  "cc_modules/tests/webview_tests.py::EditUserViewTests::test_user_is_added_to_group",
  "cc_modules/tests/webview_tests.py::EditUserViewTests::test_user_is_updated",
  "cc_modules/tests/webview_tests.py::EditUserViewTests::test_user_stays_in_group_the_groupadmin_cannot_edit",
  "cc_modules/tests/webview_tests.py::EditUserViewTests::test_user_stays_in_group_they_are_admin_for",
  "cc_modules/tests/webview_tests.py::EraseTaskEntirelyViewTests::test_deletes_task_entirely",
  "cc_modules/tests/webview_tests.py::EraseTaskLeavingPlaceholderViewTests::test_deletes_task_leaving_placeholder",
  "cc_modules/tests/webview_tests.py::EraseTaskLeavingPlaceholderViewTests::test_displays_form",
  "cc_modules/tests/webview_tests.py::EraseTaskLeavingPlaceholderViewTests::test_raises_when_task_already_erased",
  "cc_modules/tests/webview_tests.py::EraseTaskLeavingPlaceholderViewTests::test_raises_when_task_does_not_exist",
  "cc_modules/tests/webview_tests.py::EraseTaskLeavingPlaceholderViewTests::test_raises_when_task_is_live_on_tablet",
  "cc_modules/tests/webview_tests.py::EraseTaskLeavingPlaceholderViewTests::test_raises_when_user_not_authorized_to_erase",
  "cc_modules/tests/webview_tests.py::EraseTaskLeavingPlaceholderViewTests::test_redirect_on_cancel",
  "cc_modules/tests/webview_tests.py::EraseTaskLeavingPlaceholderViewTests::test_task_not_deleted_on_cancel",
  "cc_modules/tests/webview_tests.py::ForciblyFinalizeTests::test_cancel_returns_to_home",
  "cc_modules/tests/webview_tests.py::ForciblyFinalizeTests::test_finalizes_on_submit",
  "cc_modules/tests/webview_tests.py::ForciblyFinalizeTests::test_renders_confirm_form_on_submit",
  "cc_modules/tests/webview_tests.py::ForciblyFinalizeTests::test_renders_first_form_on_get",
  "cc_modules/tests/webview_tests.py::LoginViewTests::test_fails_when_user_locked_out",
  "cc_modules/tests/webview_tests.py::LoginViewTests::test_fails_when_username_absent",
  "cc_modules/tests/webview_tests.py::LoginViewTests::test_form_rendered_with_values",
  "cc_modules/tests/webview_tests.py::LoginViewTests::test_form_state_cleared_on_failed_login",
  "cc_modules/tests/webview_tests.py::LoginViewTests::test_login_with_hotp_increments_counter",
  "cc_modules/tests/webview_tests.py::LoginViewTests::test_password_autocomplete_read_from_config",
  "cc_modules/tests/webview_tests.py::LoginViewTests::test_session_state_set_for_user_with_mfa",
  "cc_modules/tests/webview_tests.py::LoginViewTests::test_session_user_cleared_on_failed_login",
  "cc_modules/tests/webview_tests.py::LoginViewTests::test_session_variables_set_for_user_with_mfa",
  "cc_modules/tests/webview_tests.py::LoginViewTests::test_template_rendered",
  "cc_modules/tests/webview_tests.py::LoginViewTests::test_timed_out_false_when_no_authenticated_user",
  "cc_modules/tests/webview_tests.py::LoginViewTests::test_timed_out_false_when_no_authentication_time",
  "cc_modules/tests/webview_tests.py::LoginViewTests::test_timed_out_false_when_timeout_zero",
  "cc_modules/tests/webview_tests.py::LoginViewTests::test_timed_out_false_when_zero",
  "cc_modules/tests/webview_tests.py::LoginViewTests::test_unknown_user_cannot_log_in",
  "cc_modules/tests/webview_tests.py::LoginViewTests::test_unprivileged_user_cannot_log_in",
  "cc_modules/tests/webview_tests.py::LoginViewTests::test_user_can_log_in",
  "cc_modules/tests/webview_tests.py::LoginViewTests::test_user_cannot_log_in_if_timed_out",
  "cc_modules/tests/webview_tests.py::LoginViewTests::test_user_with_2fa_can_log_in",
  "cc_modules/tests/webview_tests.py::LoginViewTests::test_user_with_2fa_sees_token_form",
  "cc_modules/tests/webview_tests.py::LoginViewTests::test_user_with_hotp_can_log_in",
  "cc_modules/tests/webview_tests.py::LoginViewTests::test_user_with_hotp_email_sees_token_form",
  "cc_modules/tests/webview_tests.py::LoginViewTests::test_user_with_hotp_is_sent_email",
  "cc_modules/tests/webview_tests.py::LoginViewTests::test_user_with_hotp_is_sent_sms",
  "cc_modules/tests/webview_tests.py::LoginViewTests::test_user_with_hotp_sms_sees_token_form",
  "cc_modules/tests/webview_tests.py::LoginViewTests::test_user_with_mfa_sees_token_form",
  "cc_modules/tests/webview_tests.py::LoginViewTests::test_user_with_totp_can_log_in",
  "cc_modules/tests/webview_tests.py::LoginViewTests::test_user_with_totp_sees_token_form",
  "cc_modules/tests/webview_tests.py::SendEmailFromPatientTaskScheduleViewTests::test_displays_form",
  "cc_modules/tests/webview_tests.py::SendEmailFromPatientTaskScheduleViewTests::test_email_record_created",
  "cc_modules/tests/webview_tests.py::SendEmailFromPatientTaskScheduleViewTests::test_message_on_failure",
  "cc_modules/tests/webview_tests.py::SendEmailFromPatientTaskScheduleViewTests::test_message_on_success",
  "cc_modules/tests/webview_tests.py::SendEmailFromPatientTaskScheduleViewTests::test_raises_for_missing_pts_id",
  "cc_modules/tests/webview_tests.py::SendEmailFromPatientTaskScheduleViewTests::test_sends_bcc_of_email",
  "cc_modules/tests/webview_tests.py::SendEmailFromPatientTaskScheduleViewTests::test_sends_cc_of_email",
  "cc_modules/tests/webview_tests.py::SendEmailFromPatientTaskScheduleViewTests::test_sends_copy_of_email",
  "cc_modules/tests/webview_tests.py::SendEmailFromPatientTaskScheduleViewTests::test_sends_email",
  "cc_modules/tests/webview_tests.py::SendEmailFromPatientTaskScheduleViewTests::test_unprivileged_user_cannot_email_patient",
  "cc_modules/tests/webview_tests.py::SendEmailViewTests::test_sends_email",
  "cc_modules/tests/webview_tests.py::SendPatientEmailViewTests2::test_sends_email",
  "cc_modules/tests/webview_tests.py::SendPatientEmailViewTests::test_displays_form",
  "cc_modules/tests/webview_tests.py::SendPatientEmailViewTests::test_email_record_created",
  "cc_modules/tests/webview_tests.py::SendPatientEmailViewTests::test_message_on_failure",
  "cc_modules/tests/webview_tests.py::SendPatientEmailViewTests::test_message_on_success",
  "cc_modules/tests/webview_tests.py::SendPatientEmailViewTests::test_raises_for_missing_patient_email",
  "cc_modules/tests/webview_tests.py::SendPatientEmailViewTests::test_raises_for_missing_pts_id",
  "cc_modules/tests/webview_tests.py::SendPatientEmailViewTests::test_rejects_missing_patient_email",
  "cc_modules/tests/webview_tests.py::SendPatientEmailViewTests::test_sends_copy_of_email",
  "cc_modules/tests/webview_tests.py::SendPatientEmailViewTests::test_sends_email",
  "cc_modules/tests/webview_tests.py::SendPatientEmailViewTests::test_sends_email2",
  "cc_modules/tests/webview_tests.py::ViewPatientTaskScheduleTests::test_patient_listed_with_no_tasks",
  "cc_modules/tests/webview_tests.py::ViewPatientTaskScheduleTests::test_patient_with_no_tasks",
  "cc_modules/tests/webview_tests.py::ViewPatientTaskSchedulesTests::test_patients_listed",
  "cc_modules/tests/webview_tests.py::ViewPatientTaskSchedulesTests::test_patients_listed_alphabetically",
  "cc_modules/tests/webview_tests.py::WebviewTests::test_any_records_use_group_false",
  "cc_modules/tests/webview_tests.py::WebviewTests::test_any_records_use_group_true",
  "cc_modules/tests/webview_tests.py::WebviewTests::test_webview_constant_validators",
  "tasks/tests/apeq_cpft_perinatal_tests.py::APEQCPFTPerinatalReportDateRangeTests::test_comments_filtered_by_date",
  "tasks/tests/apeq_cpft_perinatal_tests.py::APEQCPFTPerinatalReportDateRangeTests::test_ff_rows_filtered_by_date",
  "tasks/tests/apeq_cpft_perinatal_tests.py::APEQCPFTPerinatalReportDateRangeTests::test_ff_why_row_filtered_by_date",
  "tasks/tests/apeq_cpft_perinatal_tests.py::APEQCPFTPerinatalReportDateRangeTests::test_main_rows_filtered_by_date",
  "tasks/tests/apeq_cpft_perinatal_tests.py::APEQCPFTPerinatalReportTests::test_comments",
  "tasks/tests/apeq_cpft_perinatal_tests.py::APEQCPFTPerinatalReportTests::test_ff_rows_contain_percentages",
  "tasks/tests/apeq_cpft_perinatal_tests.py::APEQCPFTPerinatalReportTests::test_ff_rows_formatted",
  "tasks/tests/apeq_cpft_perinatal_tests.py::APEQCPFTPerinatalReportTests::test_ff_why_rows_contain_reasons",
  "tasks/tests/apeq_cpft_perinatal_tests.py::APEQCPFTPerinatalReportTests::test_main_rows_contain_percentages",
  "tasks/tests/apeq_cpft_perinatal_tests.py::APEQCPFTPerinatalReportTests::test_main_rows_formatted",
  "tasks/tests/aq_tests.py::AqTests::test_complete_when_all_answered",
  "tasks/tests/aq_tests.py::AqTests::test_incomplete_when_answers_missing",
  "tasks/tests/aq_tests.py::AqTests::test_max_attention_switching_score_is_10",
  "tasks/tests/aq_tests.py::AqTests::test_max_attention_to_detail_score_is_10",
  "tasks/tests/aq_tests.py::AqTests::test_max_communication_score_is_10",
  "tasks/tests/aq_tests.py::AqTests::test_max_imagination_score_is_10",
  "tasks/tests/aq_tests.py::AqTests::test_max_score_is_50",
  "tasks/tests/aq_tests.py::AqTests::test_max_social_skill_score_is_10",
  "tasks/tests/aq_tests.py::AqTests::test_min_attention_switching_score_is_0",
  "tasks/tests/aq_tests.py::AqTests::test_min_attention_to_detail_score_is_0",
  "tasks/tests/aq_tests.py::AqTests::test_min_communication_score_is_0",
  "tasks/tests/aq_tests.py::AqTests::test_min_imagination_score_is_0",
  "tasks/tests/aq_tests.py::AqTests::test_min_score_is_0",
  "tasks/tests/aq_tests.py::AqTests::test_min_social_skill_score_is_0",
  "tasks/tests/aq_tests.py::AqTests::test_score_is_none_if_any_none",
  "tasks/tests/aq_tests.py::AqTests::test_social_skill_score_is_none_if_any_none",
  "tasks/tests/basdai_tests.py::BasdaiTests::test_activity_state_active_for_4",
  "tasks/tests/basdai_tests.py::BasdaiTests::test_activity_state_inactive_for_less_than_4",
  "tasks/tests/basdai_tests.py::BasdaiTests::test_activity_state_qmark_for_none",
  "tasks/tests/basdai_tests.py::BasdaiTests::test_basdai_calculation",
  "tasks/tests/basdai_tests.py::BasdaiTests::test_basdai_complete_when_all_answers_valid",
  "tasks/tests/basdai_tests.py::BasdaiTests::test_basdai_incomplete_when_a_field_invalid",
  "tasks/tests/basdai_tests.py::BasdaiTests::test_basdai_incomplete_when_a_field_none",
  "tasks/tests/basdai_tests.py::BasdaiTests::test_basdai_none_when_field_none",
  "tasks/tests/bmi_tests.py::BmiTests::test_bmi_calculation_for_healthy_mass_and_height",
  "tasks/tests/bmi_tests.py::BmiTests::test_bmi_none_for_zero_height",
  "tasks/tests/bmi_tests.py::BmiTests::test_bmi_none_when_not_complete",
  "tasks/tests/cia_tests.py::CiaTests::test_complete_when_all_answers_valid",
  "tasks/tests/cia_tests.py::CiaTests::test_complete_when_all_mandatory_answers_valid",
  "tasks/tests/cia_tests.py::CiaTests::test_global_score_is_not_rated_for_any_unanswered_questions",
  "tasks/tests/cia_tests.py::CiaTests::test_global_score_is_not_rated_for_less_than_12_questions",
  "tasks/tests/cia_tests.py::CiaTests::test_global_score_is_not_rated_when_mandatory_questions_not_answered",
  "tasks/tests/cia_tests.py::CiaTests::test_global_score_is_prorated_for_applicable_questions",
  "tasks/tests/cia_tests.py::CiaTests::test_global_score_is_prorated_for_mandatory_questions",
  "tasks/tests/cia_tests.py::CiaTests::test_global_score_is_sum_of_answers",
  "tasks/tests/cia_tests.py::CiaTests::test_is_complete_false_when_not_finished",
  "tasks/tests/cia_tests.py::CiaTests::test_max_global_score_for_all_answers",
  "tasks/tests/cia_tests.py::CiaTests::test_not_complete_when_not_started",
  "tasks/tests/core10_tests.py::Core10ReportDateRangeTests::test_report_filtered_by_date_range",
  "tasks/tests/core10_tests.py::Core10ReportDoubleCountingTests::test_record_does_not_appear_in_first_and_latest",
  "tasks/tests/core10_tests.py::Core10ReportEmptyTests::test_no_rows_when_no_data",
  "tasks/tests/core10_tests.py::Core10ReportTests::test_row_has_totals_and_averages",
  "tasks/tests/core10_tests.py::Core10ReportTotalsTests::test_row_has_totals_and_averages",
  "tasks/tests/cpft_covid_medical_tests.py::CpftCovidMedicalTests::test_complete_when_all_answers_valid",
  "tasks/tests/cpft_covid_medical_tests.py::CpftCovidMedicalTests::test_incomplete_when_any_field_invalid",
  "tasks/tests/cpft_covid_medical_tests.py::CpftCovidMedicalTests::test_incomplete_when_symptoms_null",
  "tasks/tests/cpft_research_preferences_tests.py::CpftResearchPreferencesTests::test_complete_when_all_answers_valid",
  "tasks/tests/cpft_research_preferences_tests.py::CpftResearchPreferencesTests::test_complete_when_red_and_email_null",
  "tasks/tests/cpft_research_preferences_tests.py::CpftResearchPreferencesTests::test_incomplete_when_any_field_invalid",
  "tasks/tests/cpft_research_preferences_tests.py::CpftResearchPreferencesTests::test_incomplete_when_contact_preference_null",
  "tasks/tests/cpft_research_preferences_tests.py::CpftResearchPreferencesTests::test_incomplete_when_yellow_and_email_null",
  "tasks/tests/diagnosis_tests.py::DiagnosisICD10FinderReportTests::test_code_excluded",
  "tasks/tests/diagnosis_tests.py::DiagnosisICD10FinderReportTests::test_creates_report_from_one_record",
  "tasks/tests/diagnosis_tests.py::DiagnosisICD10FinderReportTests::test_creates_report_from_records",
  "tasks/tests/diagnosis_tests.py::DiagnosisICD10FinderReportTests::test_excludes_code",
  "tasks/tests/diagnosis_tests.py::DiagnosisICD10FinderReportTests::test_foo",
  "tasks/tests/diagnosis_tests.py::DiagnosisICD10FinderReportTests::test_no_records_creates_empty_report",
  "tasks/tests/edeq_tests.py::EdeqTests::test_complete_when_all_answers_valid",
  "tasks/tests/edeq_tests.py::EdeqTests::test_complete_when_all_answers_valid_for_female",
  "tasks/tests/edeq_tests.py::EdeqTests::test_complete_when_all_answers_valid_for_male",
  "tasks/tests/edeq_tests.py::EdeqTests::test_eating_concern_subscale",
  "tasks/tests/edeq_tests.py::EdeqTests::test_global_score_is_mean_of_subscales",
  "tasks/tests/edeq_tests.py::EdeqTests::test_global_score_none_if_any_subscale_none",
  "tasks/tests/edeq_tests.py::EdeqTests::test_incomplete_when_female_misses_female_questions",
  "tasks/tests/edeq_tests.py::EdeqTests::test_is_complete_false_when_not_finished",
  "tasks/tests/edeq_tests.py::EdeqTests::test_restraint_subscale",
  "tasks/tests/edeq_tests.py::EdeqTests::test_shape_concern_subscale",
  "tasks/tests/edeq_tests.py::EdeqTests::test_subscale_none_if_answer_none",
  "tasks/tests/edeq_tests.py::EdeqTests::test_weight_concern_subscale",
  "tasks/tests/empsa_tests.py::EmpsaTests::test_ability_subscale_is_mean_if_all_not_none",
  "tasks/tests/empsa_tests.py::EmpsaTests::test_ability_subscale_is_mean_of_all_not_none",
  "tasks/tests/empsa_tests.py::EmpsaTests::test_ability_subscale_is_none_if_any_none",
  "tasks/tests/empsa_tests.py::EmpsaTests::test_complete_when_all_questions_answered",
  "tasks/tests/empsa_tests.py::EmpsaTests::test_motivation_subscale_is_mean_if_all_not_none",
  "tasks/tests/empsa_tests.py::EmpsaTests::test_motivation_subscale_is_mean_of_all_not_none",
  "tasks/tests/empsa_tests.py::EmpsaTests::test_motivation_subscale_is_none_if_any_none",
  "tasks/tests/empsa_tests.py::EmpsaTests::test_not_complete_when_not_all_questions_answered",
  "tasks/tests/maas_tests.py::MaasReportTests::test_average_progress_is_positive",
  "tasks/tests/paradise24_tests.py::Paradise24Tests::test_complete_when_all_answers_valid",
  "tasks/tests/paradise24_tests.py::Paradise24Tests::test_is_complete_false_when_not_finished",
  "tasks/tests/paradise24_tests.py::Paradise24Tests::test_metric_score_derived_from_total",
  "tasks/tests/paradise24_tests.py::Paradise24Tests::test_total_score_is_sum_of_all_answers",
  "tasks/tests/paradise24_tests.py::Paradise24Tests::test_total_score_none_when_not_complete",
  "tasks/tests/perinatalpoem_tests.py::PerinatalPoemReportDateRangeTests::test_comments_filtered_by_date",
  "tasks/tests/perinatalpoem_tests.py::PerinatalPoemReportTests::test_comments",
  "tasks/tests/perinatalpoem_tests.py::PerinatalPoemReportTests::test_participation_rows_counts",
  "tasks/tests/perinatalpoem_tests.py::PerinatalPoemReportTests::test_q1_rows_counts",
  "tasks/tests/perinatalpoem_tests.py::PerinatalPoemReportTests::test_q2_rows_counts",
  "tasks/tests/perinatalpoem_tests.py::PerinatalPoemReportTests::test_q3_rows_counts",
  "tasks/tests/perinatalpoem_tests.py::PerinatalPoemReportTests::test_qa_rows_counts",
  "tasks/tests/perinatalpoem_tests.py::PerinatalPoemReportTests::test_qb_rows_counts",
  "tasks/tests/rapid3_tests.py::Rapid3Tests::test_complete_when_all_answers_valid",
  "tasks/tests/rapid3_tests.py::Rapid3Tests::test_disease_severity_high_for_12point1",
  "tasks/tests/rapid3_tests.py::Rapid3Tests::test_disease_severity_low_for_6",
  "tasks/tests/rapid3_tests.py::Rapid3Tests::test_disease_severity_moderate_for_12",
  "tasks/tests/rapid3_tests.py::Rapid3Tests::test_disease_severity_n_a_for_none",
  "tasks/tests/rapid3_tests.py::Rapid3Tests::test_disease_severity_near_remission_for_3",
  "tasks/tests/rapid3_tests.py::Rapid3Tests::test_incomplete_when_any_field_invalid",
  "tasks/tests/rapid3_tests.py::Rapid3Tests::test_incomplete_when_any_field_none",
  "tasks/tests/rapid3_tests.py::Rapid3Tests::test_rapid3_calculation",
  "tasks/tests/rapid3_tests.py::Rapid3Tests::test_rapid3_none_when_field_none"
]