def test_simple(self): """Ensure the policy returns the highest version across a set of packages with the same name.""" r_candidates = [mkl_10_3_0.id, mkl_11_0_0.id] repository = Repository([mkl_10_3_0, mkl_11_0_0]) pool = Pool() pool.add_repository(repository) policy = DefaultPolicy() candidates = policy.prefered_package_ids(pool, {}, r_candidates) self.assertEqual(list(candidates), [mkl_11_0_0.id])
def test_simple_fulfilled_installed(self): """Ensure the policy returns the installed version first if it fulfills the requirement, even if higher versions are available.""" r_candidates = [mkl_10_3_0.id, mkl_11_0_0.id] repository = Repository([mkl_10_3_0, mkl_11_0_0]) pool = Pool() pool.add_repository(repository) policy = DefaultPolicy() candidates = policy.prefered_package_ids(pool, {mkl_10_3_0.id: mkl_10_3_0}, r_candidates) self.assertEqual(list(candidates), [mkl_10_3_0.id, mkl_11_0_0.id])
def test_simple_fulfilled_installed(self): """Ensure the policy returns the installed version first if it fulfills the requirement, even if higher versions are available.""" mkl_10_4_0 = P("mkl-10.4.0") remote_repository = Repository([self.mkl_10_3_0, self.mkl_11_0_0]) installed_repository = Repository([mkl_10_4_0]) pool = Pool([installed_repository, remote_repository]) policy = DefaultPolicy() queue = [p.id for p in [mkl_10_4_0, self.mkl_10_3_0, self.mkl_11_0_0]] candidates = policy.select_preferred_packages(pool, {}, queue) self.assertEqual(list(candidates), [self.mkl_11_0_0.id]) candidates = policy.prefered_package_ids(pool, {mkl_10_4_0.id: True}, queue) self.assertEqual(list(candidates), [mkl_10_4_0.id, self.mkl_11_0_0.id])