API: allow package list in depgraph.
This is based on crrev.com/c/1965633 having landed.
BUG=chromium:1019868
TEST=unit tests pass.
Change-Id: I123cc95a2cd1c78355a371e83248dee725f8f7f8
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/1965673
Reviewed-by: Alex Klein <saklein@chromium.org>
Tested-by: LaMont Jones <lamontjones@chromium.org>
Commit-Queue: LaMont Jones <lamontjones@chromium.org>
diff --git a/api/controller/dependency_unittest.py b/api/controller/dependency_unittest.py
index c0412ed..459175f 100644
--- a/api/controller/dependency_unittest.py
+++ b/api/controller/dependency_unittest.py
@@ -7,8 +7,10 @@
from __future__ import print_function
from chromite.api import api_config
+from chromite.api.controller import controller_util
from chromite.api.controller import dependency
from chromite.api.gen.chromite.api import depgraph_pb2
+from chromite.api.gen.chromiumos import common_pb2
from chromite.lib import cros_test_lib
from chromite.service import dependency as dependency_service
@@ -91,6 +93,28 @@
self.assertEqual(self.response.dep_graph.build_target.name, 'deathstar')
patch.assert_called_once()
+ def testGetBuildDependencyGraphForPackages(self):
+ """GetBuildDependencyGraph calls helper method with correct args."""
+ get_dep = self.PatchObject(
+ dependency_service,
+ 'GetBuildDependency',
+ return_value=(self.json_deps, self.json_deps))
+ pkg_mock = 'package-CPV'
+ pkg_to_cpv = self.PatchObject(
+ controller_util,
+ 'PackageInfoToCPV', return_value=pkg_mock)
+ package = common_pb2.PackageInfo(
+ package_name='chromeos-chrome', category='chromeos-base')
+ input_proto = depgraph_pb2.GetBuildDependencyGraphRequest(
+ build_target=common_pb2.BuildTarget(name='target'),
+ packages=[package]
+ )
+ dependency.GetBuildDependencyGraph(input_proto, self.response,
+ self.api_config)
+ self.assertEqual(self.response.dep_graph.build_target.name, 'deathstar')
+ pkg_to_cpv.assert_called_once_with(package)
+ get_dep.assert_called_once_with('target', [pkg_mock])
+
def testValidateOnly(self):
"""Sanity check that a validate only call does not execute any logic."""
patch = self.PatchObject(dependency_service, 'GetBuildDependency')