portage_util: refactor SplitCPV to parse
Refactor SplitCPV to parse in BestVisible and FindPackageNameMatches.
Fix usages of those functions to expect a PackageInfo object rather
than a CPV.
BUG=b:187792048
TEST=run_tests
Change-Id: Ib522154cb22ed2b5a16d7ce77b888f55548baff8
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/3154283
Commit-Queue: Alex Klein <saklein@chromium.org>
Tested-by: Alex Klein <saklein@chromium.org>
Reviewed-by: Sergey Frolov <sfrolov@google.com>
Reviewed-by: Chris McDonald <cjmcdonald@chromium.org>
diff --git a/api/controller/packages_unittest.py b/api/controller/packages_unittest.py
index ee4e059..7834b24 100644
--- a/api/controller/packages_unittest.py
+++ b/api/controller/packages_unittest.py
@@ -237,17 +237,17 @@
def testSuccess(self):
"""Test overall success, argument handling, result forwarding."""
- cpv = package_info.SplitCPV('category/package-1.2.3.4', strict=False)
- self.PatchObject(packages_service, 'get_best_visible', return_value=cpv)
+ pkg = package_info.PackageInfo('category', 'package', '1.2.3.4', 5)
+ self.PatchObject(packages_service, 'get_best_visible', return_value=pkg)
- request = self._GetRequest(atom='chromeos-chrome')
+ request = self._GetRequest(atom='category/package')
packages_controller.GetBestVisible(request, self.response, self.api_config)
package_info_msg = self.response.package_info
- self.assertEqual(package_info_msg.category, cpv.category)
- self.assertEqual(package_info_msg.package_name, cpv.package)
- self.assertEqual(package_info_msg.version, cpv.version)
+ self.assertEqual(package_info_msg.category, pkg.category)
+ self.assertEqual(package_info_msg.package_name, pkg.package)
+ self.assertEqual(package_info_msg.version, pkg.vr)
class GetChromeVersion(cros_test_lib.MockTestCase, ApiConfigMixin):