def test_instantiation(self): PKG_INFO = os.path.join(os.path.dirname(__file__), 'PKG-INFO') fp = open(PKG_INFO) try: contents = fp.read() finally: fp.close() fp = StringIO(contents) m = DistributionMetadata() self.assertRaises(MetadataUnrecognizedVersionError, m.items) m = DistributionMetadata(PKG_INFO) self.assertEqual(len(m.items()), 22) m = DistributionMetadata(fileobj=fp) self.assertEqual(len(m.items()), 22) m = DistributionMetadata(mapping=dict(name='Test', version='1.0')) self.assertEqual(len(m.items()), 11) d = dict(m.items()) self.assertRaises(TypeError, DistributionMetadata, PKG_INFO, fileobj=fp) self.assertRaises(TypeError, DistributionMetadata, PKG_INFO, mapping=d) self.assertRaises(TypeError, DistributionMetadata, fileobj=fp, mapping=d) self.assertRaises(TypeError, DistributionMetadata, PKG_INFO, mapping=m, fileobj=fp)
def test_mapper_apis(self): PKG_INFO = os.path.join(os.path.dirname(__file__), 'PKG-INFO') content = open(PKG_INFO).read() content = content % sys.platform metadata = DistributionMetadata() metadata.read_file(StringIO(content)) self.assertIn('Version', metadata.keys()) self.assertIn('0.5', metadata.values()) self.assertIn(('Version', '0.5'), metadata.items())
def test_mapping_api(self): PKG_INFO = os.path.join(os.path.dirname(__file__), 'PKG-INFO') content = open(PKG_INFO).read() content = content % sys.platform metadata = DistributionMetadata(fileobj=StringIO(content)) self.assertIn('Version', metadata.keys()) self.assertIn('0.5', metadata.values()) self.assertIn(('Version', '0.5'), metadata.items()) metadata.update({'version': '0.6'}) self.assertEqual(metadata['Version'], '0.6') metadata.update([('version', '0.7')]) self.assertEqual(metadata['Version'], '0.7')