Add ORAN Python SDK first draft
[it/dep.git] / smo-install / test / pythonsdk / unit-tests / test_a1policymanagement.py
1 #!/usr/bin/env python3
2 # SPDX-License-Identifier: Apache-2.0
3 """Test A1policymanagement module."""
4
5 from unittest import mock
6 from oransdk.a1policymanagement.a1policymanagement import A1policymanagement
7
8 HEADER = {"Accept": "application/json", "Content-Type": "application/json"}
9 BASE_URL = "http://localhost:8081"
10
11 def test_initialization():
12     """Class initialization test."""
13     a1policymanagement = A1policymanagement()
14     assert isinstance(a1policymanagement, A1policymanagement)
15
16
17 @mock.patch.object(A1policymanagement, 'send_message')
18 def test_check_status(mock_send_message):
19     """Test A1policymanagement's class method."""
20     A1policymanagement.check_status()
21     mock_send_message.assert_called_once_with('GET',
22                                               'Get A1 policy management status',
23                                               (f"{BASE_URL}/status"))
24
25 @mock.patch.object(A1policymanagement, 'send_message_json')
26 def test_get_policy_types(mock_send_message_json):
27     """Test A1policymanagement's class method."""
28     A1policymanagement.get_policy_types()
29     mock_send_message_json.assert_called_once_with('GET',
30                                               'Get all the policy types',
31                                               (f"{BASE_URL}/policy_types"))
32
33 @mock.patch.object(A1policymanagement, 'send_message_json')
34 def test_get_policy_type_agent(mock_send_message_json):
35     """Test A1policymanagement's class method."""
36     A1policymanagement.get_policy_type_agent()
37     mock_send_message_json.assert_called_once_with('GET',
38                                               'Get all the policy types from policy agent',
39                                               (f"{BASE_URL}/a1-policy/v2/policy-types"))
40
41 @mock.patch.object(A1policymanagement, 'send_message_json')
42 def test_get_policy(mock_send_message_json):
43     """Test A1policymanagement's class method."""
44     A1policymanagement.get_policy("test_id")
45     mock_send_message_json.assert_called_once_with('GET',
46                                               'Get the policy with policy id',
47                                               (f"{BASE_URL}/a1-policy/v2/policies/test_id"))
48
49 @mock.patch.object(A1policymanagement, 'send_message')
50 def test_create_service(mock_send_message):
51     """Test A1policymanagement's class method."""
52     service_data = {}
53     A1policymanagement.create_service(service_data)
54     mock_send_message.assert_called_once_with('PUT',
55                                               'Create Service',
56                                               (f"{BASE_URL}/a1-policy/v2/services"),
57                                               data=service_data,
58                                               headers=HEADER)
59
60 @mock.patch.object(A1policymanagement, 'send_message')
61 def test_create_policy(mock_send_message):
62     """Test A1policymanagement's class method."""
63     policy_data = {}
64     A1policymanagement.create_policy(policy_data)
65     mock_send_message.assert_called_once_with('PUT',
66                                               'Create Policy',
67                                               (f"{BASE_URL}/a1-policy/v2/policies"),
68                                               data=policy_data,
69                                               headers=HEADER)