Skip to content

Fix/testing oed4 update (#1160) #308

Fix/testing oed4 update (#1160)

Fix/testing oed4 update (#1160) #308

GitHub Actions / Pytest Results succeeded Jan 28, 2025 in 0s

355 passed, 2 failed and 17 skipped

Tests failed

❌ pytest_report.xml

374 tests were completed in 1152s with 355 passed, 2 failed and 17 skipped.

Test suite Passed Failed Skipped Time
pytest 355✅ 2❌ 17⚪ 1152s

❌ pytest

⚪ src.server.oasisapi.files.v1_api.tests.test_convert
⚪ src.server.oasisapi.files.v2_api.tests.test_convert
src.server.oasisapi.analyses.v1_api.tests.test_analysis_api.AnalysisApi
  ✅ test_cleaned_name_is_empty___response_is_400
  ✅ test_cleaned_name_portfolio_and_model_are_present___object_is_created
  ✅ test_complex_model_file_present___object_is_created
  ✅ test_model_does_exist___response_is_200
  ✅ test_model_does_not_exist___response_is_400
  ✅ test_model_run_mode_is_not_V1___response_is_400
  ✅ test_name_is_not_provided___response_is_400
  ✅ test_user_is_authenticated_object_does_not_exist___response_is_404
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.analyses.v1_api.tests.test_analysis_api.AnalysisRun
  ✅ test_run_mode_is_not_V1___responce_is_400
  ✅ test_user_is_authenticated_object_does_not_exist___response_is_404
  ✅ test_user_is_authenticated_object_exists___run_is_called
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.analyses.v1_api.tests.test_analysis_api.AnalysisCancel
  ✅ test_user_is_authenticated_object_does_not_exist___response_is_404
  ✅ test_user_is_authenticated_object_exists___cancel_is_called
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.analyses.v1_api.tests.test_analysis_api.AnalysisGenerateInputs
  ✅ test_model_run_mode_not_V1___response_is_400
  ✅ test_user_is_authenticated_object_does_not_exist___response_is_404
  ✅ test_user_is_authenticated_object_exists___generate_inputs_is_called
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.analyses.v1_api.tests.test_analysis_api.AnalysisCancelInputsGeneration
  ✅ test_user_is_authenticated_object_does_not_exist___response_is_404
  ✅ test_user_is_authenticated_object_exists___generate_inputs_generation_is_called
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.analyses.v1_api.tests.test_analysis_api.AnalysisCopy
  ✅ test_complex_model_file_is_not_supplied___model_is_copied
  ✅ test_complex_model_file_is_supplied___model_is_replaced
  ✅ test_creator_is_set_to_caller
  ✅ test_generate_inputs_task_id_is_reset
  ✅ test_input_file_is_not_supplied___input_file_is_not_copied
  ✅ test_lookup_errors_file_is_cleared
  ✅ test_lookup_success_file_is_cleared
  ✅ test_lookup_validation_file_is_cleared
  ✅ test_model_is_not_supplied___model_is_copied
  ✅ test_model_is_supplied___model_is_replaced
  ✅ test_new_name_is_provided___new_name_is_set_on_new_object
  ✅ test_new_object_is_created
  ✅ test_no_new_name_is_provided___copy_is_appended_to_name
  ✅ test_output_file_is_cleared
  ✅ test_portfolio_is_not_supplied___portfolio_is_copied
  ✅ test_portfolio_is_supplied___portfolio_is_replaced
  ✅ test_run_task_id_is_reset
  ✅ test_settings_file_is_not_supplied___settings_file_is_copied
  ✅ test_state_is_reset
  ✅ test_user_is_authenticated_object_does_not_exist___response_is_404
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.analyses.v1_api.tests.test_analysis_api.AnalysisSettingsJson
  ✅ test_settings_json_is_not_present___delete_response_is_404
  ✅ test_settings_json_is_not_present___get_response_is_404
  ✅ test_settings_json_is_not_valid___response_is_400
  ✅ test_settings_json_is_uploaded___can_be_retrieved
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.analyses.v1_api.tests.test_analysis_api.AnalysisSettingsFile
  ✅ test_settings_file_is_not_a_valid_format___response_is_400
  ✅ test_settings_file_is_not_present___delete_response_is_404
  ✅ test_settings_file_is_not_present___get_response_is_404
  ✅ test_settings_file_is_uploaded___file_can_be_retrieved
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.analyses.v1_api.tests.test_analysis_api.AnalysisInputFile
  ✅ test_input_file_is_not_present___get_response_is_404
  ✅ test_input_file_is_present___file_can_be_retrieved
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.analyses.v1_api.tests.test_analysis_api.AnalysisLookupErrorsFile
  ✅ test_lookup_errors_file_is_not_present___get_response_is_404
  ✅ test_lookup_errors_file_is_present___file_can_be_retrieved
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.analyses.v1_api.tests.test_analysis_api.AnalysisLookupSuccessFile
  ✅ test_lookup_success_file_is_not_present___get_response_is_404
  ✅ test_lookup_success_file_is_present___file_can_be_retrieved
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.analyses.v1_api.tests.test_analysis_api.AnalysisLookupValidationFile
  ✅ test_lookup_validation_file_is_not_present___get_response_is_404
  ✅ test_lookup_validation_file_is_present___file_can_be_retrieved
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.analyses.v1_api.tests.test_analysis_api.AnalysisInputGenerationTracebackFile
  ✅ test_input_generation_traceback_file_is_not_present___delete_response_is_404
  ✅ test_input_generation_traceback_file_is_not_present___get_response_is_404
  ✅ test_input_generation_traceback_file_is_present___file_can_be_retrieved
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.analyses.v1_api.tests.test_analysis_api.AnalysisOutputFile
  ✅ test_output_file_is_not_present___delete_response_is_404
  ✅ test_output_file_is_not_present___get_response_is_404
  ✅ test_output_file_is_not_valid_format___post_response_is_405
  ✅ test_output_file_is_present___file_can_be_retrieved
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.analyses.v1_api.tests.test_analysis_api.AnalysisRunTracebackFile
  ✅ test_run_traceback_file_is_not_present___delete_response_is_404
  ✅ test_run_traceback_file_is_not_present___get_response_is_404
  ✅ test_run_traceback_file_is_not_valid_format___post_response_is_405
  ✅ test_run_traceback_file_is_present___file_can_be_retrieved
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.analyses.v1_api.tests.test_analysis_model.AnalysisCancel
  ✅ test_state_is_not_running___validation_error_is_raised_revoke_is_not_called
  ✅ test_state_is_running___revoke_is_called
src.server.oasisapi.analyses.v1_api.tests.test_analysis_model.AnalysisRun
  ✅ test_state_is_ready___run_is_started
  ✅ test_state_is_running_or_generating_inputs___validation_error_is_raised_revoke_is_not_called
  ✅ test_v1_run_analysis_signature_is_correct
src.server.oasisapi.analyses.v1_api.tests.test_analysis_model.AnalysisCancelInputGeneration
  ✅ test_state_is_generating_inputs___revoke_is_called
  ✅ test_state_is_not_generating_inputs___validation_error_is_raised_revoke_is_not_called
src.server.oasisapi.analyses.v1_api.tests.test_analysis_model.AnalysisGenerateInputs
  ✅ test_portfolio_has_no_location_file___validation_error_is_raised_revoke_is_not_called
  ✅ test_state_is_not_running___run_is_started
  ✅ test_state_is_running_or_generating_inputs___validation_error_is_raised_revoke_is_not_called
  ✅ test_v1_generate_input_signature_is_correct
src.server.oasisapi.analyses.v1_api.tests.test_analysis_tasks.RunAnalysisSuccess
  ✅ test_output_file_and_status_are_updated
src.server.oasisapi.analyses.v1_api.tests.test_analysis_tasks.RunAnalysisFailure
  ✅ test_output_tracebackfile__and_status_are_updated
src.server.oasisapi.analyses.v1_api.tests.test_analysis_tasks.GenerateInputsSuccess
  ✅ test_input_file_lookup_files_and_status_are_updated
src.server.oasisapi.analyses.v1_api.tests.test_analysis_tasks.GenerateInputsFailure
  ✅ test_input_generation_traceback_file_and_status_are_updated
src.server.oasisapi.analyses.v2_api.tests.test_analysis_api.AnalysisApi
  ✅ test_cleaned_name_is_empty___response_is_400
  ✅ test_cleaned_name_portfolio_and_model_are_present___object_is_created
  ✅ test_cleaned_name_portfolio_and_model_are_present___run_mode_null_response_is_400
  ✅ test_complex_model_file_present___object_is_created
  ✅ test_create_as_admin_low_priority___successfully
  ✅ test_create_as_no_admin_low_priority___rejected
  ✅ test_create_no_priority___successfully_set_default
  ✅ test_model_does_exist___response_is_200
  ✅ test_model_does_not_exist___response_is_400
  ✅ test_modify_analysis_without_group___successfully
  ✅ test_multiple_analyses_with_different_groups___user_should_not_see_each_others
  ✅ test_multiple_analyses_with_different_groups___user_without_group_should_not_see_them
  ✅ test_name_is_not_provided___response_is_400
  ✅ test_portfolio_group_inheritance___same_groups_as_portfolio
  ✅ test_user_is_authenticated_object_does_not_exist___response_is_404
  ✅ test_user_is_not_authenticated___response_is_forbidden
  ✅ test_user_with_and_without_group_can_access_portfolio_without_group
src.server.oasisapi.analyses.v2_api.tests.test_analysis_api.AnalysisRun
  ✅ test_user_is_authenticated_object_does_not_exist___response_is_404
  ✅ test_user_is_authenticated_object_exists___run_is_called
  ✅ test_user_is_authenticated_object_exists___run_is_called__with_override
  ✅ test_user_is_not_authenticated___response_is_forbidden
  ✅ test_user_is_not_in_same_model_group___run_is_denied
src.server.oasisapi.analyses.v2_api.tests.test_analysis_api.AnalysisCancel
  ✅ test_user_is_authenticated_object_does_not_exist___response_is_404
  ✅ test_user_is_authenticated_object_exists___cancel_is_called
  ✅ test_user_is_not_authenticated___response_is_forbidden
  ✅ test_user_is_not_in_same_model_group___cancel_is_denied
src.server.oasisapi.analyses.v2_api.tests.test_analysis_api.AnalysisGenerateInputs
  ✅ test_user_is_authenticated_object_does_not_exist___response_is_404
  ✅ test_user_is_authenticated_object_exists___generate_inputs_is_called
  ✅ test_user_is_authenticated_object_exists___generate_inputs_is_called__with_override
  ✅ test_user_is_not_authenticated___response_is_forbidden
  ✅ test_user_is_not_in_same_model_group___run_is_denied
src.server.oasisapi.analyses.v2_api.tests.test_analysis_api.AnalysisCancelInputsGeneration
  ✅ test_user_is_authenticated_object_does_not_exist___response_is_404
  ✅ test_user_is_authenticated_object_exists___generate_inputs_generation_is_called
  ✅ test_user_is_not_authenticated___response_is_forbidden
  ✅ test_user_is_not_in_same_model_group___cancel_is_denied
src.server.oasisapi.analyses.v2_api.tests.test_analysis_api.AnalysisCopy
  ✅ test_complex_model_file_is_not_supplied___model_is_copied
  ✅ test_complex_model_file_is_supplied___model_is_replaced
  ✅ test_creator_is_set_to_caller
  ✅ test_generate_inputs_task_id_is_reset
  ✅ test_input_file_is_not_supplied___input_file_is_not_copied
  ✅ test_lookup_errors_file_is_cleared
  ✅ test_lookup_success_file_is_cleared
  ✅ test_lookup_validation_file_is_cleared
  ✅ test_model_is_not_supplied___model_is_copied
  ✅ test_model_is_supplied___model_is_replaced
  ✅ test_new_name_is_provided___new_name_is_set_on_new_object
  ✅ test_new_object_is_created
  ✅ test_no_new_name_is_provided___copy_is_appended_to_name
  ✅ test_output_file_is_cleared
  ✅ test_portfolio_is_not_supplied___portfolio_is_copied
  ✅ test_portfolio_is_supplied___portfolio_is_replaced
  ✅ test_run_task_id_is_reset
  ✅ test_settings_file_is_not_supplied___settings_file_is_copied
  ✅ test_state_is_reset
  ✅ test_user_is_authenticated_object_does_not_exist___response_is_404
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.analyses.v2_api.tests.test_analysis_api.AnalysisSettingsJson
  ✅ test_settings_json_is_not_present___delete_response_is_404
  ✅ test_settings_json_is_not_present___get_response_is_404
  ✅ test_settings_json_is_not_valid___response_is_400
  ✅ test_settings_json_is_uploaded___can_be_retrieved
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.analyses.v2_api.tests.test_analysis_api.AnalysisSettingsFile
  ✅ test_settings_file_is_not_a_valid_format___response_is_400
  ✅ test_settings_file_is_not_present___delete_response_is_404
  ✅ test_settings_file_is_not_present___get_response_is_404
  ✅ test_settings_file_is_uploaded___file_can_be_retrieved
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.analyses.v2_api.tests.test_analysis_api.AnalysisInputFile
  ✅ test_input_file_is_not_present___get_response_is_404
  ✅ test_input_file_is_present___file_can_be_retrieved
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.analyses.v2_api.tests.test_analysis_api.AnalysisLookupErrorsFile
  ✅ test_lookup_errors_file_is_not_present___get_response_is_404
  ✅ test_lookup_errors_file_is_present___file_can_be_retrieved
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.analyses.v2_api.tests.test_analysis_api.AnalysisLookupSuccessFile
  ✅ test_lookup_success_file_is_not_present___get_response_is_404
  ✅ test_lookup_success_file_is_present___file_can_be_retrieved
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.analyses.v2_api.tests.test_analysis_api.AnalysisLookupValidationFile
  ✅ test_lookup_validation_file_is_not_present___get_response_is_404
  ✅ test_lookup_validation_file_is_present___file_can_be_retrieved
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.analyses.v2_api.tests.test_analysis_api.AnalysisInputGenerationTracebackFile
  ✅ test_input_generation_traceback_file_is_not_present___delete_response_is_404
  ✅ test_input_generation_traceback_file_is_not_present___get_response_is_404
  ✅ test_input_generation_traceback_file_is_present___file_can_be_retrieved
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.analyses.v2_api.tests.test_analysis_api.AnalysisOutputFile
  ✅ test_output_file_is_not_present___delete_response_is_404
  ✅ test_output_file_is_not_present___get_response_is_404
  ✅ test_output_file_is_not_valid_format___post_response_is_405
  ✅ test_output_file_is_present___file_can_be_retrieved
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.analyses.v2_api.tests.test_analysis_api.AnalysisRunTracebackFile
  ✅ test_run_traceback_file_is_not_present___delete_response_is_404
  ✅ test_run_traceback_file_is_not_present___get_response_is_404
  ✅ test_run_traceback_file_is_not_valid_format___post_response_is_405
  ✅ test_run_traceback_file_is_present___file_can_be_retrieved
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.analyses.v2_api.tests.test_analysis_api.AnalysisOutputFileListSQLApiDefaultReader
  ⚪ test_endpoint_disabled___raises_no_reverse_match
src.server.oasisapi.analyses.v2_api.tests.test_analysis_api.AnalysisOutputFileListSQLApi
  ⚪ test_list_expected__response_200
  ⚪ test_user_is_authenticated_object_does_not_exist___response_is_404
  ⚪ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.analyses.v2_api.tests.test_analysis_api.AnalysisOutputFileSQLApiDefaultReader
  ⚪ test_endpoint_disabled___raises_no_reverse_match
src.server.oasisapi.analyses.v2_api.tests.test_analysis_api.AnalysisOutputFileSQLApi
  ⚪ test_file__sql_applied__csv_response
  ⚪ test_file__sql_applied__json_response
  ⚪ test_file__sql_applied__parquet_response
  ⚪ test_sql___file_incorrect__response_is_404
  ⚪ test_sql__response_is_200
  ⚪ test_sql_is_empty___response_is_400
  ⚪ test_sql_is_invalid___response_is_400
  ⚪ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.analyses.v2_api.tests.test_analysis_model.AnalysisGenerateAndRun
  ✅ test_state_is_ready___run_is_started
  ✅ test_state_is_running_or_generating_inputs___run_mode_invalid__validation_error_raised
  ✅ test_state_is_running_or_generating_inputs___validation_error_is_raised_revoke_is_not_called
src.server.oasisapi.analyses.v2_api.tests.test_analysis_model.AnalysisRun
  ✅ test_run_analysis_signature_is_correct
  ✅ test_state_is_ready___run_is_started
  ✅ test_state_is_running_or_generating_inputs___validation_error_is_raised_revoke_is_not_called
src.server.oasisapi.analyses.v2_api.tests.test_analysis_model.AnalysisGenerateInputs
  ✅ test_generate_input_signature_is_correct
  ✅ test_portfolio_has_no_location_file___validation_error_is_raised_revoke_is_not_called
  ✅ test_state_is_not_running___run_is_started
  ✅ test_state_is_running_or_generating_inputs___validation_error_is_raised_revoke_is_not_called
src.server.oasisapi.analysis_models.v1_api.tests.test_analysis_model.AnalysisModelApi
  ✅ test_data_is_valid___object_is_created
  ✅ test_supplier_id_is_missing___response_is_400
  ✅ test_version_id_is_missing___response_is_400
src.server.oasisapi.analysis_models.v1_api.tests.test_analysis_model.ModelSettingsJson
  ✅ test_settings_json_is_not_present___delete_response_is_404
  ✅ test_settings_json_is_not_present___get_response_is_404
  ❌ test_settings_json_is_not_valid___response_is_400
	self = <src.server.oasisapi.analysis_models.v1_api.tests.test_analysis_model.ModelSettingsJson testMethod=test_settings_json_is_not_valid___response_is_400>
  ✅ test_settings_json_is_uploaded___can_be_retrieved
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.analysis_models.v2_api.tests.test_analysis_model.AnalysisModelApi
  ✅ test_as_admin_create_with_non_existing_groups___successfully_1
  ✅ test_as_admin_create_with_non_existing_groups___successfully_2
  ✅ test_create_with_default_groups___response_is_201
  ✅ test_create_with_default_groups_and_get_with_other_groups___response_is_empty
  ✅ test_create_with_invalid_groups___response_is_403
  ✅ test_create_with_valid_groups___response_is_201
  ✅ test_data_is_valid___object_is_created
  ✅ test_supplier_id_is_missing___response_is_400
  ✅ test_version_id_is_missing___response_is_400
src.server.oasisapi.analysis_models.v2_api.tests.test_analysis_model.ModelSettingsJson
  ✅ test_settings_json_is_not_present___delete_response_is_404
  ✅ test_settings_json_is_not_present___get_response_is_404
  ❌ test_settings_json_is_not_valid___response_is_400
	self = <src.server.oasisapi.analysis_models.v2_api.tests.test_analysis_model.ModelSettingsJson testMethod=test_settings_json_is_not_valid___response_is_400>
  ✅ test_settings_json_is_uploaded___can_be_retrieved
  ✅ test_settings_json_is_uploaded___run_mode_is_set
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.auth.tests.test_jwt.AccessToken
  ✅ test_password_is_not_correct___response_is_401
  ✅ test_username_and_password_are_correct___returned_token_represents_the_user
  ✅ test_username_is_not_correct___response_is_401
src.server.oasisapi.auth.tests.test_jwt.RefreshToken
  ✅ test_username_and_password_are_correct___refresh_token_can_be_used_to_get_access_token
src.server.oasisapi.data_files.v1_api.tests.test_data_files.ComplexModelFilesApi
  ✅ test_data_is_valid___object_is_created
src.server.oasisapi.data_files.v1_api.tests.test_data_files.ComplexModelFileDataFile
  ✅ test_data_file_is_not_present___delete_response_is_404
  ✅ test_data_file_is_not_present___get_response_is_404
  ✅ test_data_file_is_unknown_format___response_is_200
  ✅ test_data_file_is_uploaded___file_can_be_retrieved
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.data_files.v2_api.tests.test_data_files.ComplexModelFilesApi
  ✅ test_data_is_valid___object_is_created
src.server.oasisapi.data_files.v2_api.tests.test_data_files.ComplexModelFileDataFile
  ✅ test_data_file_is_not_present___delete_response_is_404
  ✅ test_data_file_is_not_present___get_response_is_404
  ✅ test_data_file_is_unknown_format___response_is_200
  ✅ test_data_file_is_uploaded___file_can_be_retrieved
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.healthcheck.tests.test_healthcheck.Healthcheck
  ✅ test_user_is_authenticated___response_is_ok
  ✅ test_user_is_not_authenticated___response_is_ok
src.server.oasisapi.info.tests.test_info.Perilcodes
  ✅ test_user_is_authenticated___response_is_ok
  ✅ test_user_is_not_authenticated___response_is_ok
src.server.oasisapi.info.tests.test_info.ServerInfo
  ✅ test_user_is_authenticated___response_is_ok
  ✅ test_user_is_not_authenticated___response_is_Forbidden
src.server.oasisapi.permissions.tests.test_group_auth.TestGroupAuth
  ✅ test_verify_and_get_groups
  ✅ test_verify_and_get_groups__invalid_groups
  ✅ test_verify_and_get_groups__no_or_empty
  ✅ test_verify_and_get_groups__valid_groups
src.server.oasisapi.portfolios.v1_api.tests.test_portfolio.PortfolioApi
  ✅ test_cleaned_name_is_empty___response_is_400
  ✅ test_cleaned_name_is_present___object_is_created
  ✅ test_name_is_not_provided___response_is_400
  ✅ test_user_is_authenticated_object_does_not_exist___response_is_404
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.portfolios.v1_api.tests.test_portfolio.PortfolioApiCreateAnalysis
  ✅ test_cleaned_name_and_model_are_present___object_is_created_inputs_are_generated
  ✅ test_cleaned_name_is_empty___response_is_400
  ✅ test_model_does_not_exist___response_is_400
  ✅ test_model_is_not_provided___response_is_400
  ✅ test_name_is_not_provided___response_is_400
  ✅ test_portfolio_does_not_have_location_file_set___response_is_400
  ✅ test_user_is_authenticated_object_does_not_exist___response_is_404
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.portfolios.v1_api.tests.test_portfolio.PortfolioAccountsFile
  ✅ test_accounts_file_invalid_uploaded___parquet_exception_raised
  ✅ test_accounts_file_is_not_a_valid_format___response_is_400
  ✅ test_accounts_file_is_not_present___delete_response_is_404
  ✅ test_accounts_file_is_not_present___get_response_is_404
  ✅ test_accounts_file_is_uploaded___file_can_be_retrieved
  ✅ test_accounts_file_is_uploaded_as_parquet___file_can_be_retrieved
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.portfolios.v1_api.tests.test_portfolio.PortfolioLocationFile
  ✅ test_location_file_invalid_uploaded___parquet_exception_raised
  ✅ test_location_file_is_not_a_valid_format___response_is_400
  ✅ test_location_file_is_not_present___delete_response_is_404
  ✅ test_location_file_is_not_present___get_response_is_404
  ✅ test_location_file_is_uploaded___file_can_be_retrieved
  ✅ test_location_file_is_uploaded_as_parquet___file_can_be_retrieved
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.portfolios.v1_api.tests.test_portfolio.PortfolioReinsuranceSourceFile
  ✅ test_reinsurance_scope_file_invalid_uploaded___parquet_exception_raised
  ✅ test_reinsurance_scope_file_is_not_a_valid_format___response_is_400
  ✅ test_reinsurance_scope_file_is_not_present___delete_response_is_404
  ✅ test_reinsurance_scope_file_is_not_present___get_response_is_404
  ✅ test_reinsurance_scope_file_is_uploaded___file_can_be_retrieved
  ✅ test_reinsurance_scope_file_is_uploaded_as_parquet___file_can_be_retrieved
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.portfolios.v1_api.tests.test_portfolio.PortfolioReinsuranceInfoFile
  ✅ test_reinsurance_info_file_invalid_uploaded___parquet_exception_raised
  ✅ test_reinsurance_info_file_is_not_a_valid_format___response_is_400
  ✅ test_reinsurance_info_file_is_not_present___delete_response_is_404
  ✅ test_reinsurance_info_file_is_not_present___get_response_is_404
  ✅ test_reinsurance_info_file_is_uploaded___file_can_be_retrieved
  ✅ test_reinsurance_info_file_is_uploaded_as_parquet___file_can_be_retrieved
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.portfolios.v1_api.tests.test_portfolio.PortfolioValidation
  ✅ test_account_file__is_invalid__response_is_400
  ✅ test_all_exposure__are_valid
  ✅ test_location_file__is_invalid__response_is_400
  ✅ test_location_file__is_valid
  ✅ test_reinsurance_info_file__is_invalid__response_is_400
  ✅ test_reinsurance_scope_file__is_invalid__response_is_400
src.server.oasisapi.portfolios.v2_api.tests.test_portfolio.PortfolioApi
  ✅ test_cleaned_name_is_empty___response_is_400
  ✅ test_cleaned_name_is_present___object_is_created
  ✅ test_default_empty_groups___visible_for_users_without_groups_only
  ✅ test_name_is_not_provided___response_is_400
  ⚪ test_portfolio_files_have_conversions___conversion_urls_are_present
  ⚪ test_portfolio_files_have_failed_conversions___conversion_urls_are_not_present
  ✅ test_user_is_authenticated_object_does_not_exist___response_is_404
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.portfolios.v2_api.tests.test_portfolio.PortfolioApiCreateAnalysis
  ✅ test_cleaned_name_and_model_are_present___object_is_created_inputs_are_generated
  ✅ test_cleaned_name_is_empty___response_is_400
  ✅ test_model_does_not_exist___response_is_400
  ✅ test_model_is_not_provided___response_is_400
  ✅ test_name_is_not_provided___response_is_400
  ✅ test_portfolio_does_not_have_location_file_set___response_is_400
  ✅ test_user_is_authenticated_object_does_not_exist___response_is_404
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.portfolios.v2_api.tests.test_portfolio.PortfolioAccountsFile
  ✅ test_accounts_file_invalid_uploaded___parquet_exception_raised
  ✅ test_accounts_file_is_not_a_valid_format___response_is_400
  ✅ test_accounts_file_is_not_present___delete_response_is_404
  ✅ test_accounts_file_is_not_present___get_response_is_404
  ✅ test_accounts_file_is_uploaded___file_can_be_retrieved
  ✅ test_accounts_file_is_uploaded_as_parquet___file_can_be_retrieved
  ✅ test_accounts_file_user_is_not_permitted___response_is_403
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.portfolios.v2_api.tests.test_portfolio.PortfolioLocationFile
  ✅ test_location_file_invalid_uploaded___parquet_exception_raised
  ✅ test_location_file_is_not_a_valid_format___response_is_400
  ✅ test_location_file_is_not_present___delete_response_is_404
  ✅ test_location_file_is_not_present___get_response_is_404
  ✅ test_location_file_is_uploaded___file_can_be_retrieved
  ✅ test_location_file_is_uploaded_as_parquet___file_can_be_retrieved
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.portfolios.v2_api.tests.test_portfolio.PortfolioReinsuranceSourceFile
  ✅ test_reinsurance_scope_file_invalid_uploaded___parquet_exception_raised
  ✅ test_reinsurance_scope_file_is_not_a_valid_format___response_is_400
  ✅ test_reinsurance_scope_file_is_not_present___delete_response_is_404
  ✅ test_reinsurance_scope_file_is_not_present___get_response_is_404
  ✅ test_reinsurance_scope_file_is_uploaded___file_can_be_retrieved
  ✅ test_reinsurance_scope_file_is_uploaded_as_parquet___file_can_be_retrieved
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.portfolios.v2_api.tests.test_portfolio.PortfolioReinsuranceInfoFile
  ✅ test_reinsurance_info_file_invalid_uploaded___parquet_exception_raised
  ✅ test_reinsurance_info_file_is_not_a_valid_format___response_is_400
  ✅ test_reinsurance_info_file_is_not_present___delete_response_is_404
  ✅ test_reinsurance_info_file_is_not_present___get_response_is_404
  ✅ test_reinsurance_info_file_is_uploaded___file_can_be_retrieved
  ✅ test_reinsurance_info_file_is_uploaded_as_parquet___file_can_be_retrieved
  ✅ test_user_is_not_authenticated___response_is_forbidden
src.server.oasisapi.portfolios.v2_api.tests.test_portfolio.PortfolioValidation
  ✅ test_account_file__is_invalid__response_is_400
  ✅ test_all_exposure__are_valid
  ✅ test_location_file__is_invalid__response_is_400
  ✅ test_location_file__is_valid
  ✅ test_reinsurance_info_file__is_invalid__response_is_400
  ✅ test_reinsurance_scope_file__is_invalid__response_is_400
src.server.oasisapi.queues.tests.test_build_task_status_message.BuildTaskStatusMessage
  ✅ test_current_time_is_included
  ✅ test_type_is_correct
src.server.oasisapi.queues.tests.test_filter_queues_info.FilterQueuesInfo
  ✅ test_info_not_supplied___data_from_get_queues_info_is_filtered_by_queue_name
  ✅ test_info_not_supplied___data_from_supplied_info_is_filtered_by_queue_name
src.server.oasisapi.queues.tests.test_send_task_status_message.SendTaskStatusMessage
  ✅ test_build_status_message_is_sent_to_the_channel_layer
src.model_execution_worker.tests.test_settings.SettingsGet
  ✅ test_config_file_is_set_in_environment_variable___specified_values_are_from_new_config_others_are_default
  ✅ test_variable_is_set_in_default___default_value_is_returned
  ✅ test_variable_is_set_in_global_and_section_env_setting_and_default___setting_env_value_is_returned
  ✅ test_variable_is_set_in_global_env_setting_and_default___env_value_is_returned
  ✅ test_variable_is_set_in_section_and_default___section_value_is_returned
src.model_execution_worker.tests.test_settings.SettingsSetupLogging
  ✅ test_oasis_logging_is_setup_correctly
src.model_execution_worker.tests.test_tasks.StartAnalysis
  ✅ test_custom_model_runner_does_not_exist___generate_losses_is_called_output_files_are_tared_up
  ✅ test_input_location_is_not_a_tar___exception_is_raised
src.model_execution_worker.tests.test_tasks.StartAnalysisTask
  ✅ test_lock_is_acquireable___start_analysis_is_ran
  ✅ test_lock_is_not_acquireable___retry_esception_is_raised

Annotations

Check failure on line 0 in pytest_report.xml

See this annotation in the file changed.

@github-actions github-actions / Pytest Results

pytest ► src.server.oasisapi.analysis_models.v1_api.tests.test_analysis_model.ModelSettingsJson ► test_settings_json_is_not_valid___response_is_400

Failed test found in:
  pytest_report.xml
Error:
  self = <src.server.oasisapi.analysis_models.v1_api.tests.test_analysis_model.ModelSettingsJson testMethod=test_settings_json_is_not_valid___response_is_400>
Raw output
self = <src.server.oasisapi.analysis_models.v1_api.tests.test_analysis_model.ModelSettingsJson testMethod=test_settings_json_is_not_valid___response_is_400>

    def test_settings_json_is_not_valid___response_is_400(self):
        with TemporaryDirectory() as d:
            with override_settings(MEDIA_ROOT=d):
                user = fake_user()
                models = fake_analysis_model()
                settings_url = reverse(f'{NAMESPACE}:model-settings', kwargs={'pk': models.pk})
    
                json_data = {
                    "model_settings": {
                        "event_set": {
                            "name": "Event Set",
                            "default": "P",
                            "options": [
                                {"id": "P", "desc": "Proabilistic"},
                                {"id": "H", "desc": "Historic"}
                            ]
                        },
                        "event_occurrence_id": {
                            "name": "Occurrence Set",
                            "desc": "PiWind Occurrence selection",
                            "default": 1,
                            "options": [
                                {"id": "1", "desc": "Long Term"}
                            ]
                        },
                        "boolean_parameters": [
                            {"name": "peril_wind", "desc": "Boolean option", "default": 1.1},
                            {"name": "peril_surge", "desc": "Boolean option", "default": True}
                        ],
                        "float_parameter": [
                            {"name": "float_1", "desc": "Some float value", "default": False, "max": 1.0, "min": 0.0},
                            {"name": "float_2", "desc": "Some float value", "default": 0.3, "max": 1.0, "min": 0.0}
                        ]
                    },
                    "lookup_settings": {
                        "supported_perils": [
                            {"i": "WSS", "desc": "Single Peril: Storm Surge"},
                            {"id": "WTC", "des": "Single Peril: Tropical Cyclone"},
                            {"id": "WW11", "desc": "Group Peril: Windstorm with storm surge"},
                            {"id": "WW2", "desc": "Group Peril: Windstorm w/o storm surge"}
                        ]
                    }
                }
    
                response = self.app.post(
                    settings_url,
                    headers={
                        'Authorization': 'Bearer {}'.format(AccessToken.for_user(user))
                    },
                    params=json.dumps(json_data),
                    content_type='application/json',
                    expect_errors=True,
                )
    
                validation_error = {
                    "model_settings-boolean_parameters-0-default": ["1.1 is not of type 'boolean'"],
                    "model_settings-event_set": ["'desc' is a required property"],
                    "model_settings-event_occurrence_id-default": ["1 is not of type 'string'"],
                    "lookup_settings-supported_perils-0": ["Additional properties are not allowed ('i' was unexpected)",
                                                           "'id' is a required property"],
                    "lookup_settings-supported_perils-1": ["Additional properties are not allowed ('des' was unexpected)",
                                                           "'desc' is a required property"],
                    "lookup_settings-supported_perils-2-id": ["'WW11' is too long"]
                }
    
                self.assertEqual(400, response.status_code)
                self.assertDictEqual.__self__.maxDiff = None
>               self.assertDictEqual(json.loads(response.body), validation_error)
E               AssertionError: {'model_settings': ["Additional properties are not allowe[590 chars]ng"]} != {'model_settings-boolean_parameters-0-default': ["1.1 is [494 chars]ng"]}
E                 {'lookup_settings-supported_perils-0': ['Additional properties are not allowed '
E                                                         "('i' was unexpected)",
E                                                         "'id' is a required property"],
E                  'lookup_settings-supported_perils-1': ['Additional properties are not allowed '
E                                                         "('des' was unexpected)",
E                                                         "'desc' is a required property"],
E                  'lookup_settings-supported_perils-2-id': ["'WW11' is too long"],
E               -  'model_settings': ["Additional properties are not allowed ('float_parameter' "
E               -                     'was unexpected)'],
E                  'model_settings-boolean_parameters-0-default': ['1.1 is not of type '
E                                                                  "'boolean'"],
E                  'model_settings-event_occurrence_id-default': ["1 is not of type 'string'"],
E                  'model_settings-event_set': ["'desc' is a required property"]}

src/server/oasisapi/analysis_models/v1_api/tests/test_analysis_model.py:208: AssertionError

Check failure on line 0 in pytest_report.xml

See this annotation in the file changed.

@github-actions github-actions / Pytest Results

pytest ► src.server.oasisapi.analysis_models.v2_api.tests.test_analysis_model.ModelSettingsJson ► test_settings_json_is_not_valid___response_is_400

Failed test found in:
  pytest_report.xml
Error:
  self = <src.server.oasisapi.analysis_models.v2_api.tests.test_analysis_model.ModelSettingsJson testMethod=test_settings_json_is_not_valid___response_is_400>
Raw output
self = <src.server.oasisapi.analysis_models.v2_api.tests.test_analysis_model.ModelSettingsJson testMethod=test_settings_json_is_not_valid___response_is_400>

    def test_settings_json_is_not_valid___response_is_400(self):
        with TemporaryDirectory() as d:
            with override_settings(MEDIA_ROOT=d):
                user = fake_user()
                models = fake_analysis_model()
                json_data = {
                    "model_settings": {
                        "event_set": {
                            "name": "Event Set",
                            "default": "P",
                            "options": [
                                {"id": "P", "desc": "Proabilistic"},
                                {"id": "H", "desc": "Historic"}
                            ]
                        },
                        "event_occurrence_id": {
                            "name": "Occurrence Set",
                            "desc": "PiWind Occurrence selection",
                            "default": 1,
                            "options": [
                                {"id": "1", "desc": "Long Term"}
                            ]
                        },
                        "boolean_parameters": [
                            {"name": "peril_wind", "desc": "Boolean option", "default": 1.1},
                            {"name": "peril_surge", "desc": "Boolean option", "default": True}
                        ],
                        "float_parameter": [
                            {"name": "float_1", "desc": "Some float value", "default": False, "max": 1.0, "min": 0.0},
                            {"name": "float_2", "desc": "Some float value", "default": 0.3, "max": 1.0, "min": 0.0}
                        ]
                    },
                    "lookup_settings": {
                        "supported_perils": [
                            {"i": "WSS", "desc": "Single Peril: Storm Surge"},
                            {"id": "WTC", "des": "Single Peril: Tropical Cyclone"},
                            {"id": "WW11", "desc": "Group Peril: Windstorm with storm surge"},
                            {"id": "WW2", "desc": "Group Peril: Windstorm w/o storm surge"}
                        ]
                    }
                }
    
                settings_url = reverse(f'{NAMESPACE}:model-settings', kwargs={'pk': models.pk})
                response = self.app.post(
                    settings_url,
                    headers={
                        'Authorization': 'Bearer {}'.format(AccessToken.for_user(user))
                    },
                    params=json.dumps(json_data),
                    content_type='application/json',
                    expect_errors=True,
                )
    
                validation_error = {
                    "model_settings-boolean_parameters-0-default": ["1.1 is not of type 'boolean'"],
                    "model_settings-event_set": ["'desc' is a required property"],
                    "model_settings-event_occurrence_id-default": ["1 is not of type 'string'"],
                    "lookup_settings-supported_perils-0": ["Additional properties are not allowed ('i' was unexpected)",
                                                           "'id' is a required property"],
                    "lookup_settings-supported_perils-1": ["Additional properties are not allowed ('des' was unexpected)",
                                                           "'desc' is a required property"],
                    "lookup_settings-supported_perils-2-id": ["'WW11' is too long"]
                }
    
                self.assertEqual(400, response.status_code)
                self.assertDictEqual.__self__.maxDiff = None
>               self.assertDictEqual(json.loads(response.body), validation_error)
E               AssertionError: {'model_settings': ["Additional properties are not allowe[590 chars]ng"]} != {'model_settings-boolean_parameters-0-default': ["1.1 is [494 chars]ng"]}
E                 {'lookup_settings-supported_perils-0': ['Additional properties are not allowed '
E                                                         "('i' was unexpected)",
E                                                         "'id' is a required property"],
E                  'lookup_settings-supported_perils-1': ['Additional properties are not allowed '
E                                                         "('des' was unexpected)",
E                                                         "'desc' is a required property"],
E                  'lookup_settings-supported_perils-2-id': ["'WW11' is too long"],
E               -  'model_settings': ["Additional properties are not allowed ('float_parameter' "
E               -                     'was unexpected)'],
E                  'model_settings-boolean_parameters-0-default': ['1.1 is not of type '
E                                                                  "'boolean'"],
E                  'model_settings-event_occurrence_id-default': ["1 is not of type 'string'"],
E                  'model_settings-event_set': ["'desc' is a required property"]}

src/server/oasisapi/analysis_models/v2_api/tests/test_analysis_model.py:380: AssertionError