Check whether a board builds a version before setting chrome version.

BUG=chromium:1004438
TEST=manual, run_tests

Change-Id: Ic189e07b19e947d76ba4770494c20a15d5365522
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/1867046
Tested-by: Michael Mortensen <mmortensen@google.com>
Reviewed-by: Alex Klein <saklein@chromium.org>
Reviewed-by: David Burger <dburger@chromium.org>
Commit-Queue: Michael Mortensen <mmortensen@google.com>
diff --git a/api/controller/packages_unittest.py b/api/controller/packages_unittest.py
index fe1f99b..1a6504e 100644
--- a/api/controller/packages_unittest.py
+++ b/api/controller/packages_unittest.py
@@ -247,6 +247,8 @@
 
   def testValidateOnly(self):
     """Sanity check that a validate only call does not execute any logic."""
+    builds_chrome = self.PatchObject(
+        packages_service, 'builds', return_value=True)
     patch_version = self.PatchObject(packages_service,
                                      'determine_android_version')
     patch_branch_version = self.PatchObject(packages_service,
@@ -262,6 +264,7 @@
     patch_version.assert_not_called()
     patch_branch_version.assert_not_called()
     patch_target_version.assert_not_called()
+    builds_chrome.assert_not_called()
     chrome_version.assert_not_called()
 
   def testNoBuildTargetFails(self):
@@ -274,6 +277,8 @@
 
   def testGetTargetVersions(self):
     """Verify basic return values."""
+    # Mock that chrome is built and set the chrome_version.
+    self.PatchObject(packages_service, 'builds', return_value=True)
     chrome_version = '76.0.1.2'
     self.PatchObject(packages_service, 'determine_chrome_version',
                      return_value=chrome_version)
@@ -298,14 +303,12 @@
     self.assertEqual(self.response.chrome_version, chrome_version)
     self.assertEqual(self.response.platform_version, platform_version)
 
-  def testGetTargetVersionNoAndroid(self):
+  def testGetTargetVersionNoAndroidNoChrome(self):
     """Verify return values on a board that does not have android."""
-    chrome_version = '76.0.1.2'
-    self.PatchObject(packages_service, 'determine_chrome_version',
-                     return_value=chrome_version)
     platform_version = '12345.1.2'
     self.PatchObject(packages_service, 'determine_platform_version',
                      return_value=platform_version)
+    self.PatchObject(packages_service, 'builds', return_value=False)
     self.PatchObject(packages_service, 'determine_android_version',
                      return_value=None)
     self.PatchObject(packages_service, 'determine_android_branch',
@@ -315,7 +318,7 @@
     request = self._GetRequest(board='betty')
     packages_controller.GetTargetVersions(request, self.response,
                                           self.api_config)
-    self.assertEqual(self.response.chrome_version, chrome_version)
+    self.assertFalse(self.response.chrome_version)
     self.assertFalse(self.response.android_version)
     self.assertFalse(self.response.android_branch_version)
     self.assertFalse(self.response.android_target_version)