setup.py
F 25:0 get_requirements - A (4)
f8a_report/s3_helper.py
M 16:4 S3Helper.__init__ - C (12)
M 55:4 S3Helper.s3_client - B (6)
M 109:4 S3Helper.list_objects - B (6)
C 13:0 S3Helper - A (5)
M 93:4 S3Helper.read_json_object - A (4)
M 129:4 S3Helper.store_file_object - A (3)
M 83:4 S3Helper.store_json_content - A (2)
f8a_report/unknown_deps_report_helper.py
M 18:4 UnknownDepsReportHelper.get_unknown_list - A (5)
C 11:0 UnknownDepsReportHelper - A (2)
M 51:4 UnknownDepsReportHelper.get_current_ingestion_status - A (2)
M 14:4 UnknownDepsReportHelper.__init__ - A (1)
M 37:4 UnknownDepsReportHelper.get_past_unknown_deps - A (1)
f8a_report/sentry_report_helper.py
M 92:4 SentryReportHelper.retrieve_events - C (14)
M 49:4 SentryReportHelper.normalize_sentry_data - B (7)
C 12:0 SentryReportHelper - B (6)
M 27:4 SentryReportHelper.retrieve_sentry_logs - A (4)
M 15:4 SentryReportHelper.__init__ - A (1)
f8a_report/graph_report_generator.py
F 58:0 generate_report_for_cves - B (10)
F 253:0 batch_query_executor - B (9)
F 159:0 generate_report_for_latest_version - B (6)
F 127:0 find_ingested_epv - A (5)
F 29:0 rectify_latest_version - A (4)
F 95:0 generate_report_for_unknown_epvs - A (4)
F 210:0 execute_gremlin_dsl - A (3)
F 227:0 get_session_retry - A (2)
F 246:0 get_value - A (2)
F 238:0 get_response_data - A (1)
f8a_report/manifest_helper.py
M 65:4 FilterStacks.filter_stacks_on_ecosystem - B (8)
C 62:0 FilterStacks - A (4)
M 101:4 FilterStacks.clean_stacks - A (4)
M 44:4 GetReport.generate_manifest_for_maven - A (3)
C 15:0 GetReport - A (2)
M 18:4 GetReport.__init__ - A (2)
M 26:4 GetReport.generate_manifest_for_pypi - A (2)
M 35:4 GetReport.generate_manifest_for_npm - A (2)
F 112:0 manifest_interface - A (1)
M 54:4 GetReport.save_manifest_to_s3 - A (1)
M 95:4 FilterStacks.filter_stacks_on_size - A (1)
f8a_report/main.py
F 20:0 main - A (4)
F 14:0 time_to_generate_monthly_report - A (1)
f8a_report/report_helper.py
M 605:4 ReportHelper.generate_results - C (16)
M 392:4 ReportHelper.normalize_worker_data - C (15)
M 288:4 ReportHelper.store_training_data - B (8)
M 804:4 ReportHelper.get_report - B (7)
M 205:4 ReportHelper.collate_raw_data - B (6)
M 169:4 ReportHelper.populate_key_count - A (5)
M 265:4 ReportHelper.get_training_data_for_ecosystem - A (5)
M 724:4 ReportHelper.populate_default_information - A (5)
M 105:4 ReportHelper.retrieve_stack_analyses_ids - A (4)
M 701:4 ReportHelper.check_latest_node - A (4)
C 41:0 ReportHelper - A (3)
M 187:4 ReportHelper.set_unique_stack_deps_count - A (3)
M 237:4 ReportHelper.invoke_emr_api - A (3)
M 558:4 ReportHelper.retrieve_worker_results - A (3)
M 755:4 ReportHelper.normalize_ingestion_data - A (3)
M 68:4 ReportHelper.cleanup_db_tables - A (2)
M 97:4 ReportHelper.validate_and_process_date - A (2)
M 138:4 ReportHelper.retrieve_stack_analyses_content - A (2)
M 197:4 ReportHelper.normalize_deps_list - A (2)
M 357:4 ReportHelper.save_result - A (2)
M 368:4 ReportHelper.get_report_name - A (2)
M 844:4 ReportHelper.re_train - A (2)
C 27:0 Postgres - A (1)
M 30:4 Postgres.__init__ - A (1)
M 44:4 ReportHelper.__init__ - A (1)
M 133:4 ReportHelper.get_time_delta - A (1)
M 159:4 ReportHelper.flatten_list - A (1)
M 163:4 ReportHelper.datediff_in_millisecs - A (1)
M 330:4 ReportHelper.get_trending - A (1)
M 334:4 ReportHelper.get_ecosystem_summary - A (1)
M 375:4 ReportHelper.collate_and_retrain - A (1)
M 382:4 ReportHelper.create_venus_report - A (1)
M 587:4 ReportHelper.retrieve_ingestion_results - A (1)
f8a_report/cve_helper.py
M 50:4 CVE.validate_cveids_in_graph - B (7)
M 25:4 CVE.get_cveids_from_cvedb_prs - A (5)
M 93:4 CVE.call_github_api - A (5)
M 114:4 CVE.get_open_cves_count - A (5)
C 13:0 CVE - A (4)
M 135:4 CVE.generate_cve_report - A (3)
M 82:4 CVE.get_fp_cves_count - A (2)
M 16:4 CVE.__init__ - A (1)
tests/test_stack_report_helper.py
F 158:0 test_retrieve_stack_analyses_ids_wrong_dates - C (13)
F 204:0 test_flatten_list_already_flat_list - B (7)
F 117:0 test_validate_and_process_date_no_real_dates - A (5)
F 128:0 test_validate_and_process_date_failure - A (5)
F 367:0 test_normalize_worker_data - A (5)
F 197:0 test_flatten_list - A (4)
F 108:0 test_validate_and_process_date_success - A (3)
F 191:0 test_flatten_list_empty_input - A (3)
F 225:0 test_datediff_in_millisecs - A (3)
F 243:0 test_datediff_in_millisecs_one_sec_change - A (3)
F 250:0 test_datediff_in_millisecs_one_day_change - A (3)
F 269:0 test_normalize_deps_list_sorted - A (3)
F 286:0 test_populate_key_count_failure - A (3)
F 151:0 test_retrieve_stack_analyses_ids - A (2)
F 219:0 test_datediff_in_millisecs_same_dates - A (2)
F 236:0 test_datediff_in_millisecs_no_negative_result - A (2)
F 257:0 test_normalize_deps_list - A (2)
F 263:0 test_normalize_deps_list_empty_input - A (2)
F 280:0 test_populate_key_count_success - A (2)
F 293:0 test_store_training_data - A (2)
F 301:0 test_get_training_data_for_eco - A (2)
F 308:0 test_collate_raw_data - A (2)
F 351:0 test_invoke_emr_api_success - A (2)
F 359:0 test_invoke_emr_api_failure - A (2)
F 387:0 test_normalize_worker_data_no_stack_aggregator - A (2)
F 399:0 test_get_report - A (2)
F 414:0 test_get_report_negative_results - A (2)
F 427:0 test_retrieve_worker_results - A (2)
F 433:0 test_normalize_ingestion_data - A (2)
F 442:0 test_get_trending - A (2)
F 450:0 test_re_train - A (2)
F 459:0 test_create_venus_report - A (2)
F 466:0 test_collate_and_retrain - A (2)
F 317:0 mock_emr_api - A (1)
F 334:0 mock_emr_api_fail - A (1)
C 139:0 MockPostgres - A (1)
M 142:4 MockPostgres.execute - A (1)
M 146:4 MockPostgres.fetchall - A (1)
tests/test_sentry_report_helper.py
F 95:0 test_retrieve_sentry_logs_success - A (2)
F 117:0 test_retrieve_sentry_logs_failure - A (2)
F 123:0 test_retrieve_sentry_logs_nostacktrace - A (2)
tests/test_main.py
F 62:0 test_environment - A (5)
F 43:0 test_time_to_generate_monthly_report - A (3)
F 52:0 test_main - A (2)
C 11:0 TodayMockClass - A (1)
M 14:4 TodayMockClass.__init__ - A (1)
C 19:0 MockReportHelper - A (1)
M 22:4 MockReportHelper.get_report - A (1)
M 27:4 MockReportHelper.re_train - A (1)
M 32:4 MockReportHelper.cleanup_db_tables - A (1)
M 37:4 MockReportHelper.retrieve_stack_analyses_content - A (1)
tests/test_manifest_helper.py
F 19:0 test_manifests_helper - A (2)
F 24:0 test_generate_manifest_for_pypi - A (2)
F 32:0 test_generate_manifest_for_npm - A (2)
F 40:0 test_generate_manifest_for_maven - A (2)
F 48:0 test_save_manifest_to_s3 - A (2)
F 60:0 test_clean_stacks - A (2)
F 68:0 test_filter_stack_on_size - A (2)
F 75:0 test_manifests_interface - A (2)
F 82:0 test_filter_stacks_on_ecosystem - A (2)
tests/test_cve_helper.py
F 88:0 test_validate_cveids_in_graph - B (8)
F 75:0 test_get_cveids_from_cvedb_prs - A (5)
F 111:0 test_get_fp_cves_count - A (4)
F 124:0 test_call_github_api - A (3)
F 35:0 mock_graph_post_error - A (2)
F 55:0 mock_graph_post - A (2)
F 138:0 test_get_open_cves_count - A (2)
F 147:0 test_generate_cve_report - A (2)
F 17:0 mock_github_get - A (1)
tests/test_s3_helper.py
F 34:0 test_read_json_object - A (3)
F 47:0 test_list_objects - A (3)
F 13:0 test_s3_helper - A (2)
F 18:0 test_s3_client - A (2)
F 60:0 test_store_file_object - A (2)
F 25:0 test_store_json_content - A (1)
tests/test_unknown_deps_report_helper.py
F 36:0 test_get_current_ingestion_status - A (5)
F 31:0 test_get_unknown_list - A (2)
tests/test_graph_report_generator.py
F 152:0 test_generate_report_for_latest_version - B (7)
F 217:0 test_find_ingested_epv - A (5)
F 177:0 test_generate_report_for_cves - A (4)
F 133:0 test_generate_report_for_unknown_epvs - A (3)
F 201:0 test_execute_gremlin_dsl - A (2)
F 237:0 test_rectify_latest_version - A (2)
F 251:0 test_rectify_latest_version2 - A (2)
F 10:0 mock_post_with_payload_check - A (1)
F 28:0 mock_response - A (1)
F 45:0 mock_response1 - A (1)
F 74:0 mock_response2 - A (1)
F 116:0 mock_response3 - A (1)
tools/check_python_version.py
F 19:0 get_expected_version - A (4)
F 48:0 compare_versions - A (2)
F 59:0 main - A (2)
F 43:0 get_actual_version - A (1)
175 blocks (classes, functions, methods) analyzed.
Average complexity: A (3.125714285714286)