Extracting Ns._create_ro_task() and creating unit test
[osm/RO.git] / NG-RO / osm_ng_ro / tests / test_ns.py
index fc56329..3fa617b 100644 (file)
@@ -16,6 +16,7 @@
 #######################################################################################
 
 import unittest
+from unittest.mock import patch, Mock
 
 from osm_ng_ro.ns import Ns
 
@@ -66,3 +67,49 @@ class TestNs(unittest.TestCase):
 
         self.assertEqual(deployment_info.get("task_index"), 2)
         self.assertDictEqual(task, expected_result)
+
+    @patch("osm_ng_ro.ns.time")
+    def test__create_ro_task(self, mock_time: Mock):
+        now = 1637324838.994551
+        mock_time.return_value = now
+        task = {
+            "target_id": "vim_openstack_1",
+            "action_id": "123456",
+            "nsr_id": "654321",
+            "task_id": "123456:1",
+            "status": "SCHEDULED",
+            "action": "CREATE",
+            "item": "test_item",
+            "target_record": "test_target_record",
+            "target_record_id": "test_target_record_id",
+            # values coming from extra_dict
+            "params": "test_params",
+            "find_params": "test_find_params",
+            "depends_on": "test_depends_on",
+        }
+        expected_result = {
+            "_id": "123456:1",
+            "locked_by": None,
+            "locked_at": 0.0,
+            "target_id": "vim_openstack_1",
+            "vim_info": {
+                "created": False,
+                "created_items": None,
+                "vim_id": None,
+                "vim_name": None,
+                "vim_status": None,
+                "vim_details": None,
+                "refresh_at": None,
+            },
+            "modified_at": now,
+            "created_at": now,
+            "to_check_at": now,
+            "tasks": [task],
+        }
+
+        ro_task = Ns._create_ro_task(
+            target_id="vim_openstack_1",
+            task=task,
+        )
+
+        self.assertDictEqual(ro_task, expected_result)