aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_sdc2_service.py
diff options
context:
space:
mode:
authormichal.jagiello@t-mobile.pl <michal.jagiello@t-mobile.pl>2024-03-12 16:46:54 +0000
committerMichal Jagiello <michal.jagiello@t-mobile.pl>2024-03-14 09:31:10 +0100
commitbd1eed0a99651140fe381c183bc38221c598814f (patch)
treed71514457dc85d733c10536724cab7690af645c5 /tests/test_sdc2_service.py
parent7c3de7ac0ff93bae27f2a0a30198bb3d2e24cbf1 (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.py70
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