示例#1
0
    def test_urls(self):
        test_result = TestResult()
        test_result.add_hit(**self._get_data())
        test_result.add_hit(**self._get_data(url='http://another-one'))

        urls = set(['http://notmyidea.org', 'http://another-one'])
        self.assertEquals(test_result.urls, urls)
示例#2
0
 def test_nb_hits(self):
     test_result = TestResult()
     test_result.add_hit(**self._get_data())
     test_result.add_hit(**self._get_data())
     test_result.add_hit(**self._get_data())
     self.assertEquals(test_result.nb_hits, 3)
     self.assertEquals(len(test_result.hits), 3)
示例#3
0
    def test_get_tests_filters_names(self):
        test_result = TestResult()

        test_result.tests['bacon', 1] = Test(name='bacon', series=1)
        test_result.tests['bacon', 2] = Test(name='bacon', series=2)
        test_result.tests['spam', 2] = Test(name='spam', series=2)

        self.assertEquals(len(test_result._get_tests(name='bacon')), 2)
示例#4
0
    def test_average_test_duration(self):
        t = Test(TIME1)
        t.end = TIME2

        test_result = TestResult()
        test_result.tests['toto', 1] = t
        test_result.tests['tutu', 1] = t

        self.assertEquals(test_result.average_test_duration(), 120)
示例#5
0
    def test_average_test_duration(self):
        t = Test(TIME1)
        t.end = TIME2

        test_result = TestResult()
        test_result.tests['toto', 1] = t
        test_result.tests['tutu', 1] = t

        self.assertEquals(test_result.average_test_duration(), 120)
示例#6
0
    def test_counters(self):
        test_result = TestResult()
        loads_status = (1, 1, 1, 1)
        test_result.incr_counter('bacon', loads_status, 'sent')
        test_result.incr_counter('bacon', loads_status, 'sent')
        test_result.incr_counter('bacon', loads_status, 'received')

        self.assertEqual(test_result.get_counter('sent'), 2)
        self.assertEqual(test_result.get_counter('received', test='bacon'), 1)
        self.assertEqual(test_result.get_counter('bacon', 'xxxx'), 0)
        self.assertEqual(test_result.get_counter('xxx', 'xxxx'), 0)
示例#7
0
 def test_average_request_time_without_filter(self):
     test_result = TestResult()
     test_result.add_hit(**self._get_data(elapsed=_1))
     test_result.add_hit(**self._get_data(elapsed=_3))
     test_result.add_hit(**self._get_data(elapsed=_2))
     test_result.add_hit(
         **self._get_data(url='http://another-one', elapsed=_3))
     self.assertEquals(test_result.average_request_time(), 2.25)
示例#8
0
    def test_test_success_rate_is_correct(self):
        test_result = TestResult()

        loads_status = (1, 1, 1, 1)
        test_result.startTest('bacon', loads_status)
        test_result.addSuccess('bacon', loads_status)
        test_result.addFailure('bacon', 'A failure', loads_status)

        self.assertEquals(0.5, test_result.test_success_rate())
示例#9
0
    def test_average_request_time_with_url_filtering(self):

        test_result = TestResult()
        test_result.add_hit(**self._get_data(elapsed=_1))
        test_result.add_hit(**self._get_data(elapsed=_3))
        test_result.add_hit(**self._get_data(elapsed=_2))
        test_result.add_hit(
            **self._get_data(url='http://another-one', elapsed=_3))
        # We want to filter out some URLs
        avg = test_result.average_request_time('http://notmyidea.org')
        self.assertEquals(avg, 2.0)

        avg = test_result.average_request_time('http://another-one')
        self.assertEquals(avg, 3.0)
示例#10
0
    def test_counters(self):
        test_result = TestResult()
        loads_status = (1, 1, 1, 1)
        test_result.incr_counter('bacon', loads_status, 'sent')
        test_result.incr_counter('bacon', loads_status, 'sent')
        test_result.incr_counter('bacon', loads_status, 'received')

        self.assertEqual(test_result.get_counter('sent'), 2)
        self.assertEqual(test_result.get_counter('received', test='bacon'), 1)
        self.assertEqual(test_result.get_counter('bacon', 'xxxx'), 0)
        self.assertEqual(test_result.get_counter('xxx', 'xxxx'), 0)
示例#11
0
    def test_hits_success_rate(self):
        test_result = TestResult()
        for x in range(4):
            test_result.add_hit(**self._get_data(status=200))
        test_result.add_hit(**self._get_data(status=400, series=2))

        self.assertEquals(test_result.hits_success_rate(), 0.8)
        self.assertEquals(test_result.hits_success_rate(series=1), 1)
示例#12
0
 def test_average_request_time_without_filter(self):
     test_result = TestResult()
     test_result.add_hit(**self._get_data(elapsed=_1))
     test_result.add_hit(**self._get_data(elapsed=_3))
     test_result.add_hit(**self._get_data(elapsed=_2))
     test_result.add_hit(**self._get_data(url='http://another-one',
                                          elapsed=_3))
     self.assertEquals(test_result.average_request_time(), 2.25)
示例#13
0
    def test_test_success_rate_is_correct(self):
        test_result = TestResult()

        loads_status = (1, 1, 1, 1)
        test_result.startTest('bacon', loads_status)
        test_result.addSuccess('bacon', loads_status)
        test_result.addFailure('bacon', 'A failure', loads_status)

        self.assertEquals(0.5, test_result.test_success_rate())
示例#14
0
    def test_socket_count(self):
        test_result = TestResult()

        # Open 5 sockets
        for _ in range(5):
            test_result.socket_open()

        self.assertEquals(test_result.sockets, 5)
        self.assertEquals(test_result.opened_sockets, 5)
        self.assertEquals(test_result.closed_sockets, 0)

        for _ in range(4):
            test_result.socket_close()

        self.assertEquals(test_result.sockets, 1)
        self.assertEquals(test_result.opened_sockets, 5)
        self.assertEquals(test_result.closed_sockets, 4)
示例#15
0
    def test_average_request_time_with_url_filtering(self):

        test_result = TestResult()
        test_result.add_hit(**self._get_data(elapsed=_1))
        test_result.add_hit(**self._get_data(elapsed=_3))
        test_result.add_hit(**self._get_data(elapsed=_2))
        test_result.add_hit(**self._get_data(url='http://another-one',
                                             elapsed=_3))
        # We want to filter out some URLs
        avg = test_result.average_request_time('http://notmyidea.org')
        self.assertEquals(avg, 2.0)

        avg = test_result.average_request_time('http://another-one')
        self.assertEquals(avg, 3.0)
示例#16
0
    def test_tests_per_second(self):
        test_result = TestResult()
        for x in range(20):
            test_result.startTest('rainbow', (1, 1, x, 1))

        test_result.start_time = TIME1
        test_result.stop_time = TIME2
        self.assertTrue(0.16 < test_result.tests_per_second() < 0.17)
示例#17
0
    def test_requests_per_second(self):
        test_result = TestResult()
        for x in range(20):
            test_result.add_hit(**self._get_data(status=200))

        test_result.start_time = TIME1
        test_result.stop_time = TIME2
        self.assertTrue(0.16 < test_result.requests_per_second() < 0.17)
示例#18
0
    def test_hits_success_rate(self):
        test_result = TestResult()
        for x in range(4):
            test_result.add_hit(**self._get_data(status=200))
        test_result.add_hit(**self._get_data(status=400, series=2))

        self.assertEquals(test_result.hits_success_rate(), 0.8)
        self.assertEquals(test_result.hits_success_rate(series=1), 1)
示例#19
0
    def test_average_request_time_with_series_filtering(self):
        test_result = TestResult()
        test_result.add_hit(**self._get_data(elapsed=_1, series=1))
        test_result.add_hit(**self._get_data(elapsed=_3, series=2))
        test_result.add_hit(**self._get_data(elapsed=_2, series=3))
        test_result.add_hit(**self._get_data(elapsed=_3, series=3))

        avg = test_result.average_request_time(series=3)
        self.assertEquals(avg, 2.5)

        # try adding another filter on the URL
        test_result.add_hit(**self._get_data(elapsed=_3, series=3,
                                             url='http://another-one'))
        avg = test_result.average_request_time(series=3,
                                               url='http://notmyidea.org')
        self.assertEquals(avg, 2.5)

        self.assertEquals(test_result.average_request_time(series=3),
                          2.6666666666666665)
示例#20
0
    def test_get_url_metrics(self):
        test_result = TestResult()
        test_result.average_request_time = Mock(return_value=0.5)
        test_result.hits_success_rate = Mock(return_value=0.9)
        test_result.add_hit(**self._get_data('http://notmyidea.org'))
        test_result.add_hit(**self._get_data('http://lolnet.org'))

        metrics = test_result.get_url_metrics()
        self.assertEquals(metrics['http://notmyidea.org'], {
            'average_request_time': 0.5,
            'hits_success_rate': 0.9
        })

        self.assertEquals(metrics['http://lolnet.org'], {
            'average_request_time': 0.5,
            'hits_success_rate': 0.9
        })
示例#21
0
 def test_nb_hits(self):
     test_result = TestResult()
     test_result.add_hit(**self._get_data())
     test_result.add_hit(**self._get_data())
     test_result.add_hit(**self._get_data())
     self.assertEquals(test_result.nb_hits, 3)
     self.assertEquals(len(test_result.hits), 3)
示例#22
0
    def test_urls(self):
        test_result = TestResult()
        test_result.add_hit(**self._get_data())
        test_result.add_hit(**self._get_data(url='http://another-one'))

        urls = set(['http://notmyidea.org', 'http://another-one'])
        self.assertEquals(test_result.urls, urls)
示例#23
0
    def test_tests_per_second(self):
        test_result = TestResult()
        for x in range(20):
            test_result.startTest('rainbow', (1, 1, x, 1))

        test_result.start_time = TIME1
        test_result.stop_time = TIME2
        self.assertTrue(0.16 < test_result.tests_per_second() < 0.17)
示例#24
0
    def test_requests_per_second(self):
        test_result = TestResult()
        for x in range(20):
            test_result.add_hit(**self._get_data(status=200))

        test_result.start_time = TIME1
        test_result.stop_time = TIME2
        self.assertTrue(0.16 < test_result.requests_per_second() < 0.17)
示例#25
0
    def test_get_tests_filters_names(self):
        test_result = TestResult()

        test_result.tests['bacon', 1] = Test(name='bacon', series=1)
        test_result.tests['bacon', 2] = Test(name='bacon', series=2)
        test_result.tests['spam', 2] = Test(name='spam', series=2)

        self.assertEquals(len(test_result._get_tests(name='bacon')), 2)
示例#26
0
    def test_get_url_metrics(self):
        test_result = TestResult()
        test_result.average_request_time = Mock(return_value=0.5)
        test_result.hits_success_rate = Mock(return_value=0.9)
        test_result.add_hit(**self._get_data('http://notmyidea.org'))
        test_result.add_hit(**self._get_data('http://lolnet.org'))

        metrics = test_result.get_url_metrics()
        self.assertEquals(metrics['http://notmyidea.org'], {
            'average_request_time': 0.5,
            'hits_success_rate': 0.9})

        self.assertEquals(metrics['http://lolnet.org'], {
            'average_request_time': 0.5,
            'hits_success_rate': 0.9})
示例#27
0
    def test_socket_count(self):
        test_result = TestResult()

        # Open 5 sockets
        for _ in range(5):
            test_result.socket_open()

        self.assertEquals(test_result.sockets, 5)
        self.assertEquals(test_result.opened_sockets, 5)
        self.assertEquals(test_result.closed_sockets, 0)

        for _ in range(4):
            test_result.socket_close()

        self.assertEquals(test_result.sockets, 1)
        self.assertEquals(test_result.opened_sockets, 5)
        self.assertEquals(test_result.closed_sockets, 4)
示例#28
0
 def test_average_request_time_when_no_data(self):
     test_result = TestResult()
     self.assertEquals(test_result.average_request_time(), 0)
示例#29
0
    def test_average_request_time_with_series_filtering(self):
        test_result = TestResult()
        test_result.add_hit(**self._get_data(elapsed=_1, series=1))
        test_result.add_hit(**self._get_data(elapsed=_3, series=2))
        test_result.add_hit(**self._get_data(elapsed=_2, series=3))
        test_result.add_hit(**self._get_data(elapsed=_3, series=3))

        avg = test_result.average_request_time(series=3)
        self.assertEquals(avg, 2.5)

        # try adding another filter on the URL
        test_result.add_hit(
            **self._get_data(elapsed=_3, series=3, url='http://another-one'))
        avg = test_result.average_request_time(series=3,
                                               url='http://notmyidea.org')
        self.assertEquals(avg, 2.5)

        self.assertEquals(test_result.average_request_time(series=3),
                          2.6666666666666665)
示例#30
0
 def test_test_success_rate_when_not_started(self):
     # it should be none if no tests had been collected yet.
     test_result = TestResult()
     self.assertEquals(1, test_result.test_success_rate())
示例#31
0
 def test_duration_is_zero_if_not_started(self):
     test_result = TestResult()
     self.assertEquals(test_result.duration, 0)
示例#32
0
 def test_requests_per_second_if_not_started(self):
     test_result = TestResult()
     self.assertEquals(test_result.requests_per_second(), 0)
示例#33
0
 def test_test_success_rate_when_not_started(self):
     # it should be none if no tests had been collected yet.
     test_result = TestResult()
     self.assertEquals(1, test_result.test_success_rate())
示例#34
0
 def test_average_request_time_when_no_data(self):
     test_result = TestResult()
     self.assertEquals(test_result.average_request_time(), 0)
示例#35
0
 def test_requests_per_second_if_not_started(self):
     test_result = TestResult()
     self.assertEquals(test_result.requests_per_second(), 0)