BuildAPI: Have GetBuilderMetadata handle find_fingerprints return [].
BUG=chromium:1071620
TEST=manual, run_tests
Change-Id: Ief3730ea75c21f9f47023b68481738e55828f573
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/2238550
Reviewed-by: Alex Klein <saklein@chromium.org>
Commit-Queue: Michael Mortensen <mmortensen@google.com>
Tested-by: Michael Mortensen <mmortensen@google.com>
diff --git a/api/controller/packages_unittest.py b/api/controller/packages_unittest.py
index db1571e..3a69774 100644
--- a/api/controller/packages_unittest.py
+++ b/api/controller/packages_unittest.py
@@ -686,6 +686,22 @@
self.response.model_metadata[1].main_readwrite_firmware_version,
'Google_Reef.9042.110.0')
+ # Test corner case where find_fingerprints returns None.
+ # Re-patch find_fingerprints to now return None and re-execute
+ # GetBuilderMetadata to verify behavior.
+ response = packages_pb2.GetBuilderMetadataResponse()
+ self.PatchObject(packages_service, 'find_fingerprints',
+ return_value=[])
+ request = self._GetRequest(board='betty')
+ packages_controller.GetBuilderMetadata(request, response,
+ self.api_config)
+ # Verify a non-fingerprint build_target_metdata field was still set.
+ self.assertEqual(
+ response.build_target_metadata[0].kernel_version,
+ '4.4.223-r2209')
+ # And then verify that fingerprints was empty.
+ self.assertEqual(response.build_target_metadata[0].fingerprints, [])
+
class HasChromePrebuiltTest(cros_test_lib.MockTestCase, ApiConfigMixin):
"""HasChromePrebuilt tests."""