def test_qsat_data(self): dist = { 0: { 'count': 36, 'to': 1, 'from': 0 }, 40: { 'count': 5, 'to': 50, 'from': 40 }, 3: { 'count': 1, 'to': 4, 'from': 3 }, 20: { 'count': 5, 'to': 30, 'from': 20 }, 30: { 'count': 27, 'to': 40, 'from': 30 } } data = SecondAggregateData(SecondAggregateDataTotalItem()) data.cumulative.times_dist = dist data.cumulative.total_count = 74 self.qsat_absrel.timing = 30 self.qsat_absrel.notify(data) self.assertEquals(56.75675675675676, self.qsat_absrel.data[0])
def test_http_trend_run(self): data = list() for i in range(1, 30): data = SecondAggregateData() data.time = "2012-09-25 18:18:18" data.overall.RPS = 200 if i < 10: data.overall.RPS += i data.overall.http_codes = {'200': 100 + i, '201': 100} elif i >= 10 and i < 20: if i % 2: diff = -3 else: diff = 3 data.overall.RPS += 10 + diff data.overall.http_codes = {'200': 110 + diff, '201': 100} elif i >= 20 and i < 30: diff = i - 20 data.overall.RPS += 10 - diff + i data.overall.http_codes = { '200': 110 - diff, '201': 100, '502': i } if self.http_trend.notify(data): break if i != 28: raise RuntimeError()
def test_negative_net_run_absolute(self): data = list() for i in range(1, 20): data = SecondAggregateData() data.time = "2012-09-25 18:18:18" data.overall.RPS = 100 + i**2 data.overall.net_codes = {'0': 100, '110': i**2} if self.negative_net_abscriteria.notify(data): break if i != 7: raise RuntimeError()
def test_negative_http_run_absolute(self): data = list() for i in range(1, 20): data = SecondAggregateData() data.time = "2012-09-25 18:18:18" data.overall.RPS = 200 + 2 * i data.overall.http_codes = {'200': 100, '201': 100, '302': i * 2} if self.negative_http_abscriteria.notify(data): break if i != 6: raise RuntimeError()
def test_http_run_relative(self): data = list() for i in range(1, 20): data = SecondAggregateData() data.time = "2012-09-25 18:18:18" data.overall.RPS = 100 + i * 2 data.overall.http_codes = {'200': 100, '501': i, '503': i} if self.http_relcriteria.notify(data): break if i != 7: raise RuntimeError()
def test_run(self): data = SecondAggregateData() data.overall.avg_response_time = 11 self.foo.core.set_option(self.foo.SECTION, "autostop", "time(1,10)") self.foo.configure() self.foo.prepare_test() self.foo.start_test() for n in range(1, 15): self.foo.aggregate_second(data) if self.foo.is_test_finished() < 0: raise RuntimeError() self.foo.end_test(0)
def test_run_false_trigger_bug(self): data = SecondAggregateData() data.overall.http_codes = {} self.foo.core.set_option(self.foo.SECTION, "autostop", "http (5xx, 100%, 1)") self.foo.configure() self.foo.prepare_test() self.foo.start_test() for n in range(1, 15): self.foo.aggregate_second(data) if self.foo.is_test_finished() >= 0: raise RuntimeError() self.foo.end_test(0)
def test_run_quan(self): data = SecondAggregateData() data.overall.quantiles = {99.0: 11} self.foo.core.set_option(self.foo.SECTION, "autostop", "quantile(99,2,3)") self.foo.configure() self.foo.prepare_test() self.foo.start_test() for n in range(1, 15): self.foo.aggregate_second(data) if self.foo.is_test_finished() < 0: raise RuntimeError() self.foo.end_test(0)
def test_run_net(self): data = SecondAggregateData() data.overall.net_codes = {71: 11} self.foo.core.set_option(self.foo.SECTION, "autostop", "net (71, 1, 5)\nnet (xx, 1.5%, 10m )") self.foo.configure() self.foo.prepare_test() self.foo.start_test() for n in range(1, 15): self.foo.aggregate_second(data) if self.foo.is_test_finished() < 0: raise RuntimeError() self.foo.end_test(0)
def test_phout_import(self): self.phantom_plugin_instance.core.set_option( 'phantom', 'phout_file', 'data/phout_timeout_mix.txt') self.phantom_plugin_instance.core.set_option('phantom', 'instances', '1') self.phantom_plugin_instance.core.set_option('phantom', 'ammo_count', '1') self.phantom_plugin_instance.configure() self.phantom_plugin_instance.prepare_test() self.phantom_plugin_instance.start_test() self.assertEqual(self.phantom_plugin_instance.is_test_finished(), -1) sec = SecondAggregateData() sec.overall.rps = 1 self.phantom_plugin_instance.aggregate_second(sec) self.assertEqual(self.phantom_plugin_instance.is_test_finished(), -1) self.phantom_plugin_instance.end_test(0) self.phantom_plugin_instance.post_process(0)
def test_frac_run(self): data = list() for i in range(0, 20): data = SecondAggregateData() data.time = "2012-09-25 18:18:18" data.overall.times_dist = [{ 'count': 10, 'to': 10, 'from': 0 }, { 'count': i + 1, 'to': 20, 'from': 10 }] if self.frac_criteria.notify(data): break if i != 11: raise RuntimeError()
def callback(self, data): self.data = SecondAggregateData(data)
def get_aggregate_data(self, filename): return SecondAggregateData(SecondAggregateDataTotalItem())