Add Onap Jakarta support
[it/dep.git] / smo-install / test / pythonsdk / unit-tests / test_clamp.py
diff --git a/smo-install/test/pythonsdk/unit-tests/test_clamp.py b/smo-install/test/pythonsdk/unit-tests/test_clamp.py
new file mode 100644 (file)
index 0000000..1efb46a
--- /dev/null
@@ -0,0 +1,85 @@
+#!/usr/bin/env python3
+# SPDX-License-Identifier: Apache-2.0
+"""Test Clamp module."""
+from unittest import mock
+from oransdk.policy.clamp import ClampToscaTemplate
+
+
+HEADER = {"Accept": "application/json", "Content-Type": "application/json"}
+BASIC_AUTH = {'username': 'dcae@dcae.onap.org', 'password': 'demo123456!'}
+BASE_URL = "http://localhost:8084"
+CLAMP = ClampToscaTemplate(BASIC_AUTH)
+
+
+def test_initialization():
+    """Class initialization test."""
+    clamp = ClampToscaTemplate(BASIC_AUTH)
+    assert isinstance(clamp, ClampToscaTemplate)
+
+
+@mock.patch.object(ClampToscaTemplate, 'send_message')
+def test_get_template_instance(mock_send_message):
+    """Test Clamp's class method."""
+    ClampToscaTemplate.get_template_instance(CLAMP)
+    url = f"{CLAMP.base_url()}/acm/getToscaInstantiation"
+    mock_send_message.assert_called_with('GET',
+                                         'Get tosca template instance',
+                                         url,
+                                         basic_auth=BASIC_AUTH)
+
+
+@mock.patch.object(ClampToscaTemplate, 'send_message')
+def test_upload_commission(mock_send_message):
+    """Test Clamp's class method."""
+    tosca_template = {}
+    ClampToscaTemplate.upload_commission(CLAMP, tosca_template)
+    url = f"{CLAMP.base_url()}/acm/commissionToscaTemplate"
+    mock_send_message.assert_called_with('POST',
+                                         'Upload Tosca to commissioning',
+                                         url,
+                                         data=tosca_template,
+                                         headers=HEADER,
+                                         basic_auth=BASIC_AUTH)
+
+
+@mock.patch.object(ClampToscaTemplate, 'send_message')
+def test_create_instance(mock_send_message):
+    """Test Clamp's class method."""
+    tosca_instance_properties = {}
+    ClampToscaTemplate.create_instance(CLAMP, tosca_instance_properties)
+    url = f"{CLAMP.base_url()}/acm/postToscaInstanceProperties"
+    mock_send_message.assert_called_once_with('POST', 'Create Tosca instance', url, data=tosca_instance_properties,
+                                              headers=HEADER, basic_auth=BASIC_AUTH)
+
+
+@mock.patch.object(ClampToscaTemplate,'send_message')
+def test_get_template_instance_status(mock_send_message):
+    """Test Clamp's class method."""
+    name = ""
+    version = ""
+    ClampToscaTemplate.get_template_instance_status(CLAMP, name, version)
+    url = f"{CLAMP.base_url()}/acm/getInstantiationOrderState?name={name}&version={version}"
+    mock_send_message.assert_called_with('GET',
+                                         'Get tosca template instance',
+                                         url,
+                                         basic_auth=BASIC_AUTH)
+
+
+@mock.patch.object(ClampToscaTemplate, 'send_message')
+def test_delete_template_instance(mock_send_message):
+    name = ""
+    version = ""
+    ClampToscaTemplate.delete_template_instance(CLAMP, name, version)
+    url = f"{CLAMP.base_url()}/acm/deleteToscaInstanceProperties?name={name}&version={version}"
+    mock_send_message.assert_called_with('DELETE', 'Delete the tosca instance', url, headers=HEADER,
+                                         basic_auth=BASIC_AUTH)
+
+
+@mock.patch.object(ClampToscaTemplate, 'send_message')
+def test_decommission_template(mock_send_message):
+    name = ""
+    version = ""
+    ClampToscaTemplate.decommission_template(CLAMP, name, version)
+    url = f"{CLAMP.base_url()}/acm/decommissionToscaTemplate?name={name}&version={version}"
+    mock_send_message.assert_called_with('DELETE', 'Decommission the tosca template', url, headers=HEADER,
+                                         basic_auth=BASIC_AUTH)