def test_get_drop_percentage_div_zero(self): traffic_generator = mock.Mock(autospec=TrexProfile) traffic_generator.my_ports = [0, 1] traffic_generator.client = \ mock.Mock(return_value=True) r_f_c2544_profile = RFC2544Profile(self.TRAFFIC_PROFILE) r_f_c2544_profile.params = self.PROFILE self.assertEqual(None, r_f_c2544_profile.execute(traffic_generator)) samples = {} for ifname in range(1): name = "xe{}".format(ifname) samples[name] = {"rx_throughput_fps": 20, "tx_throughput_fps": 20, "rx_throughput_mbps": 10, "tx_throughput_mbps": 10, "in_packets": 1000, "out_packets": 0} tol_min = 0.0 tolerance = 0.0 r_f_c2544_profile.tmp_throughput = 0 expected = {'DropPercentage': 100.0, 'RxThroughput': 100/3.0, 'TxThroughput': 0.0, 'CurrentDropPercentage': 100.0, 'Throughput': 100/3.0, 'xe0': {'tx_throughput_fps': 20, 'in_packets': 1000, 'out_packets': 0, 'rx_throughput_mbps': 10, 'tx_throughput_mbps': 10, 'rx_throughput_fps': 20}} self.assertDictEqual(expected, r_f_c2544_profile.get_drop_percentage( traffic_generator, samples, tol_min, tolerance))
def test_execute_latency(self): traffic_generator = mock.Mock(autospec=TrexProfile) traffic_generator.networks = { "private_0": ["xe0"], "public_0": ["xe1"], } traffic_generator.client = \ mock.Mock(return_value=True) r_f_c2544_profile = RFC2544Profile(self.TRAFFIC_PROFILE) r_f_c2544_profile.params = self.PROFILE r_f_c2544_profile.first_run = True samples = {} for ifname in range(1): name = "xe{}".format(ifname) samples[name] = {"rx_throughput_fps": 20, "tx_throughput_fps": 20, "rx_throughput_mbps": 10, "tx_throughput_mbps": 10, "in_packets": 1000, "out_packets": 0} samples['Throughput'] = 4549093.33 r_f_c2544_profile.calculate_pps = mock.Mock(return_value=[2274546.67, 1.0]) self.assertIsNone(r_f_c2544_profile.execute_latency(traffic_generator, samples))
def test_calculate_pps(self): r_f_c2544_profile = RFC2544Profile(self.TRAFFIC_PROFILE) r_f_c2544_profile.rate = 100 r_f_c2544_profile.pps = 100 samples = {'Throughput': 4549093.33} self.assertEqual((2274546.67, 1.0), r_f_c2544_profile.calculate_pps(samples))
def test_execute(self): traffic_generator = mock.Mock(autospec=TrexProfile) traffic_generator.my_ports = [0, 1] traffic_generator.client = \ mock.Mock(return_value=True) r_f_c2544_profile = RFC2544Profile(self.TRAFFIC_PROFILE) r_f_c2544_profile.params = self.PROFILE r_f_c2544_profile.first_run = True self.assertEqual(None, r_f_c2544_profile.execute(traffic_generator))
def test_execute(self): traffic_generator = mock.Mock(autospec=TrexProfile) traffic_generator.networks = { "uplink_0": ["xe0"], "downlink_0": ["xe1"], } traffic_generator.client.return_value = True r_f_c2544_profile = RFC2544Profile(self.TRAFFIC_PROFILE) r_f_c2544_profile.params = self.PROFILE r_f_c2544_profile.first_run = True self.assertIsNone(r_f_c2544_profile.execute_traffic(traffic_generator))
def test_get_drop_percentage_update(self): traffic_generator = mock.Mock(autospec=RFC2544Profile) traffic_generator.my_ports = [0, 1] traffic_generator.priv_ports = [0] traffic_generator.pub_ports = [1] traffic_generator.client = mock.Mock(return_value=True) r_f_c2544_profile = RFC2544Profile(self.TRAFFIC_PROFILE) r_f_c2544_profile.params = self.PROFILE r_f_c2544_profile.register_generator(traffic_generator) self.assertIsNone(r_f_c2544_profile.execute()) samples = {} for ifname in range(1): name = "xe{}".format(ifname) samples[name] = { "rx_throughput_fps": 20, "tx_throughput_fps": 20, "rx_throughput_mbps": 10, "tx_throughput_mbps": 10, "in_packets": 1000, "out_packets": 1002, } tol_min = 0.0 tolerance = 1.0 expected = { 'DropPercentage': 0.1996, 'RxThroughput': 33.333333333333336, 'TxThroughput': 33.4, 'CurrentDropPercentage': 0.1996, 'Throughput': 66.66666666666667, 'xe0': { 'tx_throughput_fps': 20, 'in_packets': 1000, 'out_packets': 1002, 'rx_throughput_mbps': 10, 'tx_throughput_mbps': 10, 'rx_throughput_fps': 20, }, } traffic_generator.generate_samples = mock.MagicMock( return_value=samples) traffic_generator.RUN_DURATION = 30 traffic_generator.rfc2544_helper.tolerance_low = 0.0001 traffic_generator.rfc2544_helper.tolerance_high = 0.0001 result = r_f_c2544_profile.get_drop_percentage(traffic_generator) self.assertDictEqual(expected, result)
def test_get_drop_percentage(self): traffic_generator = mock.Mock(autospec=TrexProfile) traffic_generator.networks = { "uplink_0": ["xe0"], "downlink_0": ["xe1"], } traffic_generator.client.return_value = True r_f_c2544_profile = RFC2544Profile(self.TRAFFIC_PROFILE) r_f_c2544_profile.params = self.PROFILE r_f_c2544_profile.register_generator(traffic_generator) self.assertIsNone(r_f_c2544_profile.execute_traffic(traffic_generator)) samples = {} for ifname in range(1): name = "xe{}".format(ifname) samples[name] = { "rx_throughput_fps": 20, "tx_throughput_fps": 20, "rx_throughput_mbps": 10, "tx_throughput_mbps": 10, "in_packets": 1000, "out_packets": 1000, } expected = { 'DropPercentage': 0.0, 'RxThroughput': 100 / 3.0, 'TxThroughput': 100 / 3.0, 'CurrentDropPercentage': 0.0, 'Throughput': 66.66666666666667, 'xe0': { 'tx_throughput_fps': 20, 'in_packets': 1000, 'out_packets': 1000, 'rx_throughput_mbps': 10, 'tx_throughput_mbps': 10, 'rx_throughput_fps': 20, }, } traffic_generator.generate_samples.return_value = samples traffic_generator.RUN_DURATION = 30 traffic_generator.rfc2544_helper.tolerance_low = 0.0001 traffic_generator.rfc2544_helper.tolerance_high = 0.0001 result = r_f_c2544_profile.get_drop_percentage(traffic_generator) self.assertDictEqual(result, expected)
def test_get_drop_percentage_div_zero(self): traffic_generator = mock.Mock(autospec=TrexProfile) traffic_generator.my_ports = [0, 1] traffic_generator.priv_ports = [0] traffic_generator.pub_ports = [1] traffic_generator.client = \ mock.Mock(return_value=True) r_f_c2544_profile = RFC2544Profile(self.TRAFFIC_PROFILE) r_f_c2544_profile.params = self.PROFILE self.assertEqual(None, r_f_c2544_profile.execute(traffic_generator)) samples = {} for ifname in range(1): name = "xe{}".format(ifname) samples[name] = { "rx_throughput_fps": 20, "tx_throughput_fps": 20, "rx_throughput_mbps": 10, "tx_throughput_mbps": 10, "in_packets": 1000, "out_packets": 0 } tol_min = 0.0 tolerance = 0.0 r_f_c2544_profile.throughput_max = 0 expected = { 'DropPercentage': 100.0, 'RxThroughput': 100 / 3.0, 'TxThroughput': 0.0, 'CurrentDropPercentage': 100.0, 'Throughput': 66.66666666666667, 'xe0': { 'tx_throughput_fps': 20, 'in_packets': 1000, 'out_packets': 0, 'rx_throughput_mbps': 10, 'tx_throughput_mbps': 10, 'rx_throughput_fps': 20 } } traffic_generator.generate_samples = mock.MagicMock( return_value=samples) traffic_generator.RUN_DURATION = 30 traffic_generator.rfc2544_helper.tolerance_low = 0.0001 traffic_generator.rfc2544_helper.tolerance_high = 0.0001 self.assertDictEqual( expected, r_f_c2544_profile.get_drop_percentage(traffic_generator))
def test___init__(self): r_f_c2544_profile = RFC2544Profile(self.TRAFFIC_PROFILE) self.assertIsNotNone(r_f_c2544_profile.rate)
def test_create_single_stream_no_pg_id(self): r_f_c2544_profile = RFC2544Profile(self.TRAFFIC_PROFILE) r_f_c2544_profile._create_single_packet = mock.MagicMock() r_f_c2544_profile.pg_id = 0 self.assertIsNotNone( r_f_c2544_profile.create_single_stream(64, 2274546.67))
def test_get_multiplier(self): r_f_c2544_profile = RFC2544Profile(self.TRAFFIC_PROFILE) r_f_c2544_profile.max_rate = 100 r_f_c2544_profile.min_rate = 100 self.assertEqual("1.0", r_f_c2544_profile.get_multiplier())
def test___init__(self): r_f_c2544_profile = RFC2544Profile(self.TRAFFIC_PROFILE) assert r_f_c2544_profile.rate