Initial impl of BuildTestServiceContainers
Runs all of the docker test container builds outside of the chroot.
BUG=b:190822895
TEST=unit
Change-Id: I1cba3a2184d324e0c7dbe2eaf809a805fb6f9f7a
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/2970303
Tested-by: C Shapiro <shapiroc@chromium.org>
Auto-Submit: C Shapiro <shapiroc@chromium.org>
Commit-Queue: C Shapiro <shapiroc@chromium.org>
Reviewed-by: Mike Nichols <mikenichols@chromium.org>
diff --git a/api/controller/test_unittest.py b/api/controller/test_unittest.py
index 180aea0..9c08098 100644
--- a/api/controller/test_unittest.py
+++ b/api/controller/test_unittest.py
@@ -266,6 +266,50 @@
os.path.join(input_msg.result_path, 'unit_tests.tar'))
+class BuildTestServiceContainers(cros_test_lib.MockTestCase,
+ api_config.ApiConfigMixin):
+ """Tests for the BuildTestServiceContainers function."""
+
+ def setUp(self):
+ self.request = test_pb2.BuildTestServiceContainersRequest(
+ chroot={'path': '/path/to/chroot'},
+ build_target={'name': 'build_target'},
+ version = 'R93-14033.0.0',
+ )
+
+
+ def testSuccess(self):
+ """Check passing case with mocked cros_build_lib.run."""
+ patch = self.PatchObject(
+ cros_build_lib, 'run',
+ return_value=cros_build_lib.CommandResult(returncode=0))
+
+ response = test_pb2.BuildTestServiceContainersResponse()
+ test_controller.BuildTestServiceContainers(
+ self.request,
+ response,
+ self.api_config)
+ patch.assert_called()
+ for result in response.results:
+ self.assertEqual(result.WhichOneof('result'), 'success')
+
+
+ def testFailure(self):
+ """Check failure case with mocked cros_build_lib.run."""
+ patch = self.PatchObject(
+ cros_build_lib, 'run',
+ return_value=cros_build_lib.CommandResult(returncode=1))
+
+ response = test_pb2.BuildTestServiceContainersResponse()
+ test_controller.BuildTestServiceContainers(
+ self.request,
+ response,
+ self.api_config)
+ patch.assert_called()
+ for result in response.results:
+ self.assertEqual(result.WhichOneof('result'), 'failure')
+
+
class ChromiteUnitTestTest(cros_test_lib.MockTestCase,
api_config.ApiConfigMixin):
"""Tests for the ChromiteInfoTest function."""