Add api/controller unit tests and mock responses for GetChromeVersion.
BUG=b:1000854
TEST=run_tests
Change-Id: Id0c62fa3bcaf116b3c9ad8319db435944b509e82
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/1883679
Reviewed-by: Alex Klein <saklein@chromium.org>
Tested-by: Michael Mortensen <mmortensen@google.com>
Commit-Queue: Michael Mortensen <mmortensen@google.com>
diff --git a/api/controller/packages_unittest.py b/api/controller/packages_unittest.py
index 7fb1b06..d89a53f 100644
--- a/api/controller/packages_unittest.py
+++ b/api/controller/packages_unittest.py
@@ -230,6 +230,51 @@
self.assertEqual(package_info.version, cpv.version)
+class GetChromeVersion(cros_test_lib.MockTestCase, ApiConfigMixin):
+ """GetChromeVersion tests."""
+
+ def setUp(self):
+ self.response = packages_pb2.GetChromeVersionResponse()
+
+ def _GetRequest(self, board=None):
+ """Helper to build out a request."""
+ request = packages_pb2.GetChromeVersionRequest()
+
+ if board:
+ request.build_target.name = board
+
+ return request
+
+ def testValidateOnly(self):
+ """Sanity check that a validate only call does not execute any logic."""
+ chrome_version = self.PatchObject(packages_service,
+ 'determine_chrome_version')
+ request = self._GetRequest(board='betty')
+ packages_controller.GetChromeVersion(request, self.response,
+ self.validate_only_config)
+ chrome_version.assert_not_called()
+
+ def testMockCall(self):
+ """Test that a mock call does not execute logic, returns mocked value."""
+ chrome_version = self.PatchObject(packages_service,
+ 'determine_chrome_version')
+ request = self._GetRequest(board='betty')
+ packages_controller.GetChromeVersion(request, self.response,
+ self.mock_call_config)
+ chrome_version.assert_not_called()
+ self.assertTrue(self.response.version)
+
+ def testGetChromeVersion(self):
+ """Verify basic return values."""
+ chrome_version = '76.0.1.2'
+ self.PatchObject(packages_service, 'determine_chrome_version',
+ return_value=chrome_version)
+ request = self._GetRequest(board='betty')
+ packages_controller.GetChromeVersion(request, self.response,
+ self.api_config)
+ self.assertEqual(self.response.version, chrome_version)
+
+
class GetTargetVersionsTest(cros_test_lib.MockTestCase, ApiConfigMixin):
"""GetTargetVersions tests."""