ocean icon indicating copy to clipboard operation
ocean copied to clipboard

Bump black from 24.10.0 to 25.1.0

Open dependabot[bot] opened this issue 9 months ago โ€ข 2 comments

Bumps black from 24.10.0 to 25.1.0.

Release notes

Sourced from black's releases.

25.1.0

Highlights

This release introduces the new 2025 stable style (#4558), stabilizing the following changes:

  • Normalize casing of Unicode escape characters in strings to lowercase (#2916)
  • Fix inconsistencies in whether certain strings are detected as docstrings (#4095)
  • Consistently add trailing commas to typed function parameters (#4164)
  • Remove redundant parentheses in if guards for case blocks (#4214)
  • Add parentheses to if clauses in case blocks when the line is too long (#4269)
  • Whitespace before # fmt: skip comments is no longer normalized (#4146)
  • Fix line length computation for certain expressions that involve the power operator (#4154)
  • Check if there is a newline before the terminating quotes of a docstring (#4185)
  • Fix type annotation spacing between * and more complex type variable tuple (#4440)

The following changes were not in any previous release:

  • Remove parentheses around sole list items (#4312)
  • Generic function definitions are now formatted more elegantly: parameters are split over multiple lines first instead of type parameter definitions (#4553)

Stable style

  • Fix formatting cells in IPython notebooks with magic methods and starting or trailing empty lines (#4484)
  • Fix crash when formatting with statements containing tuple generators/unpacking (#4538)

Preview style

  • Fix/remove string merging changing f-string quotes on f-strings with internal quotes (#4498)
  • Collapse multiple empty lines after an import into one (#4489)
  • Prevent string_processing and wrap_long_dict_values_in_parens from removing parentheses around long dictionary values (#4377)
  • Move wrap_long_dict_values_in_parens from the unstable to preview style (#4561)

Packaging

  • Store license identifier inside the License-Expression metadata field, see PEP 639. (#4479)

Performance

  • Speed up the is_fstring_start function in Black's tokenizer (#4541)

Integrations

  • If using stdin with --stdin-filename set to a force excluded path, stdin won't be

... (truncated)

Changelog

Sourced from black's changelog.

25.1.0

Highlights

This release introduces the new 2025 stable style (#4558), stabilizing the following changes:

  • Normalize casing of Unicode escape characters in strings to lowercase (#2916)
  • Fix inconsistencies in whether certain strings are detected as docstrings (#4095)
  • Consistently add trailing commas to typed function parameters (#4164)
  • Remove redundant parentheses in if guards for case blocks (#4214)
  • Add parentheses to if clauses in case blocks when the line is too long (#4269)
  • Whitespace before # fmt: skip comments is no longer normalized (#4146)
  • Fix line length computation for certain expressions that involve the power operator (#4154)
  • Check if there is a newline before the terminating quotes of a docstring (#4185)
  • Fix type annotation spacing between * and more complex type variable tuple (#4440)

The following changes were not in any previous release:

  • Remove parentheses around sole list items (#4312)
  • Generic function definitions are now formatted more elegantly: parameters are split over multiple lines first instead of type parameter definitions (#4553)

Stable style

  • Fix formatting cells in IPython notebooks with magic methods and starting or trailing empty lines (#4484)
  • Fix crash when formatting with statements containing tuple generators/unpacking (#4538)

Preview style

  • Fix/remove string merging changing f-string quotes on f-strings with internal quotes (#4498)
  • Collapse multiple empty lines after an import into one (#4489)
  • Prevent string_processing and wrap_long_dict_values_in_parens from removing parentheses around long dictionary values (#4377)
  • Move wrap_long_dict_values_in_parens from the unstable to preview style (#4561)

Packaging

  • Store license identifier inside the License-Expression metadata field, see PEP 639. (#4479)

Performance

  • Speed up the is_fstring_start function in Black's tokenizer (#4541)

Integrations

... (truncated)

Commits

Dependabot compatibility score

You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Note Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

dependabot[bot] avatar Mar 12 '25 14:03 dependabot[bot]

This pull request is automatically being deployed by Amplify Hosting (learn more).

Access this pull request here: https://pr-1492.d1ftd8v2gowp8w.amplifyapp.com

CI Feedback ๐Ÿง

(Feedback updated until commit https://github.com/port-labs/ocean/commit/b98c2912ab3b788c7b78fcc79d057adfbfe2b8ed)

A test triggered by this PR failed. Here is an AI-generated analysis of the failure:

Action: ๐ŸŒŠ Ocean Core Tests

Failed stage: Smoke Test Core [โŒ]

Failure summary:

The action failed because of a validation error in the IntegrationConfiguration object.
Specifically, the port.base_url field failed validation with the error: "ensure this value has at
least 1 characters (type=value_error.any_str.min_length; limit_value=1)". This indicates that the
base_url was either empty or not provided.

Additionally, the smoke tests failed because the required environment variables PORT_CLIENT_ID and
PORT_CLIENT_SECRET were missing, causing assertions to fail with the error "Missing port
credentials".

Relevant error logs:
1:  ##[group]Operating System
2:  Ubuntu
...

1071:  LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.9/x64/lib
1072:  PYTEST_ADDOPTS: --junitxml=junit/unit-test-results-ocean/core.xml
1073:  ##[endgroup]
1074:  [1m============================= test session starts ==============================[0m
1075:  platform linux -- Python 3.12.9, pytest-8.3.5, pluggy-1.5.0 -- /home/runner/work/ocean/ocean/.venv/bin/python
1076:  cachedir: .pytest_cache
1077:  rootdir: /home/runner/work/ocean/ocean
1078:  configfile: pyproject.toml
1079:  plugins: timeout-2.3.1, anyio-4.8.0, asyncio-0.25.3, xdist-3.6.1, httpx-0.34.0
1080:  asyncio: mode=Mode.AUTO, asyncio_default_fixture_loop_scope=function
1081:  created: 4/4 workers
1082:  4 workers [150 items]
1083:  scheduling tests via LoadScheduling
1084:  port_ocean/tests/clients/oauth/test_oauth_client.py::test_oauth_client_initialization 
1085:  port_ocean/tests/core/defaults/test_common.py::test_default_resources_path_does_not_exist 
1086:  port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_search_as_bool_failure 
1087:  [gw1][36m [  0%] [0m[32mPASSED[0m port_ocean/tests/core/defaults/test_common.py::test_default_resources_path_does_not_exist 
1088:  [gw0][36m [  1%] [0m[32mPASSED[0m port_ocean/tests/clients/oauth/test_oauth_client.py::test_oauth_client_initialization 
1089:  port_ocean/tests/clients/oauth/test_oauth_client.py::test_oauth_client_disabled_initialization 
1090:  [gw0][36m [  2%] [0m[32mPASSED[0m port_ocean/tests/clients/oauth/test_oauth_client.py::test_oauth_client_disabled_initialization 
1091:  port_ocean/tests/clients/oauth/test_oauth_client.py::test_refresh_request_auth_creds 
1092:  [gw0][36m [  2%] [0m[32mPASSED[0m port_ocean/tests/clients/oauth/test_oauth_client.py::test_refresh_request_auth_creds 
1093:  port_ocean/tests/clients/oauth/test_oauth_client.py::test_access_token_property 
1094:  [gw0][36m [  3%] [0m[32mPASSED[0m port_ocean/tests/clients/oauth/test_oauth_client.py::test_access_token_property 
1095:  port_ocean/tests/clients/port/mixins/test_entities.py::test_batch_upsert_entities_read_timeout_should_raise_false 
1096:  port_ocean/tests/core/handlers/entities_state_applier/test_applier.py::test_delete_diff_no_deleted_entities 
1097:  [gw1][36m [  4%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/entities_state_applier/test_applier.py::test_delete_diff_no_deleted_entities 
1098:  port_ocean/tests/core/handlers/entities_state_applier/test_applier.py::test_delete_diff_below_threshold 
1099:  [gw3][36m [  4%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_search_as_bool_failure 
1100:  port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_search_fails_on_stop_iteration[.parameters[] | select(.name == "not_exists") | .value-None] 
1101:  port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_search_as_bool 
1102:  [gw0][36m [  5%] [0m[32mPASSED[0m port_ocean/tests/clients/port/mixins/test_entities.py::test_batch_upsert_entities_read_timeout_should_raise_false 
1103:  port_ocean/tests/clients/port/mixins/test_entities.py::test_batch_upsert_entities_read_timeout_should_raise_true 
1104:  [gw0][36m [  6%] [0m[32mPASSED[0m port_ocean/tests/clients/port/mixins/test_entities.py::test_batch_upsert_entities_read_timeout_should_raise_true 
1105:  port_ocean/tests/clients/port/mixins/test_organization_mixin.py::test_org_feature_flags_should_fetch_proper_json_path 
1106:  [gw3][36m [  6%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_search_fails_on_stop_iteration[.parameters[] | select(.name == "not_exists") | .value-None] 
1107:  port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_search_fails_on_stop_iteration[.parameters[] | select(.name == "parameter_name") | .value-parameter_value] 
1108:  [gw2][36m [  7%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_search_as_bool 
1109:  port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_search_as_object 
1110:  [gw1][36m [  8%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/entities_state_applier/test_applier.py::test_delete_diff_below_threshold 
1111:  [gw0][36m [  8%] [0m[32mPASSED[0m port_ocean/tests/clients/port/mixins/test_organization_mixin.py::test_org_feature_flags_should_fetch_proper_json_path 
1112:  port_ocean/tests/core/defaults/test_common.py::test_custom_defaults_dir_used_if_valid 
1113:  [gw0][36m [  9%] [0m[32mPASSED[0m port_ocean/tests/core/defaults/test_common.py::test_custom_defaults_dir_used_if_valid 
1114:  [gw3][36m [ 10%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_search_fails_on_stop_iteration[.parameters[] | select(.name == "parameter_name") | .value-parameter_value] 
1115:  port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_search_fails_on_stop_iteration[.parameters[] | select(.name == "another_parameter") | .value-another_value] 
1116:  [gw2][36m [ 10%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_search_as_object 
1117:  port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_get_mapped_entity 
1118:  port_ocean/tests/core/handlers/entities_state_applier/test_applier.py::test_delete_diff_above_default_threshold 
1119:  [gw1][36m [ 11%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/entities_state_applier/test_applier.py::test_delete_diff_above_default_threshold 
1120:  port_ocean/tests/core/handlers/entities_state_applier/test_applier.py::test_delete_diff_custom_threshold_above_threshold_not_deleted 
1121:  [gw1][36m [ 12%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/entities_state_applier/test_applier.py::test_delete_diff_custom_threshold_above_threshold_not_deleted 
1122:  port_ocean/tests/core/handlers/entities_state_applier/test_applier.py::test_applier_with_mock_context 
1123:  port_ocean/tests/core/defaults/test_common.py::test_fallback_to_default_dir_if_custom_dir_invalid 
1124:  [gw3][36m [ 12%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_search_fails_on_stop_iteration[.parameters[] | select(.name == "another_parameter") | .value-another_value] 
1125:  port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_return_a_list_of_values 
...

1140:  [gw0][36m [ 18%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/mixins/test_live_events.py::test_sync_raw_results_one_raw_result_entity_upserted 
1141:  port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_sync_raw_mixin_self_dependency 
1142:  [gw2][36m [ 18%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_calculate_entity 
1143:  [gw1][36m [ 19%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_compile 
1144:  port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_parse_items 
1145:  port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_search 
1146:  [gw1][36m [ 20%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_search 
1147:  port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_map_entities_compared_with_port_no_port_entities_all_entities_are_mapped 
1148:  [gw2][36m [ 20%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_parse_items 
1149:  port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_in_operator 
1150:  [gw1][36m [ 21%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_map_entities_compared_with_port_no_port_entities_all_entities_are_mapped 
1151:  [gw0][36m [ 22%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_sync_raw_mixin_self_dependency 
1152:  port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_map_entities_compared_with_port_with_existing_entities_only_changed_third_party_entities_are_mapped 
1153:  port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_sync_raw_mixin_circular_dependency 
1154:  [gw2][36m [ 22%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_in_operator 
1155:  port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_failure_of_jq_expression 
1156:  [gw1][36m [ 23%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_map_entities_compared_with_port_with_existing_entities_only_changed_third_party_entities_are_mapped 
1157:  port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_map_entities_compared_with_port_with_multiple_batches_all_batches_are_being_proccessed_to_map 
1158:  [gw2][36m [ 24%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_failure_of_jq_expression 
1159:  port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_search_as_object_failure 
1160:  [gw2][36m [ 24%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_search_as_object_failure 
1161:  port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_double_quotes_in_jq_expression 
1162:  [gw0][36m [ 25%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_sync_raw_mixin_circular_dependency 
1163:  port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_sync_raw_mixin_dependency 
1164:  [gw1][36m [ 26%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_map_entities_compared_with_port_with_multiple_batches_all_batches_are_being_proccessed_to_map 
1165:  port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_register_resource_raw_no_changes_upsert_not_called_entitiy_is_returned 
1166:  [gw2][36m [ 26%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_double_quotes_in_jq_expression 
1167:  port_ocean/tests/core/handlers/port_app_config/test_api.py::test_get_port_app_config_empty_integration_raises_key_error 
1168:  [gw2][36m [ 27%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/port_app_config/test_api.py::test_get_port_app_config_empty_integration_raises_key_error 
1169:  [gw1][36m [ 28%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_register_resource_raw_no_changes_upsert_not_called_entitiy_is_returned 
1170:  port_ocean/tests/core/handlers/port_app_config/test_base.py::test_get_port_app_config_success 
1171:  port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_register_resource_raw_with_changes_upsert_called_and_entities_are_mapped 
1172:  [gw2][36m [ 28%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/port_app_config/test_base.py::test_get_port_app_config_success 
1173:  port_ocean/tests/core/handlers/port_app_config/test_base.py::test_get_port_app_config_uses_cache 
1174:  [gw2][36m [ 29%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/port_app_config/test_base.py::test_get_port_app_config_uses_cache 
1175:  [gw0][36m [ 30%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_sync_raw_mixin_dependency 
1176:  port_ocean/tests/core/handlers/port_app_config/test_base.py::test_get_port_app_config_bypass_cache 
1177:  [gw1][36m [ 30%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_register_resource_raw_with_changes_upsert_called_and_entities_are_mapped 
1178:  port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_register_resource_raw_with_errors 
1179:  port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_register_raw 
1180:  [gw2][36m [ 31%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/port_app_config/test_base.py::test_get_port_app_config_bypass_cache 
1181:  port_ocean/tests/core/handlers/port_app_config/test_base.py::test_get_port_app_config_validation_error 
1182:  [gw2][36m [ 32%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/port_app_config/test_base.py::test_get_port_app_config_validation_error 
1183:  [gw1][36m [ 32%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_register_resource_raw_with_errors 
1184:  port_ocean/tests/core/handlers/port_app_config/test_base.py::test_get_port_app_config_fetch_error 
1185:  port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_register_resource_raw_skip_event_type_http_request_upsert_called_and_no_entitites_diff_calculation 
1186:  [gw2][36m [ 33%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/port_app_config/test_base.py::test_get_port_app_config_fetch_error 
1187:  port_ocean/tests/core/handlers/queue/test_local_queue.py::TestLocalQueue::test_basic_queue_operations 
1188:  [gw2][36m [ 34%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/queue/test_local_queue.py::TestLocalQueue::test_basic_queue_operations 
1189:  port_ocean/tests/core/handlers/webhook/test_processor_manager.py::test_registerProcessor_invalidHandlerRegistration_throwsError 
1190:  [gw1][36m [ 34%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_register_resource_raw_skip_event_type_http_request_upsert_called_and_no_entitites_diff_calculation 
1191:  port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_on_resync_start_hooks_are_called 
1192:  [gw2][36m [ 35%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/webhook/test_processor_manager.py::test_registerProcessor_invalidHandlerRegistration_throwsError 
1193:  port_ocean/tests/core/handlers/webhook/test_processor_manager.py::test_processWebhookRequest_successfulProcessing 
...

1210:  [gw0][36m [ 41%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/queue/test_local_queue.py::TestLocalQueue::test_fifo_order 
1211:  port_ocean/tests/core/handlers/queue/test_local_queue.py::TestLocalQueue::test_wait_for_completion 
1212:  [gw1][36m [ 42%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/webhook/test_processor_manager.py::test_registerProcessor_registrationWorks 
1213:  port_ocean/tests/core/handlers/webhook/test_processor_manager.py::test_registerProcessor_multipleHandlers_allRegistered 
1214:  [gw1][36m [ 42%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/webhook/test_processor_manager.py::test_registerProcessor_multipleHandlers_allRegistered 
1215:  port_ocean/tests/core/handlers/webhook/test_processor_manager.py::test_integrationTest_postRequestSent_noMatchingHandlers_entityNotUpserted 
1216:  [gw1][36m [ 43%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/webhook/test_processor_manager.py::test_integrationTest_postRequestSent_noMatchingHandlers_entityNotUpserted 
1217:  port_ocean/tests/core/handlers/webhook/test_processor_manager.py::test_integrationTest_postRequestSent_webhookEventRawResultProcessedForMultipleProcessors_entitiesUpserted 
1218:  [gw1][36m [ 44%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/webhook/test_processor_manager.py::test_integrationTest_postRequestSent_webhookEventRawResultProcessedForMultipleProcessors_entitiesUpserted 
1219:  port_ocean/tests/core/handlers/webhook/test_processor_manager.py::test_integrationTest_postRequestSent_webhookEventRawResultProcessedwithRetry_entityUpserted 
1220:  [gw0][36m [ 44%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/queue/test_local_queue.py::TestLocalQueue::test_wait_for_completion 
1221:  port_ocean/tests/core/handlers/webhook/test_abstract_webhook_processor.py::test_init_finishedSuccessfully 
1222:  [gw0][36m [ 45%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/webhook/test_abstract_webhook_processor.py::test_init_finishedSuccessfully 
1223:  port_ocean/tests/core/handlers/webhook/test_abstract_webhook_processor.py::test_calculateRetryDelay_delayCalculatedCorrectly 
1224:  [gw0][36m [ 46%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/webhook/test_abstract_webhook_processor.py::test_calculateRetryDelay_delayCalculatedCorrectly 
1225:  port_ocean/tests/core/handlers/webhook/test_abstract_webhook_processor.py::test_shouldRetry_returnsTrueOnRetryableError 
1226:  [gw0][36m [ 46%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/webhook/test_abstract_webhook_processor.py::test_shouldRetry_returnsTrueOnRetryableError 
1227:  port_ocean/tests/core/handlers/webhook/test_abstract_webhook_processor.py::test_lifecycleHooks_callsCorrectly 
...

1240:  [gw0][36m [ 51%] [0m[32mPASSED[0m port_ocean/tests/core/test_utils.py::TestValidateIntegrationRuntime::test_validate_integration_runtime[Runtime.Saas-SaasOauth2-False] 
1241:  port_ocean/tests/core/test_utils.py::TestValidateIntegrationRuntime::test_validate_integration_runtime[Runtime.Saas-OnPrem-True] 
1242:  [gw0][36m [ 52%] [0m[32mPASSED[0m port_ocean/tests/core/test_utils.py::TestValidateIntegrationRuntime::test_validate_integration_runtime[Runtime.Saas-OnPrem-True] 
1243:  port_ocean/tests/core/test_utils.py::TestValidateIntegrationRuntime::test_validate_integration_runtime[Runtime.OnPrem-OnPrem-False] 
1244:  [gw0][36m [ 52%] [0m[32mPASSED[0m port_ocean/tests/core/test_utils.py::TestValidateIntegrationRuntime::test_validate_integration_runtime[Runtime.OnPrem-OnPrem-False] 
1245:  port_ocean/tests/core/test_utils.py::TestValidateIntegrationRuntime::test_validate_integration_runtime[Runtime.OnPrem-SaasOauth2-True] 
1246:  [gw0][36m [ 53%] [0m[32mPASSED[0m port_ocean/tests/core/test_utils.py::TestValidateIntegrationRuntime::test_validate_integration_runtime[Runtime.OnPrem-SaasOauth2-True] 
1247:  port_ocean/tests/core/test_utils.py::TestValidateIntegrationRuntime::test_runtime_installation_compatibility[Runtime.Saas-SaasOauth2-True] 
1248:  [gw0][36m [ 54%] [0m[32mPASSED[0m port_ocean/tests/core/test_utils.py::TestValidateIntegrationRuntime::test_runtime_installation_compatibility[Runtime.Saas-SaasOauth2-True] 
1249:  port_ocean/tests/core/test_utils.py::TestValidateIntegrationRuntime::test_runtime_installation_compatibility[Runtime.Saas-OnPrem-False] 
1250:  [gw0][36m [ 54%] [0m[32mPASSED[0m port_ocean/tests/core/test_utils.py::TestValidateIntegrationRuntime::test_runtime_installation_compatibility[Runtime.Saas-OnPrem-False] 
1251:  port_ocean/tests/core/test_utils.py::TestValidateIntegrationRuntime::test_runtime_installation_compatibility[Runtime.OnPrem-OnPrem-True] 
1252:  [gw0][36m [ 55%] [0m[32mPASSED[0m port_ocean/tests/core/test_utils.py::TestValidateIntegrationRuntime::test_runtime_installation_compatibility[Runtime.OnPrem-OnPrem-True] 
1253:  port_ocean/tests/core/test_utils.py::TestValidateIntegrationRuntime::test_runtime_installation_compatibility[Runtime.OnPrem-SaasCloud-False] 
1254:  [gw0][36m [ 56%] [0m[32mPASSED[0m port_ocean/tests/core/test_utils.py::TestValidateIntegrationRuntime::test_runtime_installation_compatibility[Runtime.OnPrem-SaasCloud-False] 
1255:  port_ocean/tests/core/utils/test_entity_topological_sorter.py::test_handle_failed_with_dependencies 
1256:  [gw0][36m [ 56%] [0m[32mPASSED[0m port_ocean/tests/core/utils/test_entity_topological_sorter.py::test_handle_failed_with_dependencies 
1257:  port_ocean/tests/core/utils/test_entity_topological_sorter.py::test_handle_failed_with_self_dependencies 
1258:  [gw0][36m [ 57%] [0m[32mPASSED[0m port_ocean/tests/core/utils/test_entity_topological_sorter.py::test_handle_failed_with_self_dependencies 
1259:  port_ocean/tests/core/utils/test_entity_topological_sorter.py::test_handle_failed_with_circular_dependencies 
1260:  [gw0][36m [ 58%] [0m[32mPASSED[0m port_ocean/tests/core/utils/test_entity_topological_sorter.py::test_handle_failed_with_circular_dependencies 
1261:  port_ocean/tests/core/utils/test_resolve_entities_diff.py::test_are_entities_fields_equal_identical_properties_should_be_true 
...

1354:  [gw0][36m [ 89%] [0m[32mPASSED[0m port_ocean/tests/utils/test_cache.py::test_cache_coroutine_result_no_cache 
1355:  [gw2][36m [ 90%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/webhook/test_processor_manager.py::test_processWebhookRequest_retryTwoTimesThenSuccessfulProcessing 
1356:  port_ocean/tests/core/handlers/webhook/test_processor_manager.py::test_processWebhookRequest_maxRetriesExceeded_exceptionRaised 
1357:  [gw2][36m [ 90%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/webhook/test_processor_manager.py::test_processWebhookRequest_maxRetriesExceeded_exceptionRaised 
1358:  port_ocean/tests/core/handlers/webhook/test_processor_manager.py::test_integrationTest_postRequestSent_webhookEventRawResultProcessed_entityUpserted 
1359:  [gw2][36m [ 91%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/webhook/test_processor_manager.py::test_integrationTest_postRequestSent_webhookEventRawResultProcessed_entityUpserted 
1360:  port_ocean/tests/core/handlers/webhook/test_processor_manager.py::test_integrationTest_postRequestSent_reachedTimeout_entityNotUpserted 
1361:  [gw2][36m [ 92%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/webhook/test_processor_manager.py::test_integrationTest_postRequestSent_reachedTimeout_entityNotUpserted 
1362:  [gw3][36m [ 92%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_parse_items_performance_10000 
1363:  port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_parse_items_wrong_mapping 
1364:  [gw3][36m [ 93%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_parse_items_wrong_mapping 
1365:  port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_parse_items_empty_required 
1366:  [gw3][36m [ 94%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py::TestJQEntityProcessor::test_parse_items_empty_required 
1367:  port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_on_resync_complete_hooks_are_called_on_success 
1368:  [gw3][36m [ 94%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_on_resync_complete_hooks_are_called_on_success 
1369:  port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_on_resync_complete_hooks_not_called_on_error 
1370:  [gw3][36m [ 95%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_on_resync_complete_hooks_not_called_on_error 
1371:  port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_multiple_on_resync_start_on_resync_complete_hooks_called_in_order 
1372:  [gw3][36m [ 96%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_multiple_on_resync_start_on_resync_complete_hooks_called_in_order 
1373:  port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_on_resync_start_hook_error_prevents_resync 
1374:  [gw3][36m [ 96%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/mixins/test_sync_raw.py::test_on_resync_start_hook_error_prevents_resync 
1375:  port_ocean/tests/core/handlers/port_app_config/test_api.py::test_get_port_app_config_valid_config_returns_config 
1376:  [gw3][36m [ 97%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/port_app_config/test_api.py::test_get_port_app_config_valid_config_returns_config 
1377:  port_ocean/tests/core/handlers/port_app_config/test_api.py::test_get_port_app_config_empty_config_raises_value_error 
1378:  [gw3][36m [ 98%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/port_app_config/test_api.py::test_get_port_app_config_empty_config_raises_value_error 
1379:  port_ocean/tests/core/handlers/port_app_config/test_api.py::test_get_port_app_config_missing_config_key_raises_key_error 
1380:  [gw3][36m [ 98%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/port_app_config/test_api.py::test_get_port_app_config_missing_config_key_raises_key_error 
1381:  [gw1][36m [ 99%] [0m[32mPASSED[0m port_ocean/tests/core/handlers/webhook/test_processor_manager.py::test_integrationTest_postRequestSent_webhookEventRawResultProcessedwithRetry_exceededMaxRetries_entityNotUpserted 
...

1616:  **(config_override or {}),
1617:  ^^^^^^^^^^^^^^^^^^^^^^^^^^
1618:  )
1619:  ^
1620:  File "/app/.venv/lib/python3.13/site-packages/pydantic/env_settings.py", line 40, in __init__
1621:  super().__init__(
1622:  ~~~~~~~~~~~~~~~~^
1623:  **__pydantic_self__._build_values(
1624:  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1625:  ...<5 lines>...
1626:  )
1627:  ^
1628:  )
1629:  ^
1630:  File "/app/.venv/lib/python3.13/site-packages/pydantic/main.py", line 341, in __init__
1631:  raise validation_error
1632:  pydantic.error_wrappers.ValidationError: 1 validation error for IntegrationConfiguration
1633:  port -> base_url
1634:  ensure this value has at least 1 characters (type=value_error.any_str.min_length; limit_value=1)
1635:  ##[group]Run make smoke/test
...

1649:  SMOKE_TEST_SUFFIX: 14038065947
1650:  ##[endgroup]
1651:  [1m============================= test session starts ==============================[0m
1652:  platform linux -- Python 3.12.9, pytest-8.3.5, pluggy-1.5.0 -- /home/runner/work/ocean/ocean/.venv/bin/python
1653:  cachedir: .pytest_cache
1654:  rootdir: /home/runner/work/ocean/ocean
1655:  configfile: pyproject.toml
1656:  plugins: timeout-2.3.1, anyio-4.8.0, asyncio-0.25.3, xdist-3.6.1, httpx-0.34.0
1657:  asyncio: mode=Mode.AUTO, asyncio_default_fixture_loop_scope=function
1658:  created: 4/4 workers
1659:  4 workers [3 items]
1660:  scheduling tests via LoadScheduling
1661:  port_ocean/tests/test_smoke.py::test_valid_fake_departments 
1662:  port_ocean/tests/test_smoke.py::test_valid_fake_integration 
1663:  port_ocean/tests/test_smoke.py::test_valid_fake_persons 
1664:  [gw0][36m [ 33%] [0m[31mERROR[0m port_ocean/tests/test_smoke.py::test_valid_fake_integration 
1665:  [gw2][36m [ 66%] [0m[31mERROR[0m port_ocean/tests/test_smoke.py::test_valid_fake_persons 
1666:  [gw1][36m [100%] [0m[31mERROR[0m port_ocean/tests/test_smoke.py::test_valid_fake_departments 
1667:  ==================================== ERRORS ====================================
1668:  [31m[1m________________ ERROR at setup of test_valid_fake_integration _________________[0m
1669:  [gw0] linux -- Python 3.12.9 /home/runner/work/ocean/ocean/.venv/bin/python
1670:  [0m[37m@pytest[39;49;00m.fixture[90m[39;49;00m
1671:  [94mdef[39;49;00m[90m [39;49;00m[92mport_client_for_fake_integration[39;49;00m() -> Tuple[SmokeTestDetails, PortClient]:[90m[39;49;00m
1672:  smoke_test_details = get_smoke_test_details()[90m[39;49;00m
1673:  >       port_client = get_port_client_for_fake_integration()[90m[39;49;00m
1674:  [1m[31mport_ocean/tests/helpers/fixtures.py[0m:24: 
1675:  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
1676:  [0m[94mdef[39;49;00m[90m [39;49;00m[92mget_port_client_for_fake_integration[39;49;00m() -> PortClient:[90m[39;49;00m
1677:  smoke_test_details = get_smoke_test_details()[90m[39;49;00m
1678:  client_id = environ.get([33m"[39;49;00m[33mPORT_CLIENT_ID[39;49;00m[33m"[39;49;00m)[90m[39;49;00m
1679:  client_secret = environ.get([33m"[39;49;00m[33mPORT_CLIENT_SECRET[39;49;00m[33m"[39;49;00m)[90m[39;49;00m
1680:  [90m[39;49;00m
1681:  [94mif[39;49;00m [95mnot[39;49;00m client_secret [95mor[39;49;00m [95mnot[39;49;00m client_id:[90m[39;49;00m
1682:  >           [94massert[39;49;00m [94mFalse[39;49;00m, [33m"[39;49;00m[33mMissing port credentials[39;49;00m[33m"[39;49;00m[90m[39;49;00m
1683:  [1m[31mE           AssertionError: Missing port credentials[0m
1684:  [1m[31mE           assert False[0m
1685:  [1m[31mport_ocean/tests/helpers/smoke_test.py[0m:70: AssertionError
1686:  [31m[1m__________________ ERROR at setup of test_valid_fake_persons ___________________[0m
1687:  [gw2] linux -- Python 3.12.9 /home/runner/work/ocean/ocean/.venv/bin/python
1688:  [0m[37m@pytest[39;49;00m.fixture[90m[39;49;00m
1689:  [94mdef[39;49;00m[90m [39;49;00m[92mport_client_for_fake_integration[39;49;00m() -> Tuple[SmokeTestDetails, PortClient]:[90m[39;49;00m
1690:  smoke_test_details = get_smoke_test_details()[90m[39;49;00m
1691:  >       port_client = get_port_client_for_fake_integration()[90m[39;49;00m
1692:  [1m[31mport_ocean/tests/helpers/fixtures.py[0m:24: 
1693:  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
1694:  [0m[94mdef[39;49;00m[90m [39;49;00m[92mget_port_client_for_fake_integration[39;49;00m() -> PortClient:[90m[39;49;00m
1695:  smoke_test_details = get_smoke_test_details()[90m[39;49;00m
1696:  client_id = environ.get([33m"[39;49;00m[33mPORT_CLIENT_ID[39;49;00m[33m"[39;49;00m)[90m[39;49;00m
1697:  client_secret = environ.get([33m"[39;49;00m[33mPORT_CLIENT_SECRET[39;49;00m[33m"[39;49;00m)[90m[39;49;00m
1698:  [90m[39;49;00m
1699:  [94mif[39;49;00m [95mnot[39;49;00m client_secret [95mor[39;49;00m [95mnot[39;49;00m client_id:[90m[39;49;00m
1700:  >           [94massert[39;49;00m [94mFalse[39;49;00m, [33m"[39;49;00m[33mMissing port credentials[39;49;00m[33m"[39;49;00m[90m[39;49;00m
1701:  [1m[31mE           AssertionError: Missing port credentials[0m
1702:  [1m[31mE           assert False[0m
1703:  [1m[31mport_ocean/tests/helpers/smoke_test.py[0m:70: AssertionError
1704:  [31m[1m________________ ERROR at setup of test_valid_fake_departments _________________[0m
1705:  [gw1] linux -- Python 3.12.9 /home/runner/work/ocean/ocean/.venv/bin/python
1706:  [0m[37m@pytest[39;49;00m.fixture[90m[39;49;00m
1707:  [94mdef[39;49;00m[90m [39;49;00m[92mport_client_for_fake_integration[39;49;00m() -> Tuple[SmokeTestDetails, PortClient]:[90m[39;49;00m
1708:  smoke_test_details = get_smoke_test_details()[90m[39;49;00m
1709:  >       port_client = get_port_client_for_fake_integration()[90m[39;49;00m
1710:  [1m[31mport_ocean/tests/helpers/fixtures.py[0m:24: 
1711:  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
1712:  [0m[94mdef[39;49;00m[90m [39;49;00m[92mget_port_client_for_fake_integration[39;49;00m() -> PortClient:[90m[39;49;00m
1713:  smoke_test_details = get_smoke_test_details()[90m[39;49;00m
1714:  client_id = environ.get([33m"[39;49;00m[33mPORT_CLIENT_ID[39;49;00m[33m"[39;49;00m)[90m[39;49;00m
1715:  client_secret = environ.get([33m"[39;49;00m[33mPORT_CLIENT_SECRET[39;49;00m[33m"[39;49;00m)[90m[39;49;00m
1716:  [90m[39;49;00m
1717:  [94mif[39;49;00m [95mnot[39;49;00m client_secret [95mor[39;49;00m [95mnot[39;49;00m client_id:[90m[39;49;00m
1718:  >           [94massert[39;49;00m [94mFalse[39;49;00m, [33m"[39;49;00m[33mMissing port credentials[39;49;00m[33m"[39;49;00m[90m[39;49;00m
1719:  [1m[31mE           AssertionError: Missing port credentials[0m
1720:  [1m[31mE           assert False[0m
1721:  [1m[31mport_ocean/tests/helpers/smoke_test.py[0m:70: AssertionError
1722:  [33m=============================== warnings summary ===============================[0m
...

1724:  port_ocean/tests/test_metric.py:5
1725:  port_ocean/tests/test_metric.py:5
1726:  port_ocean/tests/test_metric.py:5
1727:  /home/runner/work/ocean/ocean/port_ocean/tests/test_metric.py:5: PytestUnknownMarkWarning: Unknown pytest.mark.metric - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
1728:  @pytest.mark.metric
1729:  -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
1730:  - generated xml file: /home/runner/work/ocean/ocean/junit/smoke-test-results-ocean/core.xml -
1731:  ============================= slowest 10 durations =============================
1732:  0.00s setup    port_ocean/tests/test_smoke.py::test_valid_fake_departments
1733:  0.00s setup    port_ocean/tests/test_smoke.py::test_valid_fake_integration
1734:  0.00s setup    port_ocean/tests/test_smoke.py::test_valid_fake_persons
1735:  0.00s teardown port_ocean/tests/test_smoke.py::test_valid_fake_persons
1736:  0.00s teardown port_ocean/tests/test_smoke.py::test_valid_fake_integration
1737:  0.00s teardown port_ocean/tests/test_smoke.py::test_valid_fake_departments
1738:  [36m[1m=========================== short test summary info ============================[0m
1739:  [31mERROR[0m port_ocean/tests/test_smoke.py::[1mtest_valid_fake_integration[0m - AssertionError: Missing port credentials
1740:  assert False
1741:  [31mERROR[0m port_ocean/tests/test_smoke.py::[1mtest_valid_fake_persons[0m - AssertionError: Missing port credentials
1742:  assert False
1743:  [31mERROR[0m port_ocean/tests/test_smoke.py::[1mtest_valid_fake_departments[0m - AssertionError: Missing port credentials
1744:  assert False
1745:  [31m======================== [33m4 warnings[0m, [31m[1m3 errors[0m[31m in 1.69s[0m[31m =========================[0m
1746:  make: *** [Makefile:126: smoke/test] Error 1
1747:  ##[error]Process completed with exit code 2.
1748:  ##[group]Run make smoke/clean
...

1762:  SMOKE_TEST_SUFFIX: 14038065947
1763:  ##[endgroup]
1764:  /home/runner/work/ocean/ocean/./scripts/clean-smoke-test.py:10: DeprecationWarning: There is no current event loop
1765:  asyncio.get_event_loop().run_until_complete(main())
1766:  Traceback (most recent call last):
1767:  File "/home/runner/work/ocean/ocean/./scripts/clean-smoke-test.py", line 10, in <module>
1768:  asyncio.get_event_loop().run_until_complete(main())
1769:  File "/opt/hostedtoolcache/Python/3.12.9/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
1770:  return future.result()
1771:  ^^^^^^^^^^^^^^^
1772:  File "/home/runner/work/ocean/ocean/./scripts/clean-smoke-test.py", line 7, in main
1773:  await cleanup_smoke_test()
1774:  File "/home/runner/work/ocean/ocean/port_ocean/tests/helpers/smoke_test.py", line 44, in cleanup_smoke_test
1775:  assert False, "Missing port credentials"
1776:  ^^^^^
1777:  AssertionError: Missing port credentials
1778:  make: *** [Makefile:129: smoke/clean] Error 1
1779:  ##[error]Process completed with exit code 2.
1780:  ##[group]Run mikepenz/action-junit-report@v5
1781:  with:
1782:  report_paths: **/junit/**-test-results-**/*.xml
1783:  include_passed: true
1784:  require_tests: true
1785:  fail_on_failure: true
1786:  token: ***
1787:  group_reports: true
1788:  annotate_only: false
1789:  check_annotations: true
1790:  update_check: false
1791:  check_name: JUnit Test Report
1792:  fail_on_parse_error: false
1793:  require_passed_tests: false
...

1810:  job_name: test
1811:  truncate_stack_traces: true
1812:  resolve_ignore_classname: false
1813:  env:
1814:  pythonLocation: /opt/hostedtoolcache/Python/3.12.9/x64
1815:  PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.9/x64/lib/pkgconfig
1816:  Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.9/x64
1817:  Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.9/x64
1818:  Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.9/x64
1819:  LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.9/x64/lib
1820:  ##[endgroup]
1821:  ##[group]๐Ÿ“˜ Reading input values
1822:  ##[endgroup]
1823:  ##[group]๐Ÿ“ฆ Process test results
1824:  Preparing 1 report as configured.
1825:  port_ocean/tests/test_smoke.py:1 | failed on setup with "AssertionError: Missing port credentials0.002s
1826:  port_ocean/tests/test_smoke.py:1 | failed on setup with "AssertionError: Missing port credentials0.002s
1827:  port_ocean/tests/test_smoke.py:1 | failed on setup with "AssertionError: Missing port credentials0.003s
1828:  test_common:1 | test_default_resources_path_does_not_exist0.002s
1829:  test_oauth_client:1 | test_oauth_client_initialization0.002s
1830:  test_oauth_client:1 | test_oauth_client_disabled_initialization0.001s
1831:  test_oauth_client:1 | test_refresh_request_auth_creds0.001s
1832:  test_oauth_client:1 | test_access_token_property0.001s
1833:  test_entities:1 | test_batch_upsert_entities_read_timeout_should_raise_false0.004s
1834:  test_applier:1 | test_delete_diff_no_deleted_entities0.002s
1835:  test_applier:1 | test_delete_diff_below_threshold0.008s
1836:  TestJQEntityProcessor:1 | test_search_as_bool_failure0.009s
1837:  TestJQEntityProcessor:1 | test_search_fails_on_stop_iteration[.parameters[] | select(.name == "not_exists") | .value-None]0.007s
1838:  TestJQEntityProcessor:1 | test_search_as_bool0.017s
1839:  test_entities:1 | test_batch_upsert_entities_read_timeout_should_raise_true0.002s
1840:  test_organization_mixin:1 | test_org_feature_flags_should_fetch_proper_json_path0.005s
1841:  TestJQEntityProcessor:1 | test_search_fails_on_stop_iteration[.parameters[] | select(.name == "parameter_name") | .value-parameter_value]0.011s
1842:  TestJQEntityProcessor:1 | test_search_as_object0.007s
1843:  test_common:1 | test_custom_defaults_dir_used_if_valid0.004s
1844:  TestJQEntityProcessor:1 | test_search_fails_on_stop_iteration[.parameters[] | select(.name == "another_parameter") | .value-another_value]0.007s
1845:  test_applier:1 | test_delete_diff_above_default_threshold0.007s
...

1850:  test_applier:1 | test_applier_with_mock_context0.014s
1851:  test_live_events:1 | test_parse_raw_event_results_to_entities_creation0.005s
1852:  TestJQEntityProcessor:1 | test_search_performance_100001.311s
1853:  test_live_events:1 | test_parse_raw_event_results_to_entities_deletion0.003s
1854:  TestJQEntityProcessor:1 | test_calculate_entity0.011s
1855:  test_applier:1 | test_using_create_entity_helper0.01s
1856:  test_live_events:1 | test_sync_raw_results_one_raw_result_entity_upserted0.004s
1857:  TestJQEntityProcessor:1 | test_compile0.006s
1858:  TestJQEntityProcessor:1 | test_parse_items0.014s
1859:  TestJQEntityProcessor:1 | test_search0.007s
1860:  test_sync_raw:1 | test_sync_raw_mixin_self_dependency0.022s
1861:  TestJQEntityProcessor:1 | test_in_operator0.012s
1862:  test_sync_raw:1 | test_map_entities_compared_with_port_no_port_entities_all_entities_are_mapped0.009s
1863:  test_sync_raw:1 | test_map_entities_compared_with_port_with_existing_entities_only_changed_third_party_entities_are_mapped0.009s
1864:  test_sync_raw:1 | test_sync_raw_mixin_circular_dependency0.02s
1865:  TestJQEntityProcessor:1 | test_failure_of_jq_expression0.005s
1866:  TestJQEntityProcessor:1 | test_search_as_object_failure0.004s
1867:  test_sync_raw:1 | test_map_entities_compared_with_port_with_multiple_batches_all_batches_are_being_proccessed_to_map0.013s
1868:  TestJQEntityProcessor:1 | test_double_quotes_in_jq_expression0.007s
1869:  test_sync_raw:1 | test_sync_raw_mixin_dependency0.025s
1870:  test_api:1 | test_get_port_app_config_empty_integration_raises_key_error0.004s
1871:  test_sync_raw:1 | test_register_resource_raw_no_changes_upsert_not_called_entitiy_is_returned0.01s
1872:  test_base:1 | test_get_port_app_config_success0.004s
1873:  test_base:1 | test_get_port_app_config_uses_cache0.004s
1874:  test_sync_raw:1 | test_register_resource_raw_with_changes_upsert_called_and_entities_are_mapped0.009s
1875:  test_base:1 | test_get_port_app_config_bypass_cache0.006s
1876:  test_sync_raw:1 | test_register_raw0.027s
1877:  test_base:1 | test_get_port_app_config_validation_error0.004s
1878:  test_sync_raw:1 | test_register_resource_raw_with_errors0.013s
1879:  test_base:1 | test_get_port_app_config_fetch_error0.004s
1880:  TestLocalQueue:1 | test_basic_queue_operations0.002s
1881:  test_sync_raw:1 | test_register_resource_raw_skip_event_type_http_request_upsert_called_and_no_entitites_diff_calculation0.01s
1882:  test_processor_manager:1 | test_registerProcessor_invalidHandlerRegistration_throwsError0.001s
1883:  test_processor_manager:1 | test_processWebhookRequest_successfulProcessing0.002s
...

1885:  test_processor_manager:1 | test_processWebhookRequest_retryTwoTimesThenSuccessfulProcessing6.008s
1886:  test_sync_raw:1 | test_unregister_raw0.028s
1887:  test_processor_manager:1 | test_extractMatchingProcessors_processorMatch0.004s
1888:  test_processor_manager:1 | test_extractMatchingProcessors_noMatch0.003s
1889:  test_processor_manager:1 | test_extractMatchingProcessors_multipleMatches0.003s
1890:  test_processor_manager:1 | test_extractMatchingProcessors_onlyOneMatches0.003s
1891:  TestLocalQueue:1 | test_fifo_order0.002s
1892:  test_processor_manager:1 | test_registerProcessor_registrationWorks0.002s
1893:  TestLocalQueue:1 | test_wait_for_completion0.603s
1894:  test_processor_manager:1 | test_registerProcessor_multipleHandlers_allRegistered0.002s
1895:  test_processor_manager:1 | test_integrationTest_postRequestSent_noMatchingHandlers_entityNotUpserted0.088s
1896:  test_processor_manager:1 | test_integrationTest_postRequestSent_webhookEventRawResultProcessedForMultipleProcessors_entitiesUpserted0.03s
1897:  test_processor_manager:1 | test_integrationTest_postRequestSent_webhookEventRawResultProcessedwithRetry_entityUpserted2.03s
1898:  test_abstract_webhook_processor:1 | test_init_finishedSuccessfully0.001s
1899:  test_abstract_webhook_processor:1 | test_calculateRetryDelay_delayCalculatedCorrectly0.001s
1900:  test_abstract_webhook_processor:1 | test_shouldRetry_returnsTrueOnRetryableError0.001s
1901:  test_abstract_webhook_processor:1 | test_lifecycleHooks_callsCorrectly0.001s
1902:  test_webhook_event:1 | test_fromRequest_createdSuccessfully0.001s
1903:  test_webhook_event:1 | test_fromDict_createdSuccessfully0.001s
1904:  test_webhook_event:1 | test_clone_createsExactCopy0.001s
1905:  test_webhook_event:1 | test_setTimestamp_setsTimestampCorrectly0.001s
1906:  TestValidateIntegrationRuntime:1 | test_validate_integration_runtime[Runtime.Saas-Saas-False]0.002s
1907:  TestValidateIntegrationRuntime:1 | test_validate_integration_runtime[Runtime.Saas-SaasOauth2-False]0.002s
1908:  TestValidateIntegrationRuntime:1 | test_validate_integration_runtime[Runtime.Saas-OnPrem-True]0.002s
1909:  TestValidateIntegrationRuntime:1 | test_validate_integration_runtime[Runtime.OnPrem-OnPrem-False]0.002s
1910:  TestValidateIntegrationRuntime:1 | test_validate_integration_runtime[Runtime.OnPrem-SaasOauth2-True]0.002s
1911:  TestValidateIntegrationRuntime:1 | test_runtime_installation_compatibility[Runtime.Saas-SaasOauth2-True]0.001s
1912:  TestValidateIntegrationRuntime:1 | test_runtime_installation_compatibility[Runtime.Saas-OnPrem-False]0.001s
1913:  TestValidateIntegrationRuntime:1 | test_runtime_installation_compatibility[Runtime.OnPrem-OnPrem-True]0.001s
1914:  TestValidateIntegrationRuntime:1 | test_runtime_installation_compatibility[Runtime.OnPrem-SaasCloud-False]0.001s
1915:  test_entity_topological_sorter:1 | test_handle_failed_with_dependencies0.001s
1916:  test_entity_topological_sorter:1 | test_handle_failed_with_self_dependencies0.003s
1917:  test_entity_topological_sorter:1 | test_handle_failed_with_circular_dependencies0.001s
1918:  test_resolve_entities_diff:1 | test_are_entities_fields_equal_identical_properties_should_be_true0.001s
...

1956:  test_async_iterators:1 | test_semaphore_async_iterator0.403s
1957:  TestJQEntityProcessor:1 | test_parse_items_performance_1000010.183s
1958:  test_cache:1 | test_cache_iterator_result0.703s
1959:  test_cache:1 | test_cache_iterator_result_with_kwargs1.004s
1960:  test_processor_manager:1 | test_integrationTest_postRequestSent_webhookEventRawResultProcessedwithRetry_exceededMaxRetries_entityNotUpserted14.033s
1961:  test_cache:1 | test_cache_iterator_result_no_cache0.603s
1962:  test_cache:1 | test_cache_coroutine_result0.202s
1963:  test_cache:1 | test_cache_coroutine_result_with_kwargs0.202s
1964:  test_cache:1 | test_cache_coroutine_result_no_cache0.202s
1965:  test_processor_manager:1 | test_processWebhookRequest_maxRetriesExceeded_exceptionRaised2.004s
1966:  test_processor_manager:1 | test_integrationTest_postRequestSent_webhookEventRawResultProcessed_entityUpserted0.043s
1967:  test_processor_manager:1 | test_integrationTest_postRequestSent_reachedTimeout_entityNotUpserted2.037s
1968:  TestJQEntityProcessor:1 | test_parse_items_wrong_mapping0.018s
1969:  TestJQEntityProcessor:1 | test_parse_items_empty_required0.015s
1970:  test_sync_raw:1 | test_on_resync_complete_hooks_are_called_on_success0.01s
1971:  test_sync_raw:1 | test_on_resync_complete_hooks_not_called_on_error0.006s
1972:  test_sync_raw:1 | test_multiple_on_resync_start_on_resync_complete_hooks_called_in_order0.01s
1973:  test_sync_raw:1 | test_on_resync_start_hook_error_prevents_resync0.006s
1974:  test_api:1 | test_get_port_app_config_valid_config_returns_config0.002s
1975:  test_api:1 | test_get_port_app_config_empty_config_raises_value_error0.002s
1976:  test_api:1 | test_get_port_app_config_missing_config_key_raises_key_error0.003s
1977:  test_processor_manager:1 | test_integrationTest_postRequestSent_oneProcessorThrowsException_onlySuccessfulResultsProcessed0.025s
1978:  โ„น๏ธ Posting with conclusion 'failure' to https://github.com/port-labs/ocean/pull/1492 (sha: b98c2912ab3b788c7b78fcc79d057adfbfe2b8ed)
1979:  ##[endgroup]
1980:  ##[group]๐Ÿš€ Publish results
1981:  โ„น๏ธ - JUnit Test Report - 153 tests run, 149 passed, 1 skipped, 3 failed.
1982:  ๐Ÿงช - port_ocean/tests/test_smoke.py | failed on setup with "AssertionError: Missing port credentials
1983:  ๐Ÿงช - port_ocean/tests/test_smoke.py | failed on setup with "AssertionError: Missing port credentials
1984:  ๐Ÿงช - port_ocean/tests/test_smoke.py | failed on setup with "AssertionError: Missing port credentials
1985:  โ„น๏ธ - JUnit Test Report - Creating check (Annotations: 3)
1986:  ##[error]โŒ Failed to create checks using the provided token. (HttpError: Resource not accessible by integration - https://docs.github.com/rest/checks/runs#create-a-check-run)
1987:  ##[warning]โš ๏ธ This usually indicates insufficient permissions. More details: https://github.com/mikepenz/action-junit-report/issues/23
1988:  ##[error]โŒ Tests reported 3 failures
1989:  ##[endgroup]

qodo-code-review[bot] avatar Mar 24 '25 14:03 qodo-code-review[bot]