class HelloTestCase(helper.CPWebCase): def setup_server(): cherrypy.tree.mount(hello_app.HelloWorld()) setup_server = staticmethod(setup_server) def setUp(self): self.reporter = TestTelemetryReporter() telemetry.set_reporter(self.reporter) def tearDown(self): telemetry.set_reporter(None) def test_once(self): self.getPage('/') self.assertStatus(200) expected_gauge_metrics = ['app.response.latency', 'wsgi.response.latency', 'web.response.latency'] six.assertCountEqual(self, self.reporter.get_gauge_names(), expected_gauge_metrics) self.assertGreater(self.reporter.get_gauge_value('wsgi.response.latency'), self.reporter.get_gauge_value('web.response.latency')) self.assertEqual(self.reporter.counts, {'web.status.2xx': 1, 'web.requests': 1}) def test_twice(self): self.getPage('/') self.getPage('/') self.assertStatus(200) expected_gauge_metrics = ['app.response.latency', 'wsgi.response.latency', 'web.response.latency'] six.assertCountEqual(self, self.reporter.get_gauge_names(), expected_gauge_metrics) self.assertEqual(self.reporter.counts, {'web.status.2xx': 2, 'web.requests': 2}) def test_redirect(self): self.getPage('/redirect') self.assertStatus(303) expected_gauge_metrics = ['app.response.latency', 'wsgi.response.latency', 'web.response.latency'] six.assertCountEqual(self, self.reporter.get_gauge_names(), expected_gauge_metrics) self.assertEqual(self.reporter.counts, {'web.status.3xx': 1, 'web.requests': 1}) def test_notfound(self): self.getPage('/notfound') self.assertStatus(404) expected_gauge_metrics = ['app.response.latency', 'wsgi.response.latency', 'web.response.latency'] six.assertCountEqual(self, self.reporter.get_gauge_names(), expected_gauge_metrics) self.assertEqual(self.reporter.counts, {'web.status.4xx': 1, 'web.requests': 1}) def test_error(self): self.getPage('/error') self.assertStatus(505) expected_gauge_metrics = ['app.response.latency', 'wsgi.response.latency', 'web.response.latency'] six.assertCountEqual(self, self.reporter.get_gauge_names(), expected_gauge_metrics) self.assertEqual(self.reporter.counts, {'web.status.5xx': 1, 'web.requests': 1})
class IOTestCase(helper.CPWebCase): def setup_server(): cherrypy.tree.mount(io_app.IOApp()) setup_server = staticmethod(setup_server) def setUp(self): self.reporter = TestTelemetryReporter() telemetry.set_reporter(self.reporter) def tearDown(self): telemetry.set_reporter(None) def test_data(self): self.getPage('/sqlite') self.assertStatus(200) expected_gauge_metrics = [ 'app.response.latency', 'wsgi.response.latency', 'web.response.latency', 'data.sqlite.execute.latency' ] six.assertCountEqual(self, self.reporter.get_gauge_names(), expected_gauge_metrics) self.assertGreater( self.reporter.get_gauge_value('wsgi.response.latency'), self.reporter.get_gauge_value('web.response.latency')) self.assertEqual( self.reporter.counts, { 'web.status.2xx': 1, 'web.requests': 1, 'data.sqlite.execute.requests': 1 }) def test_network(self): self.getPage('/urllib') self.assertStatus(200) expected_gauge_metrics = [ 'app.response.latency', 'wsgi.response.latency', 'web.response.latency', 'external.http.response.latency' ] six.assertCountEqual(self, self.reporter.get_gauge_names(), expected_gauge_metrics) self.assertGreater( self.reporter.get_gauge_value('wsgi.response.latency'), self.reporter.get_gauge_value('web.response.latency')) self.assertEqual( self.reporter.counts, { 'web.status.2xx': 1, 'external.http.requests': 1, 'web.requests': 1, 'external.http.status.2xx': 1 })
class IOTestCase(unittest.TestCase): def setUp(self): io_app.app.config['TESTING'] = True self.app = io_app.app.test_client() self.reporter = TestTelemetryReporter() telemetry.set_reporter(self.reporter) def tearDown(self): telemetry.set_reporter(None) def test_data(self): r = self.app.get('/sqlite') expected_gauge_metrics = [ 'app.response.latency', 'wsgi.response.latency', 'web.response.latency', 'data.sqlite.execute.latency' ] self.assertEqual(r.status_code, 200) six.assertCountEqual(self, self.reporter.get_gauge_names(), expected_gauge_metrics) self.assertGreater( self.reporter.get_gauge_value('wsgi.response.latency'), self.reporter.get_gauge_value('web.response.latency')) self.assertEqual( self.reporter.counts, { 'web.status.2xx': 1, 'web.requests': 1, 'data.sqlite.execute.requests': 1 }) def test_network(self): r = self.app.get('/urllib2') expected_gauge_metrics = [ 'app.response.latency', 'wsgi.response.latency', 'web.response.latency', 'external.http.response.latency' ] self.assertEqual(r.status_code, 200) six.assertCountEqual(self, self.reporter.get_gauge_names(), expected_gauge_metrics) self.assertGreater( self.reporter.get_gauge_value('wsgi.response.latency'), self.reporter.get_gauge_value('web.response.latency')) self.assertEqual( self.reporter.counts, { 'web.status.2xx': 1, 'external.http.requests': 1, 'web.requests': 1, 'external.http.status.2xx': 1 })
class IOTestCase(helper.CPWebCase): def setup_server(): cherrypy.tree.mount(io_app.IOApp()) setup_server = staticmethod(setup_server) def setUp(self): self.reporter = TestTelemetryReporter() telemetry.set_reporter(self.reporter) def tearDown(self): telemetry.set_reporter(None) def test_data(self): self.getPage('/sqlite') self.assertStatus(200) expected_gauge_metrics = [ 'app.response.latency', 'wsgi.response.latency', 'web.response.latency', 'data.sqlite.execute.latency' ] six.assertCountEqual(self, self.reporter.get_gauge_names(), expected_gauge_metrics) self.assertGreater(self.reporter.get_gauge_value('wsgi.response.latency'), self.reporter.get_gauge_value('web.response.latency')) self.assertEqual(self.reporter.counts, {'web.status.2xx': 1, 'web.requests': 1, 'data.sqlite.execute.requests': 1}) def test_network(self): self.getPage('/urllib') self.assertStatus(200) expected_gauge_metrics = [ 'app.response.latency', 'wsgi.response.latency', 'web.response.latency', 'external.http.response.latency' ] six.assertCountEqual(self, self.reporter.get_gauge_names(), expected_gauge_metrics) self.assertGreater(self.reporter.get_gauge_value('wsgi.response.latency'), self.reporter.get_gauge_value('web.response.latency')) self.assertEqual(self.reporter.counts, {'web.status.2xx': 1, 'external.http.requests': 1, 'web.requests': 1, 'external.http.status.2xx': 1})
class IOTestCase(unittest.TestCase): def setUp(self): io_app.app.config['TESTING'] = True self.app = io_app.app.test_client() self.reporter = TestTelemetryReporter() telemetry.set_reporter(self.reporter) def tearDown(self): telemetry.set_reporter(None) def test_data(self): r = self.app.get('/sqlite') expected_gauge_metrics = [ 'app.response.latency', 'wsgi.response.latency', 'web.response.latency', 'data.sqlite.execute.latency' ] self.assertEqual(r.status_code, 200) six.assertCountEqual(self, self.reporter.get_gauge_names(), expected_gauge_metrics) self.assertGreater(self.reporter.get_gauge_value('wsgi.response.latency'), self.reporter.get_gauge_value('web.response.latency')) self.assertEqual(self.reporter.counts, {'web.status.2xx': 1, 'web.requests': 1, 'data.sqlite.execute.requests': 1}) def test_network(self): r = self.app.get('/urllib2') expected_gauge_metrics = [ 'app.response.latency', 'wsgi.response.latency', 'web.response.latency', 'external.http.response.latency' ] self.assertEqual(r.status_code, 200) six.assertCountEqual(self, self.reporter.get_gauge_names(), expected_gauge_metrics) self.assertGreater(self.reporter.get_gauge_value('wsgi.response.latency'), self.reporter.get_gauge_value('web.response.latency')) self.assertEqual(self.reporter.counts, {'web.status.2xx': 1, 'external.http.requests': 1, 'web.requests': 1, 'external.http.status.2xx': 1})
class HelloTestCase(unittest.TestCase): def setUp(self): hello_app.app.config['TESTING'] = True self.app = hello_app.app.test_client() self.reporter = TestTelemetryReporter() telemetry.set_reporter(self.reporter) def tearDown(self): telemetry.set_reporter(None) def test_once(self): r = self.app.get('/') expected_gauge_metrics = [ 'app.response.latency', 'wsgi.response.latency', 'web.response.latency' ] self.assertEqual(r.status_code, 200) six.assertCountEqual(self, self.reporter.get_gauge_names(), expected_gauge_metrics) self.assertGreater( self.reporter.get_gauge_value('wsgi.response.latency'), self.reporter.get_gauge_value('web.response.latency')) self.assertEqual(self.reporter.counts, { 'web.status.2xx': 1, 'web.requests': 1 }) def test_twice(self): r = self.app.get('/') r = self.app.get('/') expected_gauge_metrics = [ 'app.response.latency', 'wsgi.response.latency', 'web.response.latency' ] self.assertEqual(r.status_code, 200) six.assertCountEqual(self, self.reporter.get_gauge_names(), expected_gauge_metrics) self.assertEqual(self.reporter.counts, { 'web.status.2xx': 2, 'web.requests': 2 }) def test_redirect(self): # Excluding the trailing will redirect r = self.app.get('/dir') self.assertEqual(r.status_code, 301) expected_gauge_metrics = [ 'app.response.latency', 'wsgi.response.latency', 'web.response.latency' ] six.assertCountEqual(self, self.reporter.get_gauge_names(), expected_gauge_metrics) self.assertEqual(self.reporter.counts, { 'web.status.3xx': 1, 'web.requests': 1 }) def test_notfound(self): r = self.app.get('/notfound/') self.assertEqual(r.status_code, 404) self.assertIn("Verify this text!", r.data.decode()) expected_gauge_metrics = [ 'app.response.latency', 'wsgi.response.latency', 'web.response.latency' ] six.assertCountEqual(self, self.reporter.get_gauge_names(), expected_gauge_metrics) self.assertEqual(self.reporter.counts, { 'web.status.4xx': 1, 'web.requests': 1 }) def test_error(self): r = self.app.get('/error/') self.assertEqual(r.status_code, 505) expected_gauge_metrics = [ 'app.response.latency', 'wsgi.response.latency', 'web.response.latency' ] six.assertCountEqual(self, self.reporter.get_gauge_names(), expected_gauge_metrics) self.assertEqual(self.reporter.counts, { 'web.status.5xx': 1, 'web.requests': 1 })
class HelloTestCase(unittest.TestCase): def setUp(self): hello_app.app.config['TESTING'] = True self.app = hello_app.app.test_client() self.reporter = TestTelemetryReporter() telemetry.set_reporter(self.reporter) def tearDown(self): telemetry.set_reporter(None) def test_once(self): r = self.app.get('/') expected_gauge_metrics = ['app.response.latency', 'wsgi.response.latency', 'web.response.latency'] self.assertEqual(r.status_code, 200) six.assertCountEqual(self, self.reporter.get_gauge_names(), expected_gauge_metrics) self.assertGreater(self.reporter.get_gauge_value('wsgi.response.latency'), self.reporter.get_gauge_value('web.response.latency')) self.assertEqual(self.reporter.counts, {'web.status.2xx': 1, 'web.requests': 1}) def test_twice(self): r = self.app.get('/') r = self.app.get('/') expected_gauge_metrics = ['app.response.latency', 'wsgi.response.latency', 'web.response.latency'] self.assertEqual(r.status_code, 200) six.assertCountEqual(self, self.reporter.get_gauge_names(), expected_gauge_metrics) self.assertEqual(self.reporter.counts, {'web.status.2xx': 2, 'web.requests': 2}) def test_redirect(self): # Excluding the trailing will redirect r = self.app.get('/dir') self.assertEqual(r.status_code, 301) expected_gauge_metrics = ['app.response.latency', 'wsgi.response.latency', 'web.response.latency'] six.assertCountEqual(self, self.reporter.get_gauge_names(), expected_gauge_metrics) self.assertEqual(self.reporter.counts, {'web.status.3xx': 1, 'web.requests': 1}) def test_notfound(self): r = self.app.get('/notfound/') self.assertEqual(r.status_code, 404) self.assertIn("Verify this text!", r.data.decode()) expected_gauge_metrics = ['app.response.latency', 'wsgi.response.latency', 'web.response.latency'] six.assertCountEqual(self, self.reporter.get_gauge_names(), expected_gauge_metrics) self.assertEqual(self.reporter.counts, {'web.status.4xx': 1, 'web.requests': 1}) def test_error(self): r = self.app.get('/error/') self.assertEqual(r.status_code, 505) expected_gauge_metrics = ['app.response.latency', 'wsgi.response.latency', 'web.response.latency'] six.assertCountEqual(self, self.reporter.get_gauge_names(), expected_gauge_metrics) self.assertEqual(self.reporter.counts, {'web.status.5xx': 1, 'web.requests': 1})
class HelloTestCase(helper.CPWebCase): def setup_server(): cherrypy.tree.mount(hello_app.HelloWorld()) setup_server = staticmethod(setup_server) def setUp(self): self.reporter = TestTelemetryReporter() telemetry.set_reporter(self.reporter) def tearDown(self): telemetry.set_reporter(None) def test_once(self): self.getPage('/') self.assertStatus(200) expected_gauge_metrics = [ 'app.response.latency', 'wsgi.response.latency', 'web.response.latency' ] six.assertCountEqual(self, self.reporter.get_gauge_names(), expected_gauge_metrics) self.assertGreater( self.reporter.get_gauge_value('wsgi.response.latency'), self.reporter.get_gauge_value('web.response.latency')) self.assertEqual(self.reporter.counts, { 'web.status.2xx': 1, 'web.requests': 1 }) def test_twice(self): self.getPage('/') self.getPage('/') self.assertStatus(200) expected_gauge_metrics = [ 'app.response.latency', 'wsgi.response.latency', 'web.response.latency' ] six.assertCountEqual(self, self.reporter.get_gauge_names(), expected_gauge_metrics) self.assertEqual(self.reporter.counts, { 'web.status.2xx': 2, 'web.requests': 2 }) def test_redirect(self): self.getPage('/redirect') self.assertStatus(303) expected_gauge_metrics = [ 'app.response.latency', 'wsgi.response.latency', 'web.response.latency' ] six.assertCountEqual(self, self.reporter.get_gauge_names(), expected_gauge_metrics) self.assertEqual(self.reporter.counts, { 'web.status.3xx': 1, 'web.requests': 1 }) def test_notfound(self): self.getPage('/notfound') self.assertStatus(404) expected_gauge_metrics = [ 'app.response.latency', 'wsgi.response.latency', 'web.response.latency' ] six.assertCountEqual(self, self.reporter.get_gauge_names(), expected_gauge_metrics) self.assertEqual(self.reporter.counts, { 'web.status.4xx': 1, 'web.requests': 1 }) def test_error(self): self.getPage('/error') self.assertStatus(505) expected_gauge_metrics = [ 'app.response.latency', 'wsgi.response.latency', 'web.response.latency' ] six.assertCountEqual(self, self.reporter.get_gauge_names(), expected_gauge_metrics) self.assertEqual(self.reporter.counts, { 'web.status.5xx': 1, 'web.requests': 1 })