コード例 #1
0
ファイル: cc_analytics.py プロジェクト: parijatsahai/camcops
def unit_tests():
    """Unit tests for the cc_analytics module."""
    # -------------------------------------------------------------------------
    # DELAYED IMPORTS
    # -------------------------------------------------------------------------
    from cc_unittest import unit_test_ignore

    unit_test_ignore("", send_analytics_if_necessary)
    unit_test_ignore("", get_all_tables_with_record_counts)
コード例 #2
0
ファイル: cc_blob.py プロジェクト: parijatsahai/camcops
def unit_tests():
    """Unit tests for the cc_blob module."""
    # -------------------------------------------------------------------------
    # DELAYED IMPORTS
    # -------------------------------------------------------------------------
    from cc_unittest import unit_test_ignore

    current_pks = pls.db.fetchallfirstvalues(
        "SELECT _pk FROM {} WHERE _current".format(Blob.TABLENAME)
    )
    test_pks = [None, current_pks[0]] if current_pks else [None]
    for pk in test_pks:
        blob = Blob(pk)
        unit_tests_blob(blob)

    unit_test_ignore("", get_current_blob_by_client_info, "", 0, ERA_NOW)
    unit_test_ignore("", get_contemporaneous_blob_by_client_info,
                     "", 0, ERA_NOW, None, None)
コード例 #3
0
ファイル: cc_report.py プロジェクト: parijatsahai/camcops
def task_unit_test_report(name, r):
    """Unit tests for reports."""
    # -------------------------------------------------------------------------
    # DELAYED IMPORTS
    # -------------------------------------------------------------------------
    from cc_unittest import unit_test_ignore

    unit_test_ignore("Testing {}.get_report_id".format(name),
                     r.get_report_id)
    unit_test_ignore("Testing {}.get_report_title".format(name),
                     r.get_report_title)
    unit_test_ignore("Testing {}.get_param_spec_list".format(name),
                     r.get_param_spec_list)
    unit_test_ignore("Testing {}.get_rows_descriptions".format(name),
                     r.get_rows_descriptions)
コード例 #4
0
ファイル: cc_session.py プロジェクト: parijatsahai/camcops
def unit_tests():
    """Unit tests for cc_session module."""
    # -------------------------------------------------------------------------
    # DELAYED IMPORTS
    # -------------------------------------------------------------------------
    from cc_unittest import unit_test_ignore

    unit_test_ignore("", delete_old_sessions)
    unit_test_ignore("", is_token_in_use, "dummytoken")
    unit_test_ignore("", generate_token)
    # skip: establish_session

    current_pks = pls.db.fetchallfirstvalues(
        "SELECT id FROM {}".format(Session.TABLENAME)
    )
    test_pks = [None, current_pks[0]] if current_pks else [None]
    for pk in test_pks:
        s = Session(pk)
        unit_tests_session(s)
コード例 #5
0
ファイル: cc_user.py プロジェクト: parijatsahai/camcops
def unit_tests():
    """Unit tests for cc_user module."""
    # -------------------------------------------------------------------------
    # DELAYED IMPORTS
    # -------------------------------------------------------------------------
    # import cgi
    import cc_session
    from cc_unittest import unit_test_ignore

    unit_test_ignore("", delete_old_account_lockouts)
    unit_test_ignore("", is_user_locked_out, "dummy_user")
    unit_test_ignore("", user_locked_out_until, "dummy_user")
    # skip: lock_user_out
    # skip: unlock_user
    # skip: record_login_failure
    # skip: act_on_login_failure
    # skip: clear_login_failures
    unit_test_ignore("", how_many_login_failures, "dummy_user")
    # skip: enable_user
    unit_test_ignore("", clear_login_failures_for_nonexistent_users)
    unit_test_ignore("", clear_dummy_login_failures_if_necessary)
    unit_test_ignore("", take_some_time_mimicking_password_encryption)

    user = User("dummy_user")
    # skip: user.save
    # skip: user.set_password
    unit_test_ignore("", user.is_password_valid, "dummy_password")
    # skip: user.force_password_change
    # skip: user.login
    # skip: user.set_password_change_flag_if_necessary
    unit_test_ignore("", user.must_agree_terms)
    # skip: user.agree_terms
    # skip: user.clear_login_failures
    # skip: user.enable

    unit_test_ignore("", user_exists, "dummy_user")
    # skip: create_superuser
    unit_test_ignore("", get_user, "dummy_user", "dummy_password")
    unit_test_ignore("", is_username_permissible, "dummy_user")
    unit_test_ignore("", is_username_permissible, "dummy_user")

    session = cc_session.Session()
    # form = cgi.FieldStorage()

    unit_test_ignore("", enter_new_password, session, "dummy_user")
    # skip: change_password
    # skip: set_password_directly
    unit_test_ignore("", manage_users, session)
    unit_test_ignore("", edit_user, session, "dummy_user")
    # skip: change_user
    unit_test_ignore("", ask_to_add_user, session)
    # skip: add_user
    unit_test_ignore("", ask_delete_user, session, "dummy_user")
    # skip: delete_user
    unit_test_ignore("", user_management_success_message, "test_msg", True)
    unit_test_ignore("", user_management_success_message, "test_msg", False)
    unit_test_ignore("", user_management_failure_message, "test_msg", True)
    unit_test_ignore("", user_management_failure_message, "test_msg", False)
コード例 #6
0
ファイル: cc_policy.py プロジェクト: parijatsahai/camcops
def unit_tests():
    """Unit tests for cc_policy module."""
    # -------------------------------------------------------------------------
    # DELAYED IMPORTS
    # -------------------------------------------------------------------------
    from cc_unittest import unit_test_ignore

    test_policies = [
        "",
        "sex AND (failure",
        "sex AND idnum1",
    ]
    test_idnums = [
        None,
        -1,
        1
    ]
    bpi = cc_namedtuples.BarePatientInfo(
        forename="forename",
        surname="surname",
        dob="dob",
        sex="sex",
        idnum_array=[5] * NUMBER_OF_IDNUMS,
    )
    for p in test_policies:
        unit_test_ignore("", tokenize_upload_id_policy, p)
        unit_test_ignore("", tokenize_finalize_id_policy, p)
        unit_test_ignore("", get_tokenized_id_policy, p)
    unit_test_ignore("", find_critical_single_numerical_id,
                     ID_POLICY_UPLOAD_TOKENIZED)
    for i in test_idnums:
        unit_test_ignore("", is_idnum_mandatory_in_upload_policy, i)
        unit_test_ignore("", is_idnum_mandatory_in_finalize_policy, i)
        unit_test_ignore("", is_idnum_mandatory_in_policy, i,
                         ID_POLICY_UPLOAD_TOKENIZED)
    unit_test_ignore("", upload_id_policy_valid)
    unit_test_ignore("", finalize_id_policy_valid)
    unit_test_ignore("", get_upload_id_policy_principal_numeric_id)
    unit_test_ignore("", get_finalize_id_policy_principal_numeric_id)
    unit_test_ignore("", satisfies_upload_id_policy, bpi)
    unit_test_ignore("", satisfies_finalize_id_policy, bpi)
    unit_test_ignore("", satisfies_id_policy, bpi,
                     ID_POLICY_UPLOAD_TOKENIZED)
コード例 #7
0
ファイル: cc_blob.py プロジェクト: parijatsahai/camcops
def unit_tests_blob(blob):
    """Unit tests for the Blob class."""
    # -------------------------------------------------------------------------
    # DELAYED IMPORTS
    # -------------------------------------------------------------------------
    from cc_unittest import unit_test_ignore

    # skip Blob.make_tables
    unit_test_ignore("", blob.dump)
    unit_test_ignore("", blob.get_rotated_image)
    unit_test_ignore("", blob.get_rotated_image, rotation_clockwise_deg=90)
    unit_test_ignore("", blob.get_png_img_html)
    unit_test_ignore("", blob.get_png_img_html, rotation_clockwise_deg=90)
    unit_test_ignore("", blob.get_png_xml_tuple, "name")
    unit_test_ignore("", blob.get_png_xml_tuple, "name",
                     rotation_clockwise_deg=90)
    unit_test_ignore("", blob.get_png_data_url)
    unit_test_ignore("", blob.is_valid_png)
コード例 #8
0
ファイル: cc_session.py プロジェクト: parijatsahai/camcops
def unit_tests_session(s):
    """Unit tests for Session class."""
    # -------------------------------------------------------------------------
    # DELAYED IMPORTS
    # -------------------------------------------------------------------------
    from cc_unittest import unit_test_ignore

    ntasks = 75

    # skip: make_tables
    # __set_defaults: not visible to outside world
    # skip: logout
    # skip: save
    unit_test_ignore("", s.get_cookies)
    # skip: login
    unit_test_ignore("", s.authorized_as_viewer)
    unit_test_ignore("", s.authorized_to_add_special_note)
    unit_test_ignore("", s.user_must_change_password)
    unit_test_ignore("", s.user_must_agree_terms)
    # skip: agree_terms
    unit_test_ignore("", s.authorized_as_superuser)
    unit_test_ignore("", s.authorized_to_dump)
    unit_test_ignore("", s.authorized_for_reports)
    unit_test_ignore("", s.restricted_to_viewing_user)
    unit_test_ignore("", s.user_may_view_all_patients_when_unfiltered)
    unit_test_ignore("", s.get_current_user_html, True)
    unit_test_ignore("", s.get_current_user_html, False)
    unit_test_ignore("", s.any_patient_filtering)
    unit_test_ignore("", s.any_specific_patient_filtering)
    unit_test_ignore("", s.get_current_filter_html)
    # skip: apply_filters
    # skip: apply_filter_surname
    # skip: apply_filter_forename
    # skip: apply_filter_dob
    # skip: apply_filter_sex
    # skip: apply_filter_idnums
    # skip: apply_filter_task
    # skip: apply_filter_complete
    # skip: apply_filter_include_old_versions
    # skip: apply_filter_device
    # skip: apply_filter_user
    # skip: apply_filter_start_datetime
    # skip: apply_filter_end_datetime
    # skip: apply_filter_text
    # skip: clear_filters
    # skip: clear_filter_surname
    # skip: clear_filter_forename
    # skip: clear_filter_dob
    # skip: clear_filter_sex
    # skip: clear_filter_idnums
    # skip: clear_filter_task
    # skip: clear_filter_complete
    # skip: clear_filter_include_old_versions
    # skip: clear_filter_device
    # skip: clear_filter_user
    # skip: clear_filter_start_datetime
    # skip: clear_filter_end_datetime
    # skip: clear_filter_text
    unit_test_ignore("", s.get_filter_dob)
    unit_test_ignore("", s.get_filter_start_datetime)
    unit_test_ignore("", s.get_filter_end_datetime)
    unit_test_ignore("", s.get_filter_end_datetime_corrected_1day)
    unit_test_ignore("", s.get_first_task_to_view)
    unit_test_ignore("", s.get_last_task_to_view, ntasks)
    unit_test_ignore("", s.get_npages, ntasks)
    unit_test_ignore("", s.get_current_page)
    # skip: change_number_to_view
    unit_test_ignore("", s.get_number_to_view_selector)
コード例 #9
0
ファイル: cc_report.py プロジェクト: parijatsahai/camcops
def unit_tests():
    """Unit tests for cc_report module."""
    # -------------------------------------------------------------------------
    # DELAYED IMPORTS
    # -------------------------------------------------------------------------
    import cc_session
    from cc_unittest import unit_test_ignore

    session = cc_session.Session()
    paramspec = {
        PARAM.TYPE: PARAM.WHICH_IDNUM,
        PARAM.NAME: "xname",
        PARAM.LABEL: "label"
    }
    form = cgi.FieldStorage()
    rows = [
        ["a1", "a2", "a3"],
        ["b1", "b2", "b3"],
    ]
    descriptions = ["one", "two", "three"]

    unit_test_ignore("", offer_report_menu, session)
    unit_test_ignore("", get_param_html, paramspec)
    unit_test_ignore("", get_params_from_form, [paramspec], form)
    unit_test_ignore("", get_all_report_ids)
    unit_test_ignore("", get_report_instance, "hello")
    unit_test_ignore("", offer_individual_report, session, form)
    unit_test_ignore("", ws.html_table_from_query, rows, descriptions)
    unit_test_ignore("", escape_for_tsv, "x")
    unit_test_ignore("", tsv_from_query, rows, descriptions)
    unit_test_ignore("", provide_report, session, form)
    unit_test_ignore("", get_param_html, paramspec)
    unit_test_ignore("", get_param_html, paramspec)

    for cls in Report.__subclasses__():
        name = cls.__name__
        report = cls()
        task_unit_test_report(name, report)
コード例 #10
0
ファイル: cc_dump.py プロジェクト: parijatsahai/camcops
def unit_tests():
    """Unit tests for the cc_dump module."""
    # -------------------------------------------------------------------------
    # DELAYED IMPORTS
    # -------------------------------------------------------------------------
    from cc_unittest import unit_test_ignore

    unit_test_ignore("", get_possible_task_tables_views)
    unit_test_ignore("", get_permitted_tables_and_views)
    unit_test_ignore("", get_permitted_tables_views_sorted_labelled)
    unit_test_ignore("", validate_table_list, [None, "phq9",
                                               "nonexistent_table"])
    unit_test_ignore("", validate_single_table, None)
    unit_test_ignore("", validate_single_table, "phq9")
    unit_test_ignore("", validate_single_table, "nonexistent_table")
    unit_test_ignore("", get_database_dump_as_sql)
    # get_query_as_tsv tested indirectly
    unit_test_ignore("", get_view_data_as_tsv, "phq9")
    unit_test_ignore("", get_view_data_as_tsv, "nonexistent_table")
    unit_test_ignore("", get_multiple_views_data_as_tsv_zip,
                     [None, "phq9", "nonexistent_table"])