#!/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)