Merge "Docs: update new test cases in release note"
[yardstick.git] / tests / unit / network_services / vnf_generic / vnf / test_cgnapt_vnf.py
index 76f2d5b..832509e 100644 (file)
@@ -41,7 +41,7 @@ TEST_FILE_YAML = 'nsb_test_case.yaml'
 SSH_HELPER = 'yardstick.network_services.vnf_generic.vnf.sample_vnf.VnfSshHelper'
 
 
-name = 'vnf__1'
+name = 'vnf__0'
 
 
 class TestCgnaptApproxSetupEnvHelper(unittest.TestCase):
@@ -72,13 +72,12 @@ link 1 up
         self.assertNotIn("This is a header", out)
 
     def test__get_cgnapt_config(self):
-        vnfd_helper = mock.Mock()
+        vnfd_helper = mock.MagicMock()
         vnfd_helper.port_pairs.uplink_ports = [{"name": 'a'}, {"name": "b"}, {"name": "c"}]
 
         helper = CgnaptApproxSetupEnvHelper(vnfd_helper, mock.Mock(), mock.Mock())
-        helper._get_ports_gateway = mock.Mock(side_effect=[3, 5, 2])
-        result = helper._get_cgnapt_config([{"name": 'a'}, {}, {"name": "b"}, {}, {"name": "c"}])
-        self.assertEqual(result, [3, 5, 2])
+        result = helper._get_cgnapt_config()
+        self.assertIsNotNone(result)
 
     def test_scale(self):
         helper = CgnaptApproxSetupEnvHelper(mock.Mock(), mock.Mock(), mock.Mock())
@@ -162,7 +161,7 @@ class TestCgnaptApproxVnf(unittest.TestCase):
             'rfc2544': {
                 'allowed_drop_rate': '0.8 - 1',
             },
-            'vnf__1': {
+            'vnf__0': {
                 'napt': 'dynamic',
                 'vnf_config': {
                     'lb_config': 'SW',
@@ -172,6 +171,10 @@ class TestCgnaptApproxVnf(unittest.TestCase):
                     'worker_threads': 1,
                 },
             },
+            'flow': {'count': 1,
+                     'dst_ip': [{'tg__1': 'xe0'}],
+                     'public_ip': [''],
+                     'src_ip': [{'tg__0': 'xe0'}]},
         },
         'task_id': 'a70bdf4a-8e67-47a3-9dc1-273c14506eb7',
         'task_path': '/tmp',
@@ -185,15 +188,11 @@ class TestCgnaptApproxVnf(unittest.TestCase):
             'type': 'Duration',
         },
         'traffic_profile': 'ipv4_throughput_acl.yaml',
-        'traffic_options': {
-            'flow': 'ipv4_Packets_acl.yaml',
-            'imix': 'imix_voice.yaml',
-        },
-        'type': 'ISB',
+        'type': 'NSPerf',
         'nodes': {
-            'tg__2': 'trafficgen_2.yardstick',
             'tg__1': 'trafficgen_1.yardstick',
-            'vnf__1': 'vnf.yardstick',
+            'tg__0': 'trafficgen_0.yardstick',
+            'vnf__0': 'vnf.yardstick',
         },
         'topology': 'vpe-tg-topology-baremetal.yaml',
     }
@@ -253,9 +252,9 @@ class TestCgnaptApproxVnf(unittest.TestCase):
                               'password': 'r00t',
                               'VNF model': 'tg_rfc2544_tpl.yaml',
                               'user': 'root'},
-                             'vnf__1':
+                             'vnf__0':
                              {'name': 'vnf.yardstick',
-                              'vnfd-id-ref': 'vnf__1',
+                              'vnfd-id-ref': 'vnf__0',
                               'ip': '1.2.1.1',
                               'interfaces':
                               {'xe0': {'local_iface_name': 'ens786f0',
@@ -311,12 +310,15 @@ class TestCgnaptApproxVnf(unittest.TestCase):
         cgnapt_approx_vnf = CgnaptApproxVnf(name, vnfd)
         self.assertIsNone(cgnapt_approx_vnf._vnf_process)
 
+    @mock.patch('yardstick.network_services.vnf_generic.vnf.sample_vnf.time')
     @mock.patch(SSH_HELPER)
-    def test_collect_kpi(self, ssh, mock_process):
+    def test_collect_kpi(self, ssh, mock_time, mock_process):
         mock_ssh(ssh)
 
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
         cgnapt_approx_vnf = CgnaptApproxVnf(name, vnfd)
+        cgnapt_approx_vnf._vnf_process = mock.MagicMock(
+            **{"is_alive.return_value": True, "exitcode": None})
         cgnapt_approx_vnf.q_in = mock.MagicMock()
         cgnapt_approx_vnf.q_out = mock.MagicMock()
         cgnapt_approx_vnf.q_out.qsize = mock.Mock(return_value=0)
@@ -324,8 +326,9 @@ class TestCgnaptApproxVnf(unittest.TestCase):
         result = {'packets_dropped': 0, 'packets_fwd': 0, 'packets_in': 0}
         self.assertEqual(result, cgnapt_approx_vnf.collect_kpi())
 
+    @mock.patch('yardstick.network_services.vnf_generic.vnf.sample_vnf.time')
     @mock.patch(SSH_HELPER)
-    def test_vnf_execute_command(self, ssh, mock_process):
+    def test_vnf_execute_command(self, ssh, mock_time, mock_process):
         mock_ssh(ssh)
 
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
@@ -386,7 +389,7 @@ class TestCgnaptApproxVnf(unittest.TestCase):
                                                     'rules': ""}}
         cgnapt_approx_vnf.q_out.put("pipeline>")
         cgnapt_vnf.WAIT_TIME = 3
-        self.scenario_cfg.update({"nodes": {"vnf__1": ""}})
+        self.scenario_cfg.update({"nodes": {"vnf__0": ""}})
         self.assertIsNone(cgnapt_approx_vnf.instantiate(self.scenario_cfg,
                                                         self.context_cfg))