Add Onap Jakarta support
[it/dep.git] / smo-install / test / pythonsdk / unit-tests / test_clamp.py
1 #!/usr/bin/env python3
2 # SPDX-License-Identifier: Apache-2.0
3 """Test Clamp module."""
4 from unittest import mock
5 from oransdk.policy.clamp import ClampToscaTemplate
6
7
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)
12
13
14 def test_initialization():
15     """Class initialization test."""
16     clamp = ClampToscaTemplate(BASIC_AUTH)
17     assert isinstance(clamp, ClampToscaTemplate)
18
19
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',
27                                          url,
28                                          basic_auth=BASIC_AUTH)
29
30
31 @mock.patch.object(ClampToscaTemplate, 'send_message')
32 def test_upload_commission(mock_send_message):
33     """Test Clamp's class method."""
34     tosca_template = {}
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',
39                                          url,
40                                          data=tosca_template,
41                                          headers=HEADER,
42                                          basic_auth=BASIC_AUTH)
43
44
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)
53
54
55 @mock.patch.object(ClampToscaTemplate,'send_message')
56 def test_get_template_instance_status(mock_send_message):
57     """Test Clamp's class method."""
58     name = ""
59     version = ""
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',
64                                          url,
65                                          basic_auth=BASIC_AUTH)
66
67
68 @mock.patch.object(ClampToscaTemplate, 'send_message')
69 def test_delete_template_instance(mock_send_message):
70     name = ""
71     version = ""
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)
76
77
78 @mock.patch.object(ClampToscaTemplate, 'send_message')
79 def test_decommission_template(mock_send_message):
80     name = ""
81     version = ""
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)