dependency: Expand List endpoint to return reverse deps.

List endpoint has option to also include reverse dependencies of the
relevant packages.

BUG=chromium:1149921
TEST=pytest

Change-Id: I3361a0bb2c179743cb0ac6033f2b8ba2812d446f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/2816407
Commit-Queue: Navil Perez <navil@google.com>
Tested-by: Navil Perez <navil@google.com>
Reviewed-by: Michael Mortensen <mmortensen@google.com>
diff --git a/api/controller/dependency_unittest.py b/api/controller/dependency_unittest.py
index 36e1ffa..f387150 100644
--- a/api/controller/dependency_unittest.py
+++ b/api/controller/dependency_unittest.py
@@ -136,7 +136,7 @@
     get_dep.assert_called_once_with('/build/target', 'target', (pkg_mock,))
 
   def testValidateOnly(self):
-    """Sanity check that a validate only call does not execute any logic."""
+    """Test that a validate only call does not execute any logic."""
     patch = self.PatchObject(dependency_service, 'GetBuildDependency')
     input_proto = depgraph_pb2.GetBuildDependencyGraphRequest()
     input_proto.build_target.name = 'target'
@@ -165,7 +165,7 @@
     osutils.SafeMakedirs(self.sysroot)
 
   def testValidateOnly(self):
-    """Sanity check that a validate only call does not execute any logic."""
+    """Test that a validate only call does not execute any logic."""
     sysroot = sysroot_pb2.Sysroot(
         path=self.sysroot, build_target=self.build_target)
     input_proto = depgraph_pb2.ListRequest(sysroot=sysroot)
@@ -186,6 +186,16 @@
     with self.assertRaises(cros_build_lib.DieSystemExit):
       dependency.List(input_proto, self.response, self.api_config)
 
+  def testDefaultArguments(self):
+    """Test with default arguments."""
+    sysroot = sysroot_pb2.Sysroot(
+        path=self.sysroot, build_target=self.build_target)
+    input_proto = depgraph_pb2.ListRequest(sysroot=sysroot)
+    mock_get_deps = self.PatchObject(dependency_service, 'GetDependencies')
+    dependency.List(input_proto, self.response, self.api_config)
+    mock_get_deps.assert_called_once_with(
+        self.sysroot, src_paths=[], packages=[], include_rev_dependencies=False)
+
   def testListResponse(self):
     """Test calls helper method with correct args."""
     sysroot = sysroot_pb2.Sysroot(
@@ -207,7 +217,8 @@
         src_paths=[
             depgraph_pb2.SourcePath(path=path),
         ],
-        packages=[input_package_info_proto])
+        packages=[input_package_info_proto],
+        include_rev_deps=True)
     dependency.List(input_proto, self.response, self.api_config)
     mock_get_deps.assert_called_once_with(
         self.sysroot,