diff options
author | michal.jagiello@t-mobile.pl <michal.jagiello@t-mobile.pl> | 2024-03-12 16:46:54 +0000 |
---|---|---|
committer | Michal Jagiello <michal.jagiello@t-mobile.pl> | 2024-03-14 09:31:10 +0100 |
commit | bd1eed0a99651140fe381c183bc38221c598814f (patch) | |
tree | d71514457dc85d733c10536724cab7690af645c5 /tests/test_sdc2_service.py | |
parent | 7c3de7ac0ff93bae27f2a0a30198bb3d2e24cbf1 (diff) |
Version 13.0.5 -- Add an exception on SDC model distribution check
There is a chance that SO-SDC controller returns an
error that some artifact is not used in model. That's
not an error which should mark distribution as failed
Issue-ID: TEST-404
Change-Id: I27011f5c8989f989b95fa06a4632bf0ef16cc9bf
Signed-off-by: Michal Jagiello <michal.jagiello@t-mobile.pl>
Diffstat (limited to 'tests/test_sdc2_service.py')
-rw-r--r-- | tests/test_sdc2_service.py | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/tests/test_sdc2_service.py b/tests/test_sdc2_service.py index 0984cf8..69b732b 100644 --- a/tests/test_sdc2_service.py +++ b/tests/test_sdc2_service.py @@ -613,3 +613,73 @@ def test_service_distribution_distributon_status_list(mock_send_message_json): assert sd.distribution_status_list[0].status == distribution_status_data["status"] assert sd.distribution_status_list[0].url == distribution_status_data["url"] assert sd.distribution_status_list[0].error_reason == distribution_status_data["errorReason"] + + +@patch("onapsdk.sdc2.service.ServiceDistribution.send_message_json") +def test_service_distribution_distributon_status_list_with_errors(mock_send_message_json): + mock_send_message_json.return_value = { + "distributionStatusList": [] + } + sd = ServiceDistribution( + distribution_id=str(uuid4()), + timestamp=str(randint(0, maxsize)), + user_id=str(uuid4()), + deployment_status=str(uuid4()) + ) + assert sd.distribution_status_list == [] + + distribution_status_data_null_error_reason = { + "omfComponentID": str(uuid4()), + "timestamp": str(randint(0, maxsize)), + "status": str(uuid4()), + "url": str(uuid4()), + "errorReason": "null" + } + mock_send_message_json.return_value = { + "distributionStatusList": [distribution_status_data_null_error_reason] + } + sd._distribution_status_list = None + assert len(sd.distribution_status_list) == 1 + assert not sd.distribution_status_list[0].failed + + distribution_status_data_artifact_not_used_error_reason = { + "omfComponentID": str(uuid4()), + "timestamp": str(randint(0, maxsize)), + "status": str(uuid4()), + "url": str(uuid4()), + "errorReason": "The artifact has not been used by the modules defined in the resource" + } + mock_send_message_json.return_value = { + "distributionStatusList": [distribution_status_data_artifact_not_used_error_reason] + } + sd._distribution_status_list = None + assert len(sd.distribution_status_list) == 1 + assert not sd.distribution_status_list[0].failed + + distribution_status_data_already_deployed_status = { + "omfComponentID": str(uuid4()), + "timestamp": str(randint(0, maxsize)), + "status": "ALREADY_DEPLOYED", + "url": str(uuid4()), + "errorReason": str(uuid4()) + } + mock_send_message_json.return_value = { + "distributionStatusList": [distribution_status_data_already_deployed_status] + } + sd._distribution_status_list = None + assert len(sd.distribution_status_list) == 1 + assert not sd.distribution_status_list[0].failed + + distribution_status_data_any_error_reason = { + "omfComponentID": str(uuid4()), + "timestamp": str(randint(0, maxsize)), + "status": str(uuid4()), + "url": str(uuid4()), + "errorReason": str(uuid4()) + } + mock_send_message_json.return_value = { + "distributionStatusList": [distribution_status_data_any_error_reason] + } + sd._distribution_status_list = None + assert len(sd.distribution_status_list) == 1 + assert sd.distribution_status_list[0].failed |