1 # Copyright 2014 The Chromium 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.
5 """Request Handler that updates the Expectation version."""
10 from common import constants
15 class RebaselineHandler(webapp2.RequestHandler):
16 """Request handler to allow test mask updates."""
19 """Accepts post requests.
21 Expects a test_run as a parameter and updates the associated version file to
22 use the expectations associated with that test run.
24 test_run = self.request.get('test_run')
26 # Fail if test_run parameter is missing.
28 self.response.headers['Content-Type'] = 'json/application'
29 self.response.write(json.dumps(
30 {'error': '\'test_run\' must be supplied to rebaseline.'}))
32 # Otherwise, set up the utilities.
33 bucket = gs_bucket.GoogleCloudStorageBucket(constants.BUCKET)
34 ispy = ispy_api.ISpyApi(bucket)
35 # Update versions file.
36 ispy.RebaselineToTestRun(test_run)
37 # Redirect back to the sites list for the test run.
38 self.redirect('/?test_run=%s' % test_run)