Skip to content

Feature/deploy target config bug fix #139

Feature/deploy target config bug fix

Feature/deploy target config bug fix #139

Triggered via pull request March 20, 2024 03:05
Status Failure
Total duration 48s
Artifacts 3

test.yml

on: pull_request
Matrix: ansible-test
Fit to window
Zoom out
Zoom in

Annotations

14 errors and 1 warning
tests/unit/plugins/action/test_determine_updates_required.py.test_update_required_cluster: tests/unit/plugins/action/test_determine_updates_required.py#L76
self = <ansible_collections.lagoon.api.tests.unit.plugins.action.test_determine_updates_required.DetermineUpdatesTester testMethod=test_update_required_cluster> def test_update_required_cluster(self): existing_configs = [ { 'branches': '^(main)$', 'deployTarget': {'id': 1, 'name': 'cluster.io'}, 'id': 1, 'pullrequests': 'false', 'weight': 1 } ] desired_configs = [ { 'branches': '^(main)$', 'deployTarget': 2, 'pullrequests': 'false', 'weight': 1 } ] addition_required, deletion_required = determine_required_updates(existing_configs, desired_configs) assert len(addition_required) == 1, "Expected one addition required due to deployTarget change" assert addition_required[0]['deployTarget'] == 2, "Expected deployTarget to be updated to 2" > assert len(deletion_required) == 0, "Expected no deletions required" E AssertionError: Expected no deletions required E assert 1 == 0 E + where 1 = len([1]) tests/unit/plugins/action/test_determine_updates_required.py:100: AssertionError
tests/unit/plugins/action/test_determine_updates_required.py.test_update_required_weight: tests/unit/plugins/action/test_determine_updates_required.py#L51
self = <ansible_collections.lagoon.api.tests.unit.plugins.action.test_determine_updates_required.DetermineUpdatesTester testMethod=test_update_required_weight> def test_update_required_weight(self): existing_configs = [ { 'branches': '^(main)$', 'deployTarget': {'id': 1, 'name': 'cluster.io'}, 'id': 1, 'pullrequests': 'false', 'weight': 1 } ] desired_configs = [ { 'branches': '^(main)$', 'deployTarget': 1, 'pullrequests': 'false', 'weight': 2 } ] addition_required, deletion_required = determine_required_updates(existing_configs, desired_configs) assert len(addition_required) == 1, "Expected one addition required due to weight change" assert addition_required[0]['weight'] == 2, "Expected weight to be updated to 2" > assert len(deletion_required) == 0, "Expected no deletions required" E AssertionError: Expected no deletions required E assert 1 == 0 E + where 1 = len([1]) tests/unit/plugins/action/test_determine_updates_required.py:75: AssertionError
tests/unit/plugins/action/test_determine_updates_required.py.test_update_required: tests/unit/plugins/action/test_determine_updates_required.py#L10
self = <ansible_collections.lagoon.api.tests.unit.plugins.action.test_determine_updates_required.DetermineUpdatesTester testMethod=test_update_required> def test_update_required(self): existing_configs = [] desired_configs = [ { 'branches': '^(main)$', 'deployTarget': 1, 'pullrequests': 'false', } ] > addition_required, deletion_required = determine_required_updates(existing_configs, desired_configs) tests/unit/plugins/action/test_determine_updates_required.py:21: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ existing_configs = [] desired_configs = [{'branches': '^(main)$', 'deployTarget': 1, 'pullrequests': 'false'}] def determine_required_updates(existing_configs, desired_configs): addition_required = [] deletion_required = [] # Step 1: Group existing configurations by key attributes grouped_configs = {} for config in existing_configs: key = (config['branches'], config['pullrequests'], str(config['deployTarget']['id']), str(config['weight'])) if key not in grouped_configs: grouped_configs[key] = [] grouped_configs[key].append(config) print("Grouped existing configurations by branches, pullrequests, deployTarget ID, and weight.") # Step 2: Identify duplicates and mark older ones for deletion for key, configs in grouped_configs.items(): if len(configs) > 1: sorted_configs = sorted(configs, key=lambda x: x['id'], reverse=True) newest_config = sorted_configs[0] for config in sorted_configs[1:]: deletion_required.append(config['id']) print(f"Marked older duplicate configurations for deletion based on key {key}, keeping newest configuration with ID {newest_config['id']}.") grouped_configs[key] = [newest_config] # Adjusted logic for handling additions and deletions for desired in desired_configs: > key = (desired['branches'], desired['pullrequests'], str(desired['deployTarget']), str(desired['weight'])) E KeyError: 'weight' plugins/action/deploy_target_config.py:117: KeyError
ansible-test (3.10)
Process completed with exit code 1.
tests/unit/plugins/action/test_determine_updates_required.py.test_update_required_cluster: tests/unit/plugins/action/test_determine_updates_required.py#L76
self = <ansible_collections.lagoon.api.tests.unit.plugins.action.test_determine_updates_required.DetermineUpdatesTester testMethod=test_update_required_cluster> def test_update_required_cluster(self): existing_configs = [ { 'branches': '^(main)$', 'deployTarget': {'id': 1, 'name': 'cluster.io'}, 'id': 1, 'pullrequests': 'false', 'weight': 1 } ] desired_configs = [ { 'branches': '^(main)$', 'deployTarget': 2, 'pullrequests': 'false', 'weight': 1 } ] addition_required, deletion_required = determine_required_updates(existing_configs, desired_configs) assert len(addition_required) == 1, "Expected one addition required due to deployTarget change" assert addition_required[0]['deployTarget'] == 2, "Expected deployTarget to be updated to 2" > assert len(deletion_required) == 0, "Expected no deletions required" E AssertionError: Expected no deletions required tests/unit/plugins/action/test_determine_updates_required.py:100: AssertionError
tests/unit/plugins/action/test_determine_updates_required.py.test_update_required: tests/unit/plugins/action/test_determine_updates_required.py#L10
self = <ansible_collections.lagoon.api.tests.unit.plugins.action.test_determine_updates_required.DetermineUpdatesTester testMethod=test_update_required> def test_update_required(self): existing_configs = [] desired_configs = [ { 'branches': '^(main)$', 'deployTarget': 1, 'pullrequests': 'false', } ] > addition_required, deletion_required = determine_required_updates(existing_configs, desired_configs) tests/unit/plugins/action/test_determine_updates_required.py:21: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ existing_configs = [] desired_configs = [{'branches': '^(main)$', 'deployTarget': 1, 'pullrequests': 'false'}] def determine_required_updates(existing_configs, desired_configs): addition_required = [] deletion_required = [] # Step 1: Group existing configurations by key attributes grouped_configs = {} for config in existing_configs: key = (config['branches'], config['pullrequests'], str(config['deployTarget']['id']), str(config['weight'])) if key not in grouped_configs: grouped_configs[key] = [] grouped_configs[key].append(config) print("Grouped existing configurations by branches, pullrequests, deployTarget ID, and weight.") # Step 2: Identify duplicates and mark older ones for deletion for key, configs in grouped_configs.items(): if len(configs) > 1: sorted_configs = sorted(configs, key=lambda x: x['id'], reverse=True) newest_config = sorted_configs[0] for config in sorted_configs[1:]: deletion_required.append(config['id']) print(f"Marked older duplicate configurations for deletion based on key {key}, keeping newest configuration with ID {newest_config['id']}.") grouped_configs[key] = [newest_config] # Adjusted logic for handling additions and deletions for desired in desired_configs: > key = (desired['branches'], desired['pullrequests'], str(desired['deployTarget']), str(desired['weight'])) E KeyError: 'weight' plugins/action/deploy_target_config.py:117: KeyError
tests/unit/plugins/action/test_determine_updates_required.py.test_update_required_weight: tests/unit/plugins/action/test_determine_updates_required.py#L51
self = <ansible_collections.lagoon.api.tests.unit.plugins.action.test_determine_updates_required.DetermineUpdatesTester testMethod=test_update_required_weight> def test_update_required_weight(self): existing_configs = [ { 'branches': '^(main)$', 'deployTarget': {'id': 1, 'name': 'cluster.io'}, 'id': 1, 'pullrequests': 'false', 'weight': 1 } ] desired_configs = [ { 'branches': '^(main)$', 'deployTarget': 1, 'pullrequests': 'false', 'weight': 2 } ] addition_required, deletion_required = determine_required_updates(existing_configs, desired_configs) assert len(addition_required) == 1, "Expected one addition required due to weight change" assert addition_required[0]['weight'] == 2, "Expected weight to be updated to 2" > assert len(deletion_required) == 0, "Expected no deletions required" E AssertionError: Expected no deletions required tests/unit/plugins/action/test_determine_updates_required.py:75: AssertionError
ansible-test (3.9)
The job was canceled because "_3_10" failed.
ansible-test (3.9)
Process completed with exit code 1.
ansible-test (3.8)
The job was canceled because "_3_10" failed.
ansible-test (3.8)
Process completed with exit code 1.
ansible-test (3.10)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3, actions/setup-python@v3, mikepenz/action-junit-report@v3, actions/upload-artifact@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.

Artifacts

Produced during runtime
Name Size
test-results-3.10 Expired
9.62 KB
test-results-3.8 Expired
14.5 KB
test-results-3.9 Expired
14.7 KB