2 # SPDX-License-Identifier: Apache-2.0
3 """Test Clamp module."""
4 from unittest import mock
5 from oransdk.policy.clamp import ClampToscaTemplate
8 HEADER = {"Accept": "application/json", "Content-Type": "application/json"}
9 BASIC_AUTH = {'username': 'dcae@dcae.onap.org', 'password': 'demo123456!'}
10 BASE_URL = "http://localhost:8084"
11 CLAMP = ClampToscaTemplate(BASIC_AUTH)
14 def test_initialization():
15 """Class initialization test."""
16 clamp = ClampToscaTemplate(BASIC_AUTH)
17 assert isinstance(clamp, ClampToscaTemplate)
20 @mock.patch.object(ClampToscaTemplate, 'send_message')
21 def test_get_template_instance(mock_send_message):
22 """Test Clamp's class method."""
23 ClampToscaTemplate.get_template_instance(CLAMP)
24 url = f"{CLAMP.base_url()}/acm/getToscaInstantiation"
25 mock_send_message.assert_called_with('GET',
26 'Get tosca template instance',
28 basic_auth=BASIC_AUTH)
31 @mock.patch.object(ClampToscaTemplate, 'send_message')
32 def test_upload_commission(mock_send_message):
33 """Test Clamp's class method."""
35 ClampToscaTemplate.upload_commission(CLAMP, tosca_template)
36 url = f"{CLAMP.base_url()}/acm/commissionToscaTemplate"
37 mock_send_message.assert_called_with('POST',
38 'Upload Tosca to commissioning',
42 basic_auth=BASIC_AUTH)
45 @mock.patch.object(ClampToscaTemplate, 'send_message')
46 def test_create_instance(mock_send_message):
47 """Test Clamp's class method."""
48 tosca_instance_properties = {}
49 ClampToscaTemplate.create_instance(CLAMP, tosca_instance_properties)
50 url = f"{CLAMP.base_url()}/acm/postToscaInstanceProperties"
51 mock_send_message.assert_called_once_with('POST', 'Create Tosca instance', url, data=tosca_instance_properties,
52 headers=HEADER, basic_auth=BASIC_AUTH)
55 @mock.patch.object(ClampToscaTemplate,'send_message')
56 def test_get_template_instance_status(mock_send_message):
57 """Test Clamp's class method."""
60 ClampToscaTemplate.get_template_instance_status(CLAMP, name, version)
61 url = f"{CLAMP.base_url()}/acm/getInstantiationOrderState?name={name}&version={version}"
62 mock_send_message.assert_called_with('GET',
63 'Get tosca template instance',
65 basic_auth=BASIC_AUTH)
68 @mock.patch.object(ClampToscaTemplate, 'send_message')
69 def test_delete_template_instance(mock_send_message):
72 ClampToscaTemplate.delete_template_instance(CLAMP, name, version)
73 url = f"{CLAMP.base_url()}/acm/deleteToscaInstanceProperties?name={name}&version={version}"
74 mock_send_message.assert_called_with('DELETE', 'Delete the tosca instance', url, headers=HEADER,
75 basic_auth=BASIC_AUTH)
78 @mock.patch.object(ClampToscaTemplate, 'send_message')
79 def test_decommission_template(mock_send_message):
82 ClampToscaTemplate.decommission_template(CLAMP, name, version)
83 url = f"{CLAMP.base_url()}/acm/decommissionToscaTemplate?name={name}&version={version}"
84 mock_send_message.assert_called_with('DELETE', 'Decommission the tosca template', url, headers=HEADER,
85 basic_auth=BASIC_AUTH)