17db96d56Sopenharmony_ciimport sys 27db96d56Sopenharmony_ciimport unittest 37db96d56Sopenharmony_ci 47db96d56Sopenharmony_cifrom . import fixtures 57db96d56Sopenharmony_cifrom importlib.metadata import ( 67db96d56Sopenharmony_ci PackageNotFoundError, 77db96d56Sopenharmony_ci distribution, 87db96d56Sopenharmony_ci distributions, 97db96d56Sopenharmony_ci entry_points, 107db96d56Sopenharmony_ci files, 117db96d56Sopenharmony_ci version, 127db96d56Sopenharmony_ci) 137db96d56Sopenharmony_ci 147db96d56Sopenharmony_ci 157db96d56Sopenharmony_ciclass TestZip(fixtures.ZipFixtures, unittest.TestCase): 167db96d56Sopenharmony_ci def setUp(self): 177db96d56Sopenharmony_ci super().setUp() 187db96d56Sopenharmony_ci self._fixture_on_path('example-21.12-py3-none-any.whl') 197db96d56Sopenharmony_ci 207db96d56Sopenharmony_ci def test_zip_version(self): 217db96d56Sopenharmony_ci self.assertEqual(version('example'), '21.12') 227db96d56Sopenharmony_ci 237db96d56Sopenharmony_ci def test_zip_version_does_not_match(self): 247db96d56Sopenharmony_ci with self.assertRaises(PackageNotFoundError): 257db96d56Sopenharmony_ci version('definitely-not-installed') 267db96d56Sopenharmony_ci 277db96d56Sopenharmony_ci def test_zip_entry_points(self): 287db96d56Sopenharmony_ci scripts = entry_points(group='console_scripts') 297db96d56Sopenharmony_ci entry_point = scripts['example'] 307db96d56Sopenharmony_ci self.assertEqual(entry_point.value, 'example:main') 317db96d56Sopenharmony_ci entry_point = scripts['Example'] 327db96d56Sopenharmony_ci self.assertEqual(entry_point.value, 'example:main') 337db96d56Sopenharmony_ci 347db96d56Sopenharmony_ci def test_missing_metadata(self): 357db96d56Sopenharmony_ci self.assertIsNone(distribution('example').read_text('does not exist')) 367db96d56Sopenharmony_ci 377db96d56Sopenharmony_ci def test_case_insensitive(self): 387db96d56Sopenharmony_ci self.assertEqual(version('Example'), '21.12') 397db96d56Sopenharmony_ci 407db96d56Sopenharmony_ci def test_files(self): 417db96d56Sopenharmony_ci for file in files('example'): 427db96d56Sopenharmony_ci path = str(file.dist.locate_file(file)) 437db96d56Sopenharmony_ci assert '.whl/' in path, path 447db96d56Sopenharmony_ci 457db96d56Sopenharmony_ci def test_one_distribution(self): 467db96d56Sopenharmony_ci dists = list(distributions(path=sys.path[:1])) 477db96d56Sopenharmony_ci assert len(dists) == 1 487db96d56Sopenharmony_ci 497db96d56Sopenharmony_ci 507db96d56Sopenharmony_ciclass TestEgg(TestZip): 517db96d56Sopenharmony_ci def setUp(self): 527db96d56Sopenharmony_ci super().setUp() 537db96d56Sopenharmony_ci self._fixture_on_path('example-21.12-py3.6.egg') 547db96d56Sopenharmony_ci 557db96d56Sopenharmony_ci def test_files(self): 567db96d56Sopenharmony_ci for file in files('example'): 577db96d56Sopenharmony_ci path = str(file.dist.locate_file(file)) 587db96d56Sopenharmony_ci assert '.egg/' in path, path 597db96d56Sopenharmony_ci 607db96d56Sopenharmony_ci def test_normalized_name(self): 617db96d56Sopenharmony_ci dist = distribution('example') 627db96d56Sopenharmony_ci assert dist._normalized_name == 'example' 63