| OLD | NEW |
| 1 # Copyright 2015 The Chromium Authors. All rights reserved. | 1 # Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 import json | 5 import json |
| 6 import unittest | 6 import unittest |
| 7 | 7 |
| 8 import mock | 8 import mock |
| 9 import webapp2 | 9 import webapp2 |
| 10 import webtest | 10 import webtest |
| 11 | 11 |
| 12 from google.appengine.ext import ndb | 12 from google.appengine.ext import ndb |
| 13 | 13 |
| 14 from dashboard import graph_json | 14 from dashboard import graph_json |
| 15 from dashboard import testing_common | 15 from dashboard import testing_common |
| 16 from dashboard import utils | 16 from dashboard import utils |
| 17 from dashboard.models import anomaly | 17 from dashboard.models import anomaly |
| 18 from dashboard.models import graph_data | 18 from dashboard.models import graph_data |
| 19 | 19 |
| 20 | 20 |
| 21 class GraphJsonTest(testing_common.TestCase): | 21 class GraphJsonTest(testing_common.TestCase): |
| 22 | 22 |
| 23 def setUp(self): | 23 def setUp(self): |
| 24 super(GraphJsonTest, self).setUp() | 24 super(GraphJsonTest, self).setUp() |
| 25 app = webapp2.WSGIApplication( | 25 app = webapp2.WSGIApplication( |
| 26 [('/graph_json', graph_json.GraphJsonHandler)]) | 26 [('/graph_json', graph_json.GraphJsonHandler)]) |
| 27 self.testapp = webtest.TestApp(app) | 27 self.testapp = webtest.TestApp(app) |
| 28 testing_common.SetInternalDomain('google.com') | 28 testing_common.SetInternalDomain('google.com') |
| 29 self.PatchDatastoreHooksRequest() |
| 29 | 30 |
| 30 # TODO(qyearsley): graph_json_test is very slow (it takes 60+ seconds | 31 # TODO(qyearsley): graph_json_test is very slow (it takes 60+ seconds |
| 31 # to run sometimes), and I have a hypothesis that most of the time is | 32 # to run sometimes), and I have a hypothesis that most of the time is |
| 32 # spent in _AddTestColumns. Investigate this hypothesis and make changes | 33 # spent in _AddTestColumns. Investigate this hypothesis and make changes |
| 33 # accordingly. | 34 # accordingly. |
| 34 def _AddTestColumns(self, start_rev=15000, end_rev=16500, step=3): | 35 def _AddTestColumns(self, start_rev=15000, end_rev=16500, step=3): |
| 35 """Adds a bunch of test data to the mock datastore. | 36 """Adds a bunch of test data to the mock datastore. |
| 36 | 37 |
| 37 In particular, add Rows with revisions in the given range (but skipping | 38 In particular, add Rows with revisions in the given range (but skipping |
| 38 some numbers, so the revisions are non-contiguous) under the dromaeo/dom | 39 some numbers, so the revisions are non-contiguous) under the dromaeo/dom |
| (...skipping 756 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 795 rows = testing_common.AddRows('Master/b/my_suite', [345]) | 796 rows = testing_common.AddRows('Master/b/my_suite', [345]) |
| 796 # This row has no a_tracing_uri property, so there should be no | 797 # This row has no a_tracing_uri property, so there should be no |
| 797 # trace annotation returned by _PointInfoDict. | 798 # trace annotation returned by _PointInfoDict. |
| 798 point_info = graph_json._PointInfoDict(rows[0], test, {}) | 799 point_info = graph_json._PointInfoDict(rows[0], test, {}) |
| 799 self.assertFalse(hasattr(rows[0], 'a_tracing_uri')) | 800 self.assertFalse(hasattr(rows[0], 'a_tracing_uri')) |
| 800 self.assertNotIn('a_tracing_uri', point_info) | 801 self.assertNotIn('a_tracing_uri', point_info) |
| 801 | 802 |
| 802 | 803 |
| 803 if __name__ == '__main__': | 804 if __name__ == '__main__': |
| 804 unittest.main() | 805 unittest.main() |
| OLD | NEW |