Bug 1212
[osm/PLA.git] / osm_pla / test / test_server.py
index bac8647..737ca68 100644 (file)
@@ -13,6 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 import asyncio
+import copy
 import os
 import sys
 from unittest import TestCase, mock
@@ -309,6 +310,18 @@ class TestServer(TestCase):
         _ = server._get_nsd(nslcmop_record_wo_pinning['operationParams']['nsdId'])
         server.db.get_one.assert_called_with("nsds", {'_id': nslcmop_record_wo_pinning['operationParams']['nsdId']})
 
+    def test__create_vnf_id_maps(self):
+        server = self.serverSetup()
+        server.db = Mock()
+        expected_mvi2mzn = {'one': 'VNF0', 'two': 'VNF1', 'three': 'VNF2'}
+        expected_mzn2mvi = {'VNF0': 'one', 'VNF1': 'two', 'VNF2': 'three'}
+
+        nsd_for_test = copy.deepcopy(nsd_from_db)
+        mvi2mzn, mzn2mvi = server._create_vnf_id_maps(nsd_for_test)
+
+        self.assertDictEqual(expected_mvi2mzn, mvi2mzn, 'Faulty mzn2member-vnf-index mapping')
+        self.assertDictEqual(expected_mzn2mvi, mzn2mvi, 'Faulty mzn2member-vnf-index mapping')
+
     def test__get_vim_accounts(self):  # OK
         server = self.serverSetup()
         server.db = Mock()
@@ -368,13 +381,14 @@ class TestServer(TestCase):
         run _get_placement and check that things get called as expected
         :return:
         """
-        placement_ret_val = [{'vimAccountId': 'bbbbbbbb-38f5-438d-b8ee-3f93b3531f87', 'member-vnf-index': 'one'},
-                             {'vimAccountId': 'aaaaaaaa-38f5-438d-b8ee-3f93b3531f87', 'member-vnf-index': 'two'},
-                             {'vimAccountId': 'aaaaaaaa-38f5-438d-b8ee-3f93b3531f87', 'member-vnf-index': 'three'}]
+        placement_ret_val = [{'vimAccountId': 'bbbbbbbb-38f5-438d-b8ee-3f93b3531f87', 'member-vnf-index': 'VNF0'},
+                             {'vimAccountId': 'aaaaaaaa-38f5-438d-b8ee-3f93b3531f87', 'member-vnf-index': 'VNF1'},
+                             {'vimAccountId': 'aaaaaaaa-38f5-438d-b8ee-3f93b3531f87', 'member-vnf-index': 'VNF2'}]
         server = self.serverSetup()
 
         server.msgBus.aiowrite = _async_mock()
-        mock__get_nsd.return_value = nsd_from_db
+        nsd_for_test = copy.deepcopy(nsd_from_db)
+        mock__get_nsd.return_value = nsd_for_test
         mock__get_vim_accounts.return_value = list_of_vims
 
         # FIXME need update to match nslcmop, not for test but for consistency
@@ -437,13 +451,14 @@ class TestServer(TestCase):
         run _get_placement and check that things get called as expected
         :return:
         """
-        placement_ret_val = [{'vimAccountId': 'bbbbbbbb-38f5-438d-b8ee-3f93b3531f87', 'member-vnf-index': 'one'},
-                             {'vimAccountId': 'aaaaaaaa-38f5-438d-b8ee-3f93b3531f87', 'member-vnf-index': 'two'},
-                             {'vimAccountId': 'aaaaaaaa-38f5-438d-b8ee-3f93b3531f87', 'member-vnf-index': 'three'}]
+        placement_ret_val = [{'vimAccountId': 'bbbbbbbb-38f5-438d-b8ee-3f93b3531f87', 'member-vnf-index': 'VNF0'},
+                             {'vimAccountId': 'aaaaaaaa-38f5-438d-b8ee-3f93b3531f87', 'member-vnf-index': 'VNF1'},
+                             {'vimAccountId': 'aaaaaaaa-38f5-438d-b8ee-3f93b3531f87', 'member-vnf-index': 'VNF2'}]
         server = self.serverSetup()
 
         server.msgBus.aiowrite = _async_mock()
-        mock__get_nsd.return_value = nsd_from_db
+        nsd_for_test = copy.deepcopy(nsd_from_db)
+        mock__get_nsd.return_value = nsd_for_test
         mock__get_vim_accounts.return_value = list_of_vims
 
         # FIXME need update to match nslcmop, not for test but for consistency
@@ -506,7 +521,8 @@ class TestServer(TestCase):
         server = self.serverSetup()
 
         server.msgBus.aiowrite = _async_mock()
-        mock__get_nsd.return_value = nsd_from_db
+        nsd_for_test = copy.deepcopy(nsd_from_db)
+        mock__get_nsd.return_value = nsd_for_test
         mock__get_nsd.side_effect = RuntimeError('kaboom!')
         mock__get_vim_accounts.return_value = list_of_vims
         mock_do_placement_computation.return_value = \