Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1356)

Unified Diff: infra_libs/ts_mon/common/test/http_metrics_test.py

Issue 1797103003: gae_ts_mon: instrument Cloud Endpoint methods (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Reduced test flakiness Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « infra_libs/ts_mon/common/interface.py ('k') | infra_libs/ts_mon/common/test/interface_test.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: infra_libs/ts_mon/common/test/http_metrics_test.py
diff --git a/infra_libs/ts_mon/common/test/http_metrics_test.py b/infra_libs/ts_mon/common/test/http_metrics_test.py
new file mode 100644
index 0000000000000000000000000000000000000000..f7995e0e82a20a8b6e440dc1bcc6146cd1475e83
--- /dev/null
+++ b/infra_libs/ts_mon/common/test/http_metrics_test.py
@@ -0,0 +1,44 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import unittest
+
+import mock
+
+from infra_libs.ts_mon.common import http_metrics
+from infra_libs.ts_mon.common import interface
+from infra_libs.ts_mon.common import targets
+
+
+class TestHttpMetrics(unittest.TestCase):
+ def setUp(self):
+ super(TestHttpMetrics, self).setUp()
+ target = targets.TaskTarget('test_service', 'test_job',
+ 'test_region', 'test_host')
+ self.mock_state = interface.State(target=target)
+ self.state_patcher = mock.patch('infra_libs.ts_mon.common.interface.state',
+ new=self.mock_state)
+ self.state_patcher.start()
+
+ def tearDown(self):
+ self.state_patcher.stop()
+ super(TestHttpMetrics, self).tearDown()
+
+ def test_update_http_server_metrics(self):
+ http_metrics.update_http_server_metrics(
+ '/', 200, 125.4,
+ request_size=100, response_size=200, user_agent='Chrome')
+ fields = {'status': 200, 'name': '/', 'is_robot': False}
+ self.assertEqual(1, http_metrics.server_response_status.get(fields))
+ self.assertEqual(125.4, http_metrics.server_durations.get(fields).sum)
+ self.assertEqual(100, http_metrics.server_request_bytes.get(fields).sum)
+ self.assertEqual(200, http_metrics.server_response_bytes.get(fields).sum)
+
+ def test_update_http_server_metrics_no_sizes(self):
+ http_metrics.update_http_server_metrics('/', 200, 125.4)
+ fields = {'status': 200, 'name': '/', 'is_robot': False}
+ self.assertEqual(1, http_metrics.server_response_status.get(fields))
+ self.assertEqual(125.4, http_metrics.server_durations.get(fields).sum)
+ self.assertIsNone(http_metrics.server_request_bytes.get(fields))
+ self.assertIsNone(http_metrics.server_response_bytes.get(fields))
« no previous file with comments | « infra_libs/ts_mon/common/interface.py ('k') | infra_libs/ts_mon/common/test/interface_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698