def testListResponse(self):
   """Test calls helper method with correct args."""
   mock_get_deps = self.PatchObject(
       dependency_service, 'GetDependencies', return_value=['foo/bar-1.2.3'])
   sysroot = sysroot_pb2.Sysroot(
       path=self.sysroot, build_target=self.build_target)
   path = '/path'
   package = common_pb2.PackageInfo(category='foo', package_name='bar')
   input_proto = depgraph_pb2.ListRequest(
       sysroot=sysroot,
       src_paths=[
           depgraph_pb2.SourcePath(path='/path'),
       ],
       packages=[package])
   dependency.List(input_proto, self.response, self.api_config)
   mock_get_deps.assert_called_once_with(
       self.sysroot,
       build_target=controller_util.ParseBuildTarget(self.build_target),
       src_paths=[path],
       packages=[controller_util.PackageInfoToCPV(package)])
   expected_deps = [
       common_pb2.PackageInfo(
           category='foo', package_name='bar', version='1.2.3')
   ]
   self.assertCountEqual(expected_deps, self.response.package_deps)
Exemple #2
0
    def testNoPackageName(self):
        """Test no package name given."""
        pi = common_pb2.PackageInfo()
        pi.category = 'cat'
        pi.version = '2.0.0'

        self.assertIsNone(controller_util.PackageInfoToCPV(pi))
Exemple #3
0
    def testPackageOnly(self):
        """Test no version provided."""
        pi = common_pb2.PackageInfo()
        pi.package_name = 'pkg'

        cpv_str = controller_util.PackageInfoToString(pi)

        self.assertEqual('pkg', cpv_str)
Exemple #4
0
def _GetBestVisibleResponse(_input_proto, output_proto, _config):
  """Add fake paths to a successful GetBestVisible response."""
  package_info = common_pb2.PackageInfo(
      category='category',
      package_name='name',
      version='1.01',
  )
  output_proto.package_info.CopyFrom(package_info)
Exemple #5
0
    def testPackageOnly(self):
        """Test handling when only given the package name."""
        pi = common_pb2.PackageInfo()
        cpv = portage_util.SplitCPV('pkg', strict=False)

        controller_util.CPVToPackageInfo(cpv, pi)
        self.assertEqual('', pi.category)
        self.assertEqual('pkg', pi.package_name)
        self.assertEqual('', pi.version)
Exemple #6
0
    def testNoVersion(self):
        """Test no version provided."""
        pi = common_pb2.PackageInfo()
        pi.package_name = 'pkg'
        pi.category = 'cat'

        cpv_str = controller_util.PackageInfoToString(pi)

        self.assertEqual('cat/pkg', cpv_str)
Exemple #7
0
    def testNoVersion(self):
        """Test handling when no version given."""
        pi = common_pb2.PackageInfo()
        cpv = portage_util.SplitCPV('cat/pkg', strict=False)

        controller_util.CPVToPackageInfo(cpv, pi)
        self.assertEqual('cat', pi.category)
        self.assertEqual('pkg', pi.package_name)
        self.assertEqual('', pi.version)
Exemple #8
0
    def testAllFields(self):
        """Test handling when all fields present."""
        pi = common_pb2.PackageInfo()
        cpv = portage_util.SplitCPV('cat/pkg-2.0.0', strict=False)

        controller_util.CPVToPackageInfo(cpv, pi)
        self.assertEqual('cat', pi.category)
        self.assertEqual('pkg', pi.package_name)
        self.assertEqual('2.0.0', pi.version)
Exemple #9
0
def GetBestVisible(input_proto, output_proto, _config):
  """Returns the best visible PackageInfo for the indicated atom."""
  build_target = None
  if input_proto.build_target.name:
    build_target = controller_util.ParseBuildTarget(input_proto.build_target)

  cpv = packages.get_best_visible(input_proto.atom, build_target=build_target)
  package_info = common_pb2.PackageInfo()
  controller_util.CPVToPackageInfo(cpv, package_info)
  output_proto.package_info.CopyFrom(package_info)
Exemple #10
0
    def testAllFields(self):
        """Test all fields present."""
        pi = common_pb2.PackageInfo()
        pi.package_name = 'pkg'
        pi.category = 'cat'
        pi.version = '2.0.0'

        cpv_str = controller_util.PackageInfoToString(pi)

        self.assertEqual('cat/pkg-2.0.0', cpv_str)
Exemple #11
0
    def testAllFields(self):
        """Quick sanity check it's working properly."""
        pi = common_pb2.PackageInfo()
        pi.package_name = 'pkg'
        pi.category = 'cat'
        pi.version = '2.0.0'

        cpv = controller_util.PackageInfoToCPV(pi)

        self.assertEqual('pkg', cpv.package)
        self.assertEqual('cat', cpv.category)
        self.assertEqual('2.0.0', cpv.version)
  def testBuildsChromeWithPackages(self):
    """Test successful call with packages handling."""
    patch = self.PatchObject(packages_service, 'builds', return_value=True)

    package = common_pb2.PackageInfo(
        category='category',
        package_name='name',
        version='1.01',
    )
    request = self._GetRequest(board='foo', packages=[package])
    packages_controller.BuildsChrome(request, self.response, self.api_config)
    self.assertTrue(self.response.builds_chrome)
    patch.assert_called_once_with(constants.CHROME_CP,
                                  build_target_lib.BuildTarget('foo'),
                                  [controller_util.PackageInfoToCPV(package)])
Exemple #13
0
    def _InputProto(self, build_target=None, chroot_path=None, pkg_list=None):
        """Helper to build and input proto instance."""
        # pkg_list will be a list of category/package strings such as
        # ['virtual/target-fuzzers'].
        if pkg_list:
            package_list = []
            for pkg in pkg_list:
                pkg_string_parts = pkg.split('/')
                package_info_msg = common_pb2.PackageInfo(
                    category=pkg_string_parts[0],
                    package_name=pkg_string_parts[1])
                package_list.append(package_info_msg)
        else:
            package_list = []

        return sysroot_pb2.SysrootGenerateArchiveRequest(
            build_target={'name': build_target},
            chroot={'path': chroot_path},
            packages=package_list)
 def testCallsCommandCorrectly(self):
     """Test that commands.MarkAndroidAsStable is called correctly."""
     self.input_proto.android_version = 'android-version'
     self.uprev.return_value = 'cat/android-1.2.3'
     atom = common_pb2.PackageInfo()
     atom.category = 'cat'
     atom.package_name = 'android'
     atom.version = '1.2.3'
     android.MarkStable(self.input_proto, self.response, self.api_config)
     self.uprev.assert_called_once_with(
         tracking_branch=self.input_proto.tracking_branch,
         android_package=self.input_proto.package_name,
         android_build_branch=self.input_proto.android_build_branch,
         chroot=mock.ANY,
         build_targets=self.build_targets,
         android_version=self.input_proto.android_version)
     self.assertEqual(self.response.android_atom, atom)
     self.assertEqual(self.response.status,
                      android_pb2.MARK_STABLE_STATUS_SUCCESS)
 def testHandlesPinnedUprevError(self):
     """Test that pinned error is handled correctly."""
     self.input_proto.android_version = 'android-version'
     self.uprev.side_effect = packages.AndroidIsPinnedUprevError(
         'pin/xx-1.1')
     atom = common_pb2.PackageInfo()
     atom.category = 'pin'
     atom.package_name = 'xx'
     atom.version = '1.1'
     android.MarkStable(self.input_proto, self.response, self.api_config)
     self.uprev.assert_called_once_with(
         tracking_branch=self.input_proto.tracking_branch,
         android_package=self.input_proto.package_name,
         android_build_branch=self.input_proto.android_build_branch,
         chroot=mock.ANY,
         build_targets=self.build_targets,
         android_version=self.input_proto.android_version)
     self.assertEqual(self.response.android_atom, atom)
     self.assertEqual(self.response.status,
                      android_pb2.MARK_STABLE_STATUS_PINNED)
 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('/build/target', 'target', (pkg_mock,))
Exemple #17
0
    def testNoPackageName(self):
        """Test no package name given."""
        pi = common_pb2.PackageInfo()

        with self.assertRaises(ValueError):
            controller_util.PackageInfoToString(pi)