Add ORAN Python SDK first draft
[it/dep.git] / smo-install / test / pythonsdk / unit-tests / test_enrichmentservice.py
1 #!/usr/bin/env python3
2 # SPDX-License-Identifier: Apache-2.0
3 """Test Enrichment Service module."""
4
5 from unittest import mock
6 from oransdk.enrichmentservice.enrichmentservice import EnrichmentService
7
8 HEADER = {"Content-Type": "application/json"}
9 BASE_URL = "http://localhost:8083"
10
11 def test_initialization():
12     """Class initialization test."""
13     ems = EnrichmentService()
14     assert isinstance(ems, EnrichmentService)
15
16
17 @mock.patch.object(EnrichmentService, 'send_message')
18 def test_check_status(mock_send_message):
19     """Test EnrichmentService's class method."""
20     EnrichmentService.check_status()
21     mock_send_message.assert_called_once_with('GET',
22                                               'Get EMS status',
23                                               (f"{BASE_URL}/status"))
24
25
26 @mock.patch.object(EnrichmentService, 'send_message')
27 def test_get_eitypes(mock_send_message):
28     """Test EnrichmentService's class method."""
29     EnrichmentService.get_eitypes()
30     mock_send_message.assert_called_once_with('GET',
31                                               'Get all the EiTypes',
32                                               (f"{BASE_URL}/data-producer/v1/info-types"),
33                                               headers=HEADER)
34
35
36 @mock.patch.object(EnrichmentService, 'send_message')
37 def test_get_eitype_individual(mock_send_message):
38     """Test EnrichmentService's class method."""
39     EnrichmentService.get_eitype_individual("test_eitype")
40     mock_send_message.assert_called_once_with('GET',
41                                               'Get individual EiType',
42                                               (f"{BASE_URL}/data-producer/v1/info-types/test_eitype"),
43                                               headers=HEADER)
44
45
46 @mock.patch.object(EnrichmentService, 'send_message')
47 def test_get_eiproducers(mock_send_message):
48     """Test EnrichmentService's class method."""
49     EnrichmentService.get_eiproducers()
50     mock_send_message.assert_called_once_with('GET',
51                                               'Get all the EiProducers',
52                                               (f"{BASE_URL}/data-producer/v1/info-producers"),
53                                               headers=HEADER)
54
55
56 @mock.patch.object(EnrichmentService, 'send_message')
57 def test_get_eiproducer_individual(mock_send_message):
58     """Test EnrichmentService's class method."""
59     EnrichmentService.get_eiproducer_individual("test_producer")
60     mock_send_message.assert_called_once_with('GET',
61                                               'Get individual EiProducer',
62                                               (f"{BASE_URL}/data-producer/v1/info-producers/test_producer"),
63                                               headers=HEADER)
64
65
66 @mock.patch.object(EnrichmentService, 'send_message')
67 def test_get_eiproducer_status(mock_send_message):
68     """Test EnrichmentService's class method."""
69     EnrichmentService.get_eiproducer_status("test_producer")
70     mock_send_message.assert_called_once_with('GET',
71                                               'Get the status of EiProducer',
72                                               (f"{BASE_URL}/data-producer/v1/info-producers/test_producer/status"),
73                                               headers=HEADER)
74
75
76 @mock.patch.object(EnrichmentService, 'send_message')
77 def test_get_eijobs(mock_send_message):
78     """Test EnrichmentService's class method."""
79     EnrichmentService.get_eijobs()
80     mock_send_message.assert_called_once_with('GET',
81                                               'Get all the EiJobs',
82                                               (f"{BASE_URL}/A1-EI/v1/eijobs"),
83                                               headers=HEADER)
84
85
86 @mock.patch.object(EnrichmentService, 'send_message')
87 def test_get_eijob_individual(mock_send_message):
88     """Test EnrichmentService's class method."""
89     EnrichmentService.get_eijob_individual("test_job")
90     mock_send_message.assert_called_once_with('GET',
91                                               'Get individual EiJob',
92                                               (f"{BASE_URL}/A1-EI/v1/eijobs/test_job"),
93                                               headers=HEADER)
94
95
96 @mock.patch.object(EnrichmentService, 'send_message')
97 def test_create_eitype(mock_send_message):
98     """Test EnrichmentService's class method."""
99     EnrichmentService.create_eitype("type_name", {})
100     mock_send_message.assert_called_once_with('PUT',
101                                               'Create EiType',
102                                               (f"{BASE_URL}/data-producer/v1/info-types/type_name"),
103                                               data={},
104                                               headers=HEADER)
105
106
107 @mock.patch.object(EnrichmentService, 'send_message')
108 def test_create_eiproducer(mock_send_message):
109     """Test EnrichmentService's class method."""
110     EnrichmentService.create_eiproducer("producer", {})
111     mock_send_message.assert_called_once_with('PUT',
112                                               'Create EiProducer',
113                                               (f"{BASE_URL}/data-producer/v1/info-producers/producer"),
114                                               data={},
115                                               headers=HEADER)
116
117 @mock.patch.object(EnrichmentService, 'send_message')
118 def test_create_eijob(mock_send_message):
119     """Test EnrichmentService's class method."""
120     EnrichmentService.create_eijob("job", {})
121     mock_send_message.assert_called_once_with('PUT',
122                                               'Create EiJob',
123                                               (f"{BASE_URL}/A1-EI/v1/eijobs/job"),
124                                               data={},
125                                               headers=HEADER)