blob: 73dcc9df7113f4f971b478d633aececbbd9e408e [file] [log] [blame]
Xixuan Wu865fa282017-09-05 15:23:19 -07001# Copyright 2017 The Chromium OS Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5"""Module for tests for handlers."""
6
Xixuan Wuf856ff12019-05-21 14:09:38 -07007import datetime
8
Craig Bergstrom3212fb42018-04-17 19:24:15 -06009import config_reader
Xixuan Wuf856ff12019-05-21 14:09:38 -070010import constants
Craig Bergstrom3212fb42018-04-17 19:24:15 -060011import file_getter
Xixuan Wuf856ff12019-05-21 14:09:38 -070012import rest_client
Xixuan Wu865fa282017-09-05 15:23:19 -070013import swarming_lib
Xixuan Wuf856ff12019-05-21 14:09:38 -070014import time_converter
Xixuan Wu865fa282017-09-05 15:23:19 -070015
16import webapp2
17
18
Xixuan Wu630415c2019-05-24 14:24:12 -070019class _FakeAFESwarmingAPIHandler(webapp2.RequestHandler):
Xixuan Wu865fa282017-09-05 15:23:19 -070020
21 def get(self):
Craig Bergstrom3212fb42018-04-17 19:24:15 -060022 lab_config = config_reader.LabConfig(config_reader.ConfigReader(
23 file_getter.LAB_CONFIG_FILE))
24 afe_server = lab_config.get_dedicated_afe()
Xixuan Wu5d700dc2018-08-21 15:13:10 -070025 swarming_runner = swarming_lib.SwarmingRunner(
26 afe_server,
Prathmesh Prabhucf670742018-09-27 15:13:48 -070027 swarming_lib.SKYLAB_STAGING_SWARMING_SERVER)
Xixuan Wua17e3282018-08-21 16:11:11 -070028 afe_response = swarming_runner.dummy_run()
29 afe_swarming_task_info = swarming_runner.query_task(afe_response['task_id'])
30 self.response.write(afe_swarming_task_info.name)
31
32
Xixuan Wu630415c2019-05-24 14:24:12 -070033class _FakeSkylabSwarmingAPIHandler(webapp2.RequestHandler):
Xixuan Wua17e3282018-08-21 16:11:11 -070034
35 def get(self):
36 lab_config = config_reader.LabConfig(config_reader.ConfigReader(
37 file_getter.LAB_CONFIG_FILE))
38 afe_server = lab_config.get_dedicated_afe()
39 swarming_runner = swarming_lib.SwarmingRunner(
40 afe_server,
Prathmesh Prabhucf670742018-09-27 15:13:48 -070041 swarming_lib.SKYLAB_STAGING_SWARMING_SERVER)
Xixuan Wua17e3282018-08-21 16:11:11 -070042 skylab_response = swarming_runner.dummy_run(is_skylab=True)
43 skylab_swarming_task_info = swarming_runner.query_task(
44 skylab_response['task_id'], is_skylab=True)
45 self.response.write(skylab_swarming_task_info.name)
Xixuan Wu865fa282017-09-05 15:23:19 -070046
47
Xixuan Wu630415c2019-05-24 14:24:12 -070048class _FakeAFEWithSanityHandler(webapp2.RequestHandler):
Xixuan Wud9dd4742018-08-23 15:57:03 -070049
50 def get(self):
51 lab_config = config_reader.LabConfig(config_reader.ConfigReader(
52 file_getter.LAB_CONFIG_FILE))
53 afe_server = lab_config.get_dedicated_afe()
54 swarming_runner = swarming_lib.SwarmingRunner(
55 afe_server,
Prathmesh Prabhucf670742018-09-27 15:13:48 -070056 swarming_lib.SKYLAB_STAGING_SWARMING_SERVER)
Xixuan Wud9dd4742018-08-23 15:57:03 -070057 skylab_response = swarming_runner.dummy_run_sanity(is_skylab=False)
58 skylab_swarming_task_info = swarming_runner.query_task(
59 skylab_response['task_id'], is_skylab=False)
60 self.response.write(skylab_swarming_task_info.tags)
61
62
Xixuan Wu630415c2019-05-24 14:24:12 -070063class _FakeSkylabWithSanityHandler(webapp2.RequestHandler):
Xixuan Wud9dd4742018-08-23 15:57:03 -070064
65 def get(self):
66 lab_config = config_reader.LabConfig(config_reader.ConfigReader(
67 file_getter.LAB_CONFIG_FILE))
68 afe_server = lab_config.get_dedicated_afe()
69 swarming_runner = swarming_lib.SwarmingRunner(
70 afe_server,
Xixuan Wu028f6732019-04-11 14:47:42 -070071 swarming_lib.SKYLAB_SWARMING_SERVER)
Xixuan Wud9dd4742018-08-23 15:57:03 -070072 skylab_response = swarming_runner.dummy_run_sanity(is_skylab=True)
73 skylab_swarming_task_info = swarming_runner.query_task(
74 skylab_response['task_id'], is_skylab=True)
75 self.response.write(skylab_swarming_task_info.tags)
76
77
Xixuan Wu630415c2019-05-24 14:24:12 -070078class _FakeSkylabBackwardCompatibilityWithSanityHandler(webapp2.RequestHandler):
Xixuan Wu0d730582019-04-25 11:20:39 -070079
80 def get(self):
81 lab_config = config_reader.LabConfig(config_reader.ConfigReader(
82 file_getter.LAB_CONFIG_FILE))
83 afe_server = lab_config.get_dedicated_afe()
84 swarming_runner = swarming_lib.SwarmingRunner(
85 afe_server,
86 swarming_lib.SKYLAB_SWARMING_SERVER)
87 skylab_response = swarming_runner.dummy_run_sanity_old(is_skylab=True)
88 skylab_swarming_task_info = swarming_runner.query_task(
89 skylab_response['task_id'], is_skylab=True)
90 self.response.write(skylab_swarming_task_info.tags)
91
92
Xixuan Wuf856ff12019-05-21 14:09:38 -070093class _FakeBigqueryGetPassedHandler(webapp2.RequestHandler):
94
95 def get(self):
96 bq_client = rest_client.BuildBucketBigqueryClient(
97 rest_client.BaseRestClient(
98 constants.RestClient.BIGQUERY_CLIENT.scopes,
99 constants.RestClient.BIGQUERY_CLIENT.service_name,
100 constants.RestClient.BIGQUERY_CLIENT.service_version))
101
102 # Get passed builds in 3 days.
103 utc_now = time_converter.utc_now()
104 since_date = utc_now - datetime.timedelta(days=3)
105 res = bq_client.get_passed_builds_since_date(since_date)
106 for r in res:
107 self.response.write(r)
108 self.response.write('\n')
109
110
111class _FakeBigqueryGetRelaxedPassedHandler(webapp2.RequestHandler):
112
113 def get(self):
114 bq_client = rest_client.BuildBucketBigqueryClient(
115 rest_client.BaseRestClient(
116 constants.RestClient.BIGQUERY_CLIENT.scopes,
117 constants.RestClient.BIGQUERY_CLIENT.service_name,
118 constants.RestClient.BIGQUERY_CLIENT.service_version))
119
120 # Get passed builds in 3 days.
121 utc_now = time_converter.utc_now()
122 since_date = utc_now - datetime.timedelta(days=3)
123 res = bq_client.get_relaxed_passed_builds_since_date(since_date)
124 for r in res:
125 self.response.write(r)
126 self.response.write('\n')
127
128
Xixuan Wu865fa282017-09-05 15:23:19 -0700129app = webapp2.WSGIApplication([
Xixuan Wu630415c2019-05-24 14:24:12 -0700130 ('/test_push/afe_dummy', _FakeAFESwarmingAPIHandler),
131 ('/test_push/skylab_dummy', _FakeSkylabSwarmingAPIHandler),
132 ('/test_push/afe_sanity', _FakeAFEWithSanityHandler),
133 ('/test_push/skylab_sanity', _FakeSkylabWithSanityHandler),
Xixuan Wu0d730582019-04-25 11:20:39 -0700134 ('/test_push/skylab_sanity_bc_test',
Xixuan Wu630415c2019-05-24 14:24:12 -0700135 _FakeSkylabBackwardCompatibilityWithSanityHandler),
Xixuan Wuf856ff12019-05-21 14:09:38 -0700136 ('/test_push/bq_get_passed', _FakeBigqueryGetPassedHandler),
137 ('/test_push/bq_get_relaxed_passed', _FakeBigqueryGetRelaxedPassedHandler),
Xixuan Wu865fa282017-09-05 15:23:19 -0700138 ], debug=True)