Merge "Added test descriptors for vCMTS testcase"
[yardstick.git] / yardstick / tests / unit / network_services / vnf_generic / vnf / test_tg_rfc2544_ixia.py
index 9db8b7b..c3f3e5f 100644 (file)
@@ -28,6 +28,7 @@ from yardstick.benchmark.contexts import base as ctx_base
 from yardstick.network_services.libs.ixia_libs.ixnet import ixnet_api
 from yardstick.network_services.traffic_profile import base as tp_base
 from yardstick.network_services.vnf_generic.vnf import tg_rfc2544_ixia
+from yardstick.network_services.traffic_profile import ixia_rfc2544
 
 
 TEST_FILE_YAML = 'nsb_test_case.yaml'
@@ -110,9 +111,11 @@ class TestIxiaResourceHelper(unittest.TestCase):
         mock_tprofile.update_traffic_profile.assert_called_once()
 
     def test_run_test(self):
+        expected_result = {'test': 'fake_samples', 'Iteration': 1}
         mock_tprofile = mock.Mock()
         mock_tprofile.config.duration = 10
-        mock_tprofile.get_drop_percentage.return_value = True, 'fake_samples'
+        mock_tprofile.get_drop_percentage.return_value = \
+            True, {'test': 'fake_samples', 'Iteration': 1}
         ixia_rhelper = tg_rfc2544_ixia.IxiaResourceHelper(mock.Mock())
         tasks_queue = mock.Mock()
         tasks_queue.get.return_value = 'RUN_TRAFFIC'
@@ -127,7 +130,7 @@ class TestIxiaResourceHelper(unittest.TestCase):
                 mock.patch.object(utils, 'wait_until_true'):
             ixia_rhelper.run_test(mock_tprofile, tasks_queue, results_queue)
 
-        self.assertEqual('fake_samples', ixia_rhelper._queue.get())
+        self.assertEqual(expected_result, ixia_rhelper._queue.get())
         mock_tprofile.update_traffic_profile.assert_called_once()
         tasks_queue.task_done.assert_called_once()
         results_queue.put.assert_called_once_with('COMPLETE')
@@ -499,6 +502,8 @@ class TestIxiaBasicScenario(unittest.TestCase):
              'Valid_Frames_Rx': ['150', '150'],
              'Frames_Tx_Rate': ['0.0', '0.0'],
              'Valid_Frames_Rx_Rate': ['0.0', '0.0'],
+             'Bytes_Rx': ['9600', '9600'],
+             'Bytes_Tx': ['9600', '9600'],
              'Tx_Rate_Kbps': ['0.0', '0.0'],
              'Rx_Rate_Mbps': ['0.0', '0.0'],
              'Tx_Rate_Mbps': ['0.0', '0.0'],
@@ -526,9 +531,13 @@ class TestIxiaBasicScenario(unittest.TestCase):
 
     def test_create_traffic_model(self):
         self.mock_IxNextgen.get_vports.return_value = [1, 2, 3, 4]
-        self.scenario.create_traffic_model()
+        yaml_data = {'traffic_profile': {}
+                    }
+        traffic_profile = ixia_rfc2544.IXIARFC2544Profile(yaml_data)
+        self.scenario.create_traffic_model(traffic_profile)
         self.scenario.client.get_vports.assert_called_once()
-        self.scenario.client.create_traffic_model.assert_called_once_with([1, 3], [2, 4])
+        self.scenario.client.create_traffic_model.assert_called_once_with(
+            [1, 3], [2, 4], traffic_profile)
 
     def test_apply_config(self):
         self.assertIsNone(self.scenario.apply_config())
@@ -547,29 +556,29 @@ class TestIxiaBasicScenario(unittest.TestCase):
     def test_generate_samples(self, mock_get_stats):
 
         expected_samples = {'xe0': {
-                                'in_packets': 150,
-                                'out_packets': 150,
-                                'rx_throughput_mbps': 0.0,
-                                'rx_throughput_kps': 0.0,
+                                'InPackets': 150,
+                                'OutPackets': 150,
+                                'InBytes': 9600,
+                                'OutBytes': 9600,
                                 'RxThroughput': 5.0,
                                 'TxThroughput': 5.0,
-                                'tx_throughput_mbps': 0.0,
-                                'tx_throughput_kps': 0.0,
-                                'Store-Forward_Max_latency_ns': 100,
-                                'Store-Forward_Min_latency_ns': 100,
-                                'Store-Forward_Avg_latency_ns': 100},
+                                'RxThroughputBps': 320.0,
+                                'TxThroughputBps': 320.0,
+                                'LatencyMax': 100,
+                                'LatencyMin': 100,
+                                'LatencyAvg': 100},
                             'xe1': {
-                                'in_packets': 150,
-                                'out_packets': 150,
-                                'rx_throughput_mbps': 0.0,
-                                'rx_throughput_kps': 0.0,
+                                'InPackets': 150,
+                                'OutPackets': 150,
+                                'InBytes': 9600,
+                                'OutBytes': 9600,
                                 'RxThroughput': 5.0,
                                 'TxThroughput': 5.0,
-                                'tx_throughput_mbps': 0.0,
-                                'tx_throughput_kps': 0.0,
-                                'Store-Forward_Max_latency_ns': 200,
-                                'Store-Forward_Min_latency_ns': 200,
-                                'Store-Forward_Avg_latency_ns': 200}}
+                                'RxThroughputBps': 320.0,
+                                'TxThroughputBps': 320.0,
+                                'LatencyMax': 200,
+                                'LatencyMin': 200,
+                                'LatencyAvg': 200}}
 
         res_helper = mock.Mock()
         res_helper.vnfd_helper.find_interface_by_port.side_effect = \
@@ -632,11 +641,13 @@ class TestIxiaL3Scenario(TestIxiaBasicScenario):
 
     def test_create_traffic_model(self):
         self.mock_IxNextgen.get_vports.return_value = ['1', '2']
-        self.scenario.create_traffic_model()
+        traffic_profile = 'fake_profile'
+        self.scenario.create_traffic_model(traffic_profile)
         self.scenario.client.get_vports.assert_called_once()
         self.scenario.client.create_ipv4_traffic_model.\
             assert_called_once_with(['1/protocols/static'],
-                                    ['2/protocols/static'])
+                                    ['2/protocols/static'],
+                                    'fake_profile')
 
     def test_apply_config(self):
         self.scenario._add_interfaces = mock.Mock()
@@ -755,7 +766,7 @@ class TestIxiaPppoeClientScenario(unittest.TestCase):
         mock_id_pairs.assert_called_once_with(mock_tp.full_profile)
         mock_obj_pairs.assert_called_once_with(['xe0', 'xe1', 'xe0', 'xe1'])
         self.scenario.client.create_ipv4_traffic_model.assert_called_once_with(
-            uplink_endpoints, downlink_endpoints)
+            uplink_endpoints, downlink_endpoints, mock_tp)
 
     @mock.patch.object(tg_rfc2544_ixia.IxiaPppoeClientScenario,
                        '_get_endpoints_src_dst_id_pairs')
@@ -779,7 +790,7 @@ class TestIxiaPppoeClientScenario(unittest.TestCase):
         mock_id_pairs.assert_called_once_with(mock_tp.full_profile)
         mock_obj_pairs.assert_called_once_with([])
         self.scenario.client.create_ipv4_traffic_model.assert_called_once_with(
-            uplink_topologies, downlink_topologies)
+            uplink_topologies, downlink_topologies, mock_tp)
 
     def test__get_endpoints_src_dst_id_pairs(self):
         full_tp = OrderedDict([
@@ -1167,6 +1178,8 @@ class TestIxiaPppoeClientScenario(unittest.TestCase):
             'port_statistics': [
                 {'Frames_Tx': '3000',
                  'Valid_Frames_Rx': '3000',
+                 'Bytes_Rx': '192000',
+                 'Bytes_Tx': '192000',
                  'Rx_Rate_Kbps': '0.0',
                  'Tx_Rate_Kbps': '0.0',
                  'Rx_Rate_Mbps': '0.0',
@@ -1174,6 +1187,8 @@ class TestIxiaPppoeClientScenario(unittest.TestCase):
                  'port_name': 'Ethernet - 001'},
                 {'Frames_Tx': '3000',
                  'Valid_Frames_Rx': '3000',
+                 'Bytes_Rx': '192000',
+                 'Bytes_Tx': '192000',
                  'Rx_Rate_Kbps': '0.0',
                  'Tx_Rate_Kbps': '0.0',
                  'Rx_Rate_Mbps': '0.0',
@@ -1188,50 +1203,50 @@ class TestIxiaPppoeClientScenario(unittest.TestCase):
 
         prio_flows_stats = {
             '0': {
-                'in_packets': 6000,
-                'out_packets': 6000,
+                'InPackets': 6000,
+                'OutPackets': 6000,
                 'RxThroughput': 200.0,
                 'TxThroughput': 200.0,
-                'avg_latency_ns': 2,
-                'max_latency_ns': 2,
-                'min_latency_ns': 2
+                'LatencyAvg': 2,
+                'LatencyMax': 2,
+                'LatencyMin': 2
             }
         }
 
         expected_result = {'priority_stats': {
             '0': {'RxThroughput': 200.0,
                   'TxThroughput': 200.0,
-                  'avg_latency_ns': 2,
-                  'max_latency_ns': 2,
-                  'min_latency_ns': 2,
-                  'in_packets': 6000,
-                  'out_packets': 6000}},
+                  'LatencyAvg': 2,
+                  'LatencyMax': 2,
+                  'LatencyMin': 2,
+                  'InPackets': 6000,
+                  'OutPackets': 6000}},
             'xe0': {'RxThroughput': 100.0,
-                    'Store-Forward_Avg_latency_ns': 2,
-                    'Store-Forward_Max_latency_ns': 2,
-                    'Store-Forward_Min_latency_ns': 2,
+                    'LatencyAvg': 2,
+                    'LatencyMax': 2,
+                    'LatencyMin': 2,
                     'TxThroughput': 100.0,
-                    'in_packets': 3000,
-                    'out_packets': 3000,
-                    'rx_throughput_kps': 0.0,
-                    'rx_throughput_mbps': 0.0,
-                    'sessions_down': 0,
-                    'sessions_not_started': 0,
-                    'sessions_total': 1,
-                    'sessions_up': 1,
-                    'tx_throughput_kps': 0.0,
-                    'tx_throughput_mbps': 0.0},
+                    'InPackets': 3000,
+                    'OutPackets': 3000,
+                    'InBytes': 192000,
+                    'OutBytes': 192000,
+                    'RxThroughputBps': 6400.0,
+                    'TxThroughputBps': 6400.0,
+                    'SessionsDown': 0,
+                    'SessionsNotStarted': 0,
+                    'SessionsTotal': 1,
+                    'SessionsUp': 1},
             'xe1': {'RxThroughput': 100.0,
-                    'Store-Forward_Avg_latency_ns': 2,
-                    'Store-Forward_Max_latency_ns': 2,
-                    'Store-Forward_Min_latency_ns': 2,
+                    'LatencyAvg': 2,
+                    'LatencyMax': 2,
+                    'LatencyMin': 2,
                     'TxThroughput': 100.0,
-                    'in_packets': 3000,
-                    'out_packets': 3000,
-                    'rx_throughput_kps': 0.0,
-                    'rx_throughput_mbps': 0.0,
-                    'tx_throughput_kps': 0.0,
-                    'tx_throughput_mbps': 0.0}}
+                    'InPackets': 3000,
+                    'OutPackets': 3000,
+                    'InBytes': 192000,
+                    'OutBytes': 192000,
+                    'RxThroughputBps': 6400.0,
+                    'TxThroughputBps': 6400.0}}
 
         mock_get_stats.return_value = ixia_stats
         mock_prio_flow_statistics.return_value = prio_flows_stats