Modify GetCoverageRules to use paths to protos in request.
- See proto change in
https://chromium-review.googlesource.com/c/chromiumos/infra/proto/+/3088245.
Modify endpoint to accept new request format.
BUG=b:182898188
TEST=CQ
Change-Id: Ib35cf0bf8bedc647750d7854db7bc134742b4a58
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/3089099
Tested-by: Andrew Lamb <andrewlamb@chromium.org>
Commit-Queue: Andrew Lamb <andrewlamb@chromium.org>
Reviewed-by: Sean McAllister <smcallis@google.com>
diff --git a/api/controller/test_unittest.py b/api/controller/test_unittest.py
index 64742ca..5513448 100644
--- a/api/controller/test_unittest.py
+++ b/api/controller/test_unittest.py
@@ -15,6 +15,9 @@
from chromite.api.gen.chromite.api import test_pb2
from chromite.api.gen.chromiumos.build.api import system_image_pb2
from chromite.api.gen.chromiumos.build.api import portage_pb2
+from chromite.api.gen.chromiumos.config.payload import flat_config_pb2
+from chromite.api.gen.chromiumos.config.api import design_pb2
+from chromite.api.gen.chromiumos.config.api import design_id_pb2
from chromite.api.gen.chromiumos.test.api import coverage_rule_pb2
from chromite.api.gen.chromiumos.test.api import dut_attribute_pb2
from chromite.api.gen.chromiumos.test.api import test_suite_pb2
@@ -785,19 +788,12 @@
api_config.ApiConfigMixin):
"""Tests for GetCoverageRules."""
- @staticmethod
- def _Input():
+ def _Input(self):
"""Returns a sample GetCoverageRulesRequest for testing."""
- return test_pb2.GetCoverageRulesRequest(
- source_test_plans=[
- source_test_plan_pb2.SourceTestPlan(
- requirements=source_test_plan_pb2.SourceTestPlan.Requirements(
- kernel_versions=source_test_plan_pb2.SourceTestPlan
- .Requirements.KernelVersions()),
- test_tags=['kernel']),
- ],
- build_metadata_list=system_image_pb2.SystemImage
- .BuildMetadataList(values=[
+ build_metadata_list_path = os.path.join(self.tempdir,
+ 'build_metadata_list.jsonproto')
+ build_metadata_list = system_image_pb2.SystemImage.BuildMetadataList(
+ values=[
system_image_pb2.SystemImage.BuildMetadata(
build_target=system_image_pb2.SystemImage.BuildTarget(
portage_build_target=portage_pb2.Portage.BuildTarget(
@@ -806,12 +802,46 @@
.PackageSummary(
kernel=system_image_pb2.SystemImage.BuildMetadata.Kernel(
version='4.4')))
- ]),
- dut_attribute_list=dut_attribute_pb2.DutAttributeList(dut_attributes=[
- dut_attribute_pb2.DutAttribute(
- id=dut_attribute_pb2.DutAttribute.Id(
- value='system_build_target'))
- ]))
+ ])
+ osutils.WriteFile(build_metadata_list_path,
+ json_format.MessageToJson(build_metadata_list))
+
+ dut_attribute_list_path = os.path.join(self.tempdir,
+ 'dut_attribute_list.jsonproto')
+ dut_attribute_list = dut_attribute_pb2.DutAttributeList(dut_attributes=[
+ dut_attribute_pb2.DutAttribute(
+ id=dut_attribute_pb2.DutAttribute.Id(value='system_build_target'))
+ ])
+ osutils.WriteFile(dut_attribute_list_path,
+ json_format.MessageToJson(dut_attribute_list))
+
+ flat_config_list_path = os.path.join(self.tempdir,
+ 'flat_config_list.jsonproto')
+ flat_config_list = flat_config_pb2.FlatConfigList(values=[
+ flat_config_pb2.FlatConfig(
+ hw_design=design_pb2.Design(
+ id=design_id_pb2.DesignId(value='design1')
+ )
+ )
+ ])
+ osutils.WriteFile(flat_config_list_path,
+ json_format.MessageToJson(flat_config_list))
+
+ return test_pb2.GetCoverageRulesRequest(
+ source_test_plans=[
+ source_test_plan_pb2.SourceTestPlan(
+ requirements=source_test_plan_pb2.SourceTestPlan.Requirements(
+ kernel_versions=source_test_plan_pb2.SourceTestPlan
+ .Requirements.KernelVersions()),
+ test_tags=['kernel']),
+ ],
+ build_metadata_list=common_pb2.Path(
+ path=build_metadata_list_path, location=common_pb2.Path.OUTSIDE),
+ dut_attribute_list=common_pb2.Path(
+ path=dut_attribute_list_path, location=common_pb2.Path.OUTSIDE),
+ flat_config_list=common_pb2.Path(
+ path=flat_config_list_path, location=common_pb2.Path.OUTSIDE),
+ )
@staticmethod
def _Output():
@@ -854,18 +884,4 @@
test_controller.GetCoverageRules(self._Input(), output_proto,
self.api_config)
- build_metadata_list = system_image_pb2.SystemImage.BuildMetadataList()
- json_format.Parse(
- osutils.ReadFile(
- os.path.join(self.tempdir, 'build_metadata_list.jsonpb')),
- build_metadata_list)
- self.assertEqual(build_metadata_list, self._Input().build_metadata_list)
-
- dut_attribute_list = dut_attribute_pb2.DutAttributeList()
- json_format.Parse(
- osutils.ReadFile(
- os.path.join(self.tempdir, 'dut_attribute_list.jsonpb')),
- dut_attribute_list)
- self.assertEqual(dut_attribute_list, self._Input().dut_attribute_list)
-
self.assertEqual(output_proto, self._Output())