Merge "Added test descriptors for vCMTS testcase"
[yardstick.git] / yardstick / tests / unit / network_services / vnf_generic / vnf / test_prox_vnf.py
index 678e580..76fd74d 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2016-2017 Intel Corporation
+# Copyright (c) 2016-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -335,6 +335,8 @@ class TestProxApproxVnf(unittest.TestCase):
             'packets_in': 0,
             'packets_dropped': 0,
             'packets_fwd': 0,
+            'curr_packets_in': 0,
+            'curr_packets_fwd': 0,
             'collect_stats': {'core': {}}
         }
         result = prox_approx_vnf.collect_kpi()
@@ -346,8 +348,8 @@ class TestProxApproxVnf(unittest.TestCase):
         mock_ssh(ssh)
 
         resource_helper = mock.MagicMock()
-        resource_helper.execute.return_value = [[0, 1, 2, 3, 4, 5], [1, 1, 2, 3, 4, 5],
-                                                [2, 1, 2, 3, 4, 5], [3, 1, 2, 3, 4, 5]]
+        resource_helper.execute.return_value = (True,
+                                                [[0, 1, 2, 3, 4, 5], [1, 1, 2, 3, 4, 5]])
         resource_helper.collect_collectd_kpi.return_value = {'core': {'result': 234}}
 
         prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0)
@@ -355,20 +357,61 @@ class TestProxApproxVnf(unittest.TestCase):
             'nodes': {prox_approx_vnf.name: "mock"}
         }
         prox_approx_vnf.resource_helper = resource_helper
+        prox_approx_vnf.tsc_hz = 1000
 
         expected = {
+            'curr_packets_in': 200,
+            'curr_packets_fwd': 400,
             'physical_node': 'mock_node',
-            'packets_in': 4,
-            'packets_dropped': 4,
-            'packets_fwd': 8,
+            'packets_in': 2,
+            'packets_dropped': 2,
+            'packets_fwd': 4,
             'collect_stats': {'core': {'result': 234}},
         }
         result = prox_approx_vnf.collect_kpi()
         self.assertEqual(result['packets_in'], expected['packets_in'])
         self.assertEqual(result['packets_dropped'], expected['packets_dropped'])
         self.assertEqual(result['packets_fwd'], expected['packets_fwd'])
-        self.assertNotEqual(result['packets_fwd'], 0)
-        self.assertNotEqual(result['packets_fwd'], 0)
+        self.assertEqual(result['curr_packets_in'], expected['curr_packets_in'])
+        self.assertEqual(result['curr_packets_fwd'], expected['curr_packets_fwd'])
+
+    @mock.patch.object(ctx_base.Context, 'get_physical_node_from_server', return_value='mock_node')
+    @mock.patch(SSH_HELPER)
+    def test_collect_kpi_bad_input(self, ssh, *args):
+        mock_ssh(ssh)
+
+        resource_helper = mock.MagicMock()
+        resource_helper.execute.return_value = (True,
+                                                [[0, 'A', 'B', 'C', 'D', 'E'],
+                                                 ['F', 1, 2, 3, 4, 5]])
+
+        prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0)
+        prox_approx_vnf.scenario_helper.scenario_cfg = {
+            'nodes': {prox_approx_vnf.name: "mock"}
+        }
+        prox_approx_vnf.resource_helper = resource_helper
+
+        result = prox_approx_vnf.collect_kpi()
+        self.assertDictEqual(result, {})
+
+    @mock.patch.object(ctx_base.Context, 'get_physical_node_from_server', return_value='mock_node')
+    @mock.patch(SSH_HELPER)
+    def test_collect_kpi_bad_input2(self, ssh, *args):
+        mock_ssh(ssh)
+
+        resource_helper = mock.MagicMock()
+        resource_helper.execute.return_value = (False,
+                                                [[0, 'A', 'B', 'C', 'D', 'E'],
+                                                 ['F', 1, 2, 3, 4, 5]])
+
+        prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0)
+        prox_approx_vnf.scenario_helper.scenario_cfg = {
+            'nodes': {prox_approx_vnf.name: "mock"}
+        }
+        prox_approx_vnf.resource_helper = resource_helper
+
+        result = prox_approx_vnf.collect_kpi()
+        self.assertDictEqual(result, {})
 
     @mock.patch.object(ctx_base.Context, 'get_physical_node_from_server', return_value='mock_node')
     @mock.patch(SSH_HELPER)