Build API: Adding mock responses.

Complete mock responses for the api, sdk, and sysroot controllers.
Added empty mock responses for the rest of the endpoints, and bugs
have been created to complete them.

BUG=chromium:999178
TEST=run_tests

Change-Id: Ib9ead797a588a9f4ccf50a6a663ab7dbdf5d0ae8
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/1787937
Reviewed-by: Michael Mortensen <mmortensen@google.com>
Tested-by: Alex Klein <saklein@chromium.org>
Commit-Queue: Alex Klein <saklein@chromium.org>
diff --git a/api/controller/sysroot.py b/api/controller/sysroot.py
index 87afbac..d82893c 100644
--- a/api/controller/sysroot.py
+++ b/api/controller/sysroot.py
@@ -8,6 +8,7 @@
 from __future__ import print_function
 
 from chromite.api import controller
+from chromite.api import faux
 from chromite.api import validate
 from chromite.api.controller import controller_util
 from chromite.api.metrics import deserialize_metrics_log
@@ -22,6 +23,7 @@
 _ACCEPTED_LICENSES = '@CHROMEOS'
 
 
+@faux.all_empty
 @validate.require('build_target.name')
 @validate.validation_complete
 def Create(input_proto, output_proto, _config):
@@ -46,7 +48,24 @@
   output_proto.sysroot.path = created.path
   output_proto.sysroot.build_target.name = build_target_name
 
+  return controller.RETURN_CODE_SUCCESS
 
+
+def _MockFailedPackagesResponse(_input_proto, output_proto, _config):
+  """Mock error response that populates failed packages."""
+  pkg = output_proto.failed_packages.add()
+  pkg.package_name = 'package'
+  pkg.category = 'category'
+  pkg.version = '1.0.0_rc-r1'
+
+  pkg2 = output_proto.failed_packages.add()
+  pkg2.package_name = 'bar'
+  pkg2.category = 'foo'
+  pkg2.version = '3.7-r99'
+
+
+@faux.empty_success
+@faux.error(_MockFailedPackagesResponse)
 @validate.require('sysroot.path', 'sysroot.build_target.name')
 @validate.exists('sysroot.path')
 @validate.validation_complete
@@ -73,7 +92,11 @@
 
     return controller.RETURN_CODE_UNSUCCESSFUL_RESPONSE_AVAILABLE
 
+  return controller.RETURN_CODE_SUCCESS
 
+
+@faux.empty_success
+@faux.error(_MockFailedPackagesResponse)
 @validate.require('sysroot.path', 'sysroot.build_target.name')
 @validate.validation_complete
 @metrics.collect_metrics