| # Copyright 2015 The ChromiumOS Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| """This module tests the cros stage command and subfunctions.""" |
| |
| from chromite.cli.cros import cros_stage |
| from chromite.lib import cros_test_lib |
| |
| |
| pytestmark = cros_test_lib.pytestmark_inside_only |
| |
| |
| class GSURLRegexHelperTest(cros_test_lib.TestCase): |
| """Test class for the GSURLRegexHelper function.""" |
| |
| def testCorrectInputs(self): |
| """Ensure expected inputs work.""" |
| gsurls = [ |
| ( |
| "gs://chromeos-image-archive/peppy-release/R42-6744.0.0", |
| "peppy", |
| "R42-6744.0.0", |
| ), |
| ( |
| "gs://chromeos-image-archive/peppy-release/R42-6744.0.0/", |
| "peppy", |
| "R42-6744.0.0", |
| ), |
| ( |
| "gs://chromeos-image-archive/trybot-peppy-release/" |
| "R42-6744.0.0-b77/", |
| "peppy", |
| "R42-6744.0.0-b77", |
| ), |
| ] |
| for gsurl, board, build in gsurls: |
| match = cros_stage.GSURLRegexHelper(gsurl) |
| self.assertNotEqual(match, None) |
| self.assertEqual(match.group("board"), board) |
| self.assertEqual(match.group("build_name"), build) |
| |
| def testBadInputs(self): |
| """Ensure unexpected inputs don't work.""" |
| gsurls = [ |
| "gs://chromeos-image-archive/", |
| "gs://chromeos-image-archive/peppy-release/", |
| "gs://chromeos-image-archive/peppy-release/6744.0.0/" |
| "gs://chromeos-image-archive/peppy/R42-6744.0.0/", |
| "gs://chromeos-image-archive/peppy-release/LATEST", |
| "http://my_server_name:8080/peppy-release/R42-6744.0.0", |
| ] |
| for gsurl in gsurls: |
| match = cros_stage.GSURLRegexHelper(gsurl) |
| self.assertEqual(match, None) |