| Index: chrome/test/functional/ispy/server/update_mask_handler.py
|
| ===================================================================
|
| --- chrome/test/functional/ispy/server/update_mask_handler.py (revision 261231)
|
| +++ chrome/test/functional/ispy/server/update_mask_handler.py (working copy)
|
| @@ -1,59 +0,0 @@
|
| -# Copyright 2013 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.
|
| -
|
| -"""Request Handler to allow test mask updates."""
|
| -
|
| -import webapp2
|
| -import re
|
| -import sys
|
| -import os
|
| -
|
| -from common import constants
|
| -from common import image_tools
|
| -from common import ispy_utils
|
| -
|
| -import gs_bucket
|
| -
|
| -
|
| -class UpdateMaskHandler(webapp2.RequestHandler):
|
| - """Request handler to allow test mask updates."""
|
| -
|
| - def post(self):
|
| - """Accepts post requests.
|
| -
|
| - This method will accept a post request containing device, site and
|
| - device_id parameters. This method takes the diff of the run
|
| - indicated by it's parameters and adds it to the mask of the run's
|
| - test. It will then delete the run it is applied to and redirect
|
| - to the device list view.
|
| - """
|
| - test_run = self.request.get('test_run')
|
| - expectation = self.request.get('expectation')
|
| -
|
| - # Short-circuit if a parameter is missing.
|
| - if not (test_run and expectation):
|
| - self.response.headers['Content-Type'] = 'json/application'
|
| - self.response.write(json.dumps(
|
| - {'error': '\'test_run\' and \'expectation\' must be '
|
| - 'supplied to update a mask.'}))
|
| - return
|
| - # Otherwise, set up the utilities.
|
| - self.bucket = gs_bucket.GoogleCloudStorageBucket(constants.BUCKET)
|
| - self.ispy = ispy_utils.ISpyUtils(self.bucket)
|
| - # Short-circuit if the failure does not exist.
|
| - if not self.ispy.FailureExists(test_run, expectation):
|
| - self.response.headers['Content-Type'] = 'json/application'
|
| - self.response.write(json.dumps(
|
| - {'error': 'Could not update mask because failure does not exist.'}))
|
| - return
|
| - # Get the failure namedtuple (which also computes the diff).
|
| - failure = self.ispy.GetFailure(test_run, expectation)
|
| - # Upload the new mask in place of the original.
|
| - self.ispy.UpdateImage(
|
| - ispy_utils.GetExpectationPath(expectation, 'mask.png'),
|
| - image_tools.ConvertDiffToMask(failure.diff))
|
| - # Now that there is no diff for the two images, remove the failure.
|
| - self.ispy.RemoveFailure(test_run, expectation)
|
| - # Redirect back to the sites list for the test run.
|
| - self.redirect('/?test_run=%s' % test_run)
|
|
|