Merge "Add NSB PROX Baremetal dashboard for L3"
[yardstick.git] / tests / unit / network_services / vnf_generic / vnf / test_prox_helpers.py
index ac67cc5..301a90c 100644 (file)
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
 
 # Copyright (c) 2016-2017 Intel Corporation
 #
@@ -24,8 +23,9 @@ import mock
 import unittest
 
 from tests.unit import STL_MOCKS
+from yardstick.common import utils
 from yardstick.network_services.vnf_generic.vnf.base import VnfdHelper
-
+from yardstick.network_services import constants
 
 STLClient = mock.MagicMock()
 stl_patch = mock.patch.dict("sys.modules", STL_MOCKS)
@@ -47,7 +47,6 @@ if stl_patch:
     from yardstick.network_services.vnf_generic.vnf.prox_helpers import ProxVpeProfileHelper
     from yardstick.network_services.vnf_generic.vnf.prox_helpers import ProxlwAFTRProfileHelper
 
-
 class TestCoreTuple(unittest.TestCase):
     def test___init__(self):
         core_tuple = CoreSocketTuple('core 5s6')
@@ -153,12 +152,12 @@ class TestProxTestDataTuple(unittest.TestCase):
         self.assertEqual(prox_test_data.latency, 6)
         self.assertEqual(prox_test_data.rx_total, 7)
         self.assertEqual(prox_test_data.tx_total, 8)
-        self.assertEqual(prox_test_data.pps, 9)
+        self.assertEqual(prox_test_data.requested_pps, 9)
 
     def test_properties(self):
         prox_test_data = ProxTestDataTuple(1, 2, 3, 4, 5, 6, 7, 8, 9)
         self.assertEqual(prox_test_data.pkt_loss, 12.5)
-        self.assertEqual(prox_test_data.mpps, 1.6 / 1e6)
+        self.assertEqual(prox_test_data.tx_mpps, 1.6 / 1e6)
         self.assertEqual(prox_test_data.can_be_lost, 0)
         self.assertEqual(prox_test_data.drop_total, 1)
         self.assertFalse(prox_test_data.success)
@@ -174,11 +173,12 @@ class TestProxTestDataTuple(unittest.TestCase):
         prox_test_data = ProxTestDataTuple(1, 2, 3, 4, 5, [6.1, 6.9, 6.4], 7, 8, 9)
 
         expected = {
-            "Throughput": 1.6 / 1e6,
+            "Throughput": 1.2 / 1e6,
             "DropPackets": 12.5,
             "CurrentDropPackets": 12.5,
-            "TxThroughput": 9 / 1e6,
-            "RxThroughput": 1.6 / 1e6,
+            "RequestedTxThroughput": 9 / 1e6,
+            "TxThroughput": 1.6 / 1e6,
+            "RxThroughput": 1.2 / 1e6,
             "PktSize": 64,
             "PortSample": 1,
             "LatencyMin": 6.1,
@@ -189,11 +189,12 @@ class TestProxTestDataTuple(unittest.TestCase):
         self.assertDictEqual(result, expected)
 
         expected = {
-            "Throughput": 1.6 / 1e6,
+            "Throughput": 1.2 / 1e6,
             "DropPackets": 0.123,
             "CurrentDropPackets": 0.123,
-            "TxThroughput": 9 / 1e6,
-            "RxThroughput": 1.6 / 1e6,
+            "RequestedTxThroughput": 9 / 1e6,
+            "TxThroughput": 1.6 / 1e6,
+            "RxThroughput": 1.2 / 1e6,
             "PktSize": 64,
             "LatencyMin": 6.1,
             "LatencyMax": 6.9,
@@ -202,17 +203,17 @@ class TestProxTestDataTuple(unittest.TestCase):
         result = prox_test_data.get_samples(64, 0.123)
         self.assertDictEqual(result, expected)
 
-    @mock.patch('yardstick.network_services.vnf_generic.vnf.prox_helpers.LOG')
+    @mock.patch('yardstick.LOG_RESULT', create=True)
     def test_log_data(self, mock_logger):
         my_mock_logger = mock.MagicMock()
         prox_test_data = ProxTestDataTuple(1, 2, 3, 4, 5, [6.1, 6.9, 6.4], 7, 8, 9)
         prox_test_data.log_data()
         self.assertEqual(my_mock_logger.debug.call_count, 0)
-        self.assertEqual(mock_logger.debug.call_count, 2)
+        self.assertEqual(mock_logger.debug.call_count, 0)
 
         mock_logger.debug.reset_mock()
         prox_test_data.log_data(my_mock_logger)
-        self.assertEqual(my_mock_logger.debug.call_count, 2)
+        self.assertEqual(my_mock_logger.debug.call_count, 0)
         self.assertEqual(mock_logger.debug.call_count, 0)
 
 
@@ -336,17 +337,17 @@ class TestProxSocketHelper(unittest.TestCase):
         mock_select.select.side_effect = chain([[object()], [None]], repeat([1], 3))
         mock_recv.decode.return_value = PACKET_DUMP_2
         ret = prox.get_data()
-        self.assertEqual(mock_select.select.call_count, 2)
+        self.assertEqual(mock_select.select.call_count, 1)
         self.assertEqual(ret, 'jumped over')
         self.assertEqual(len(prox._pkt_dumps), 3)
 
     def test__parse_socket_data_mixed_data(self):
         prox = ProxSocketHelper(mock.MagicMock())
-        ret = prox._parse_socket_data(PACKET_DUMP_NON_1, False)
+        ret, _ = prox._parse_socket_data(PACKET_DUMP_NON_1, False)
         self.assertEqual(ret, 'not_a_dump,1,2')
         self.assertEqual(len(prox._pkt_dumps), 0)
 
-        ret = prox._parse_socket_data(PACKET_DUMP_MIXED_1, False)
+        ret, _ = prox._parse_socket_data(PACKET_DUMP_MIXED_1, False)
         self.assertEqual(ret, 'not_a_dump,1,2')
         self.assertEqual(len(prox._pkt_dumps), 1)
 
@@ -358,18 +359,18 @@ class TestProxSocketHelper(unittest.TestCase):
         with self.assertRaises(ValueError):
             prox._parse_socket_data(PACKET_DUMP_BAD_2, False)
 
-        ret = prox._parse_socket_data(PACKET_DUMP_BAD_3, False)
+        ret, _ = prox._parse_socket_data(PACKET_DUMP_BAD_3, False)
         self.assertEqual(ret, 'pktdump,3')
 
     def test__parse_socket_data_pkt_dump_only(self):
         prox = ProxSocketHelper(mock.MagicMock())
-        ret = prox._parse_socket_data('', True)
+        ret, _ = prox._parse_socket_data('', True)
         self.assertFalse(ret)
 
-        ret = prox._parse_socket_data(PACKET_DUMP_1, True)
+        ret, _ = prox._parse_socket_data(PACKET_DUMP_1, True)
         self.assertTrue(ret)
 
-        ret = prox._parse_socket_data(PACKET_DUMP_2, True)
+        ret, _ = prox._parse_socket_data(PACKET_DUMP_2, True)
         self.assertTrue(ret)
 
     def test_put_command(self):
@@ -962,7 +963,7 @@ class TestProxDpdkVnfSetupEnvHelper(unittest.TestCase):
         result = setup_helper.prox_config_data
         self.assertEqual(result, expected)
 
-    @mock.patch('yardstick.network_services.vnf_generic.vnf.prox_helpers.find_relative_file')
+    @mock.patch.object(utils, 'find_relative_file')
     def test_build_config_file_no_additional_file(self, mock_find_path):
         vnf1 = {
             'prox_args': {'-c': ""},
@@ -996,7 +997,7 @@ class TestProxDpdkVnfSetupEnvHelper(unittest.TestCase):
         self.assertEqual(helper._prox_config_data, '4')
         self.assertEqual(helper.remote_path, '5')
 
-    @mock.patch('yardstick.network_services.vnf_generic.vnf.prox_helpers.find_relative_file')
+    @mock.patch.object(utils, 'find_relative_file')
     def test_build_config_file_additional_file_string(self, mock_find_path):
         vnf1 = {
             'prox_args': {'-c': ""},
@@ -1028,7 +1029,7 @@ class TestProxDpdkVnfSetupEnvHelper(unittest.TestCase):
         helper.build_config_file()
         self.assertDictEqual(helper.additional_files, expected)
 
-    @mock.patch('yardstick.network_services.vnf_generic.vnf.prox_helpers.find_relative_file')
+    @mock.patch.object(utils, 'find_relative_file')
     def test_build_config_file_additional_file(self, mock_find_path):
         vnf1 = {
             'prox_args': {'-c': ""},
@@ -1538,11 +1539,13 @@ class TestProxDataHelper(unittest.TestCase):
         sut = mock.MagicMock()
         sut.port_stats.return_value = list(range(10))
 
-        data_helper = ProxDataHelper(vnfd_helper, sut, pkt_size, 25, None)
+        data_helper = ProxDataHelper(
+            vnfd_helper, sut, pkt_size, 25, None,
+            constants.NIC_GBPS_DEFAULT * constants.ONE_GIGABIT_IN_BITS)
 
         self.assertEqual(data_helper.rx_total, 6)
         self.assertEqual(data_helper.tx_total, 7)
-        self.assertEqual(data_helper.pps, 6.25e6)
+        self.assertEqual(data_helper.requested_pps, 6.25e6)
 
     def test_samples(self):
         vnfd_helper = mock.MagicMock()
@@ -1552,7 +1555,7 @@ class TestProxDataHelper(unittest.TestCase):
         sut = mock.MagicMock()
         sut.port_stats.return_value = list(range(10))
 
-        data_helper = ProxDataHelper(vnfd_helper, sut, None, None, None)
+        data_helper = ProxDataHelper(vnfd_helper, sut, None, None, None, None)
 
         expected = {
             'xe1': {
@@ -1575,13 +1578,15 @@ class TestProxDataHelper(unittest.TestCase):
         sut = mock.MagicMock()
         sut.port_stats.return_value = list(range(10))
 
-        data_helper = ProxDataHelper(vnfd_helper, sut, None, None, 5.4)
+        data_helper = ProxDataHelper(vnfd_helper, sut, None, None,
+            5.4, constants.NIC_GBPS_DEFAULT * constants.ONE_GIGABIT_IN_BITS)
         data_helper._totals_and_pps = 12, 32, 4.5
         data_helper.tsc_hz = 9.8
         data_helper.measured_stats = {'delta': TotStatsTuple(6.1, 6.2, 6.3, 6.4)}
         data_helper.latency = 7
 
         self.assertIsNone(data_helper.result_tuple)
+        self.assertEqual(data_helper.line_speed, 10000000000)
 
         expected = ProxTestDataTuple(5.4, 9.8, 6.1, 6.2, 6.3, 7, 12, 32, 4.5)
         with data_helper:
@@ -1596,7 +1601,7 @@ class TestProxDataHelper(unittest.TestCase):
     def test___enter___negative(self):
         vnfd_helper = mock.MagicMock()
 
-        data_helper = ProxDataHelper(vnfd_helper, None, None, None, None)
+        data_helper = ProxDataHelper(vnfd_helper, None, None, None, None, None)
 
         vnfd_helper.port_pairs.all_ports = []
         with self.assertRaises(AssertionError):
@@ -1618,7 +1623,7 @@ class TestProxDataHelper(unittest.TestCase):
         sut = ProxSocketHelper(mock.MagicMock())
         sut.get_all_tot_stats = mock.MagicMock(side_effect=[start, end])
 
-        data_helper = ProxDataHelper(vnfd_helper, sut, None, None, 5.4)
+        data_helper = ProxDataHelper(vnfd_helper, sut, None, None, 5.4, None)
 
         self.assertIsNone(data_helper.measured_stats)
 
@@ -1639,7 +1644,7 @@ class TestProxDataHelper(unittest.TestCase):
         sut = mock.MagicMock()
         sut.hz.return_value = '54.6'
 
-        data_helper = ProxDataHelper(vnfd_helper, sut, None, None, None)
+        data_helper = ProxDataHelper(vnfd_helper, sut, None, None, None, None)
 
         self.assertIsNone(data_helper.tsc_hz)
 
@@ -1936,7 +1941,8 @@ class TestProxProfileHelper(unittest.TestCase):
 
         helper = ProxProfileHelper(resource_helper)
 
-        helper.run_test(120, 5, 6.5)
+        helper.run_test(120, 5, 6.5,
+                        constants.NIC_GBPS_DEFAULT * constants.ONE_GIGABIT_IN_BITS)
 
 
 class TestProxMplsProfileHelper(unittest.TestCase):
@@ -2082,8 +2088,12 @@ class TestProxBngProfileHelper(unittest.TestCase):
 
         helper = ProxBngProfileHelper(resource_helper)
 
-        helper.run_test(120, 5, 6.5)
-        helper.run_test(-1000, 5, 6.5)  # negative pkt_size is the only way to make ratio > 1
+        helper.run_test(120, 5, 6.5,
+                        constants.NIC_GBPS_DEFAULT * constants.ONE_GIGABIT_IN_BITS)
+
+        # negative pkt_size is the only way to make ratio > 1
+        helper.run_test(-1000, 5, 6.5,
+                        constants.NIC_GBPS_DEFAULT * constants.ONE_GIGABIT_IN_BITS)
 
 
 class TestProxVpeProfileHelper(unittest.TestCase):