1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
|
import unittest
class Test_get_metadata(unittest.TestCase):
def _callFUT(self, path, metadata_version=None):
from pkginfo.utils import get_metadata
if metadata_version is not None:
return get_metadata(path, metadata_version)
return get_metadata(path)
def _checkMyPackage(self, dist, filename):
self.assertEqual(dist.filename, filename)
self.assertEqual(dist.name, 'mypackage')
self.assertEqual(dist.version, '0.1')
self.assertEqual(dist.keywords, None)
self.assertEqual(list(dist.supported_platforms), [])
def _checkClassifiers(self, dist):
self.assertEqual(list(dist.classifiers),
['Development Status :: 4 - Beta',
'Environment :: Console (Text Based)',
])
def test_w_gztar(self):
import os
d, _ = os.path.split(__file__)
filename = '%s/../../docs/examples/mypackage-0.1.tar.gz' % d
dist = self._callFUT(filename)
self.assertEqual(dist.metadata_version, '1.0')
self._checkMyPackage(dist, filename)
def test_w_gztar_and_metadata_version(self):
import os
d, _ = os.path.split(__file__)
filename = '%s/../../docs/examples/mypackage-0.1.tar.gz' % d
dist = self._callFUT(filename, metadata_version='1.1')
self.assertEqual(dist.metadata_version, '1.1')
self._checkMyPackage(dist, filename)
self._checkClassifiers(dist)
def test_w_bztar(self):
import os
d, _ = os.path.split(__file__)
filename = '%s/../../docs/examples/mypackage-0.1.tar.bz2' % d
dist = self._callFUT(filename)
self.assertEqual(dist.metadata_version, '1.0')
self._checkMyPackage(dist, filename)
def test_w_bztar_and_metadata_version(self):
import os
d, _ = os.path.split(__file__)
filename = '%s/../../docs/examples/mypackage-0.1.tar.bz2' % d
dist = self._callFUT(filename, metadata_version='1.1')
self.assertEqual(dist.metadata_version, '1.1')
self._checkMyPackage(dist, filename)
self._checkClassifiers(dist)
def test_w_zip(self):
import os
d, _ = os.path.split(__file__)
filename = '%s/../../docs/examples/mypackage-0.1.zip' % d
dist = self._callFUT(filename)
self.assertEqual(dist.metadata_version, '1.0')
self._checkMyPackage(dist, filename)
def test_w_zip_and_metadata_version(self):
import os
d, _ = os.path.split(__file__)
filename = '%s/../../docs/examples/mypackage-0.1.zip' % d
dist = self._callFUT(filename, metadata_version='1.1')
self.assertEqual(dist.metadata_version, '1.1')
self._checkMyPackage(dist, filename)
self._checkClassifiers(dist)
def test_w_egg(self):
import os
d, _ = os.path.split(__file__)
filename = '%s/../../docs/examples/mypackage-0.1-py2.6.egg' % d
dist = self._callFUT(filename)
self.assertEqual(dist.metadata_version, '1.0')
self._checkMyPackage(dist, filename)
def test_w_egg_and_metadata_version(self):
import os
d, _ = os.path.split(__file__)
filename = '%s/../../docs/examples/mypackage-0.1-py2.6.egg' % d
dist = self._callFUT(filename, metadata_version='1.1')
self.assertEqual(dist.metadata_version, '1.1')
self._checkMyPackage(dist, filename)
self._checkClassifiers(dist)
def test_w_module(self):
from pkginfo.tests import _defaultMetadataVersion
EXPECTED = _defaultMetadataVersion()
import pkginfo
from pkginfo.tests import _checkSample
dist = self._callFUT(pkginfo)
self.assertEqual(dist.metadata_version, EXPECTED)
_checkSample(self, dist)
def test_w_module_and_metadata_version(self):
import pkginfo
from pkginfo.tests import _checkSample
from pkginfo.tests import _checkClassifiers
dist = self._callFUT(pkginfo, metadata_version='1.2')
self.assertEqual(dist.metadata_version, '1.2')
_checkSample(self, dist)
_checkClassifiers(self, dist)
def test_w_package_name(self):
from pkginfo.tests import _defaultMetadataVersion
EXPECTED = _defaultMetadataVersion()
from pkginfo.tests import _checkSample
dist = self._callFUT('pkginfo')
self.assertEqual(dist.metadata_version, EXPECTED)
_checkSample(self, dist)
def test_w_package_name_and_metadata_version(self):
from pkginfo.tests import _checkSample
from pkginfo.tests import _checkClassifiers
dist = self._callFUT('pkginfo', metadata_version='1.2')
self.assertEqual(dist.metadata_version, '1.2')
_checkSample(self, dist)
_checkClassifiers(self, dist)
def test_w_directory_no_EGG_INFO(self):
import os
import warnings
dir, name = os.path.split(__file__)
subdir = os.path.join(dir, 'funny')
old_filters = warnings.filters[:]
warnings.filterwarnings('ignore')
try:
dist = self._callFUT(subdir)
self.assertEqual(dist.path, subdir)
self.assertEqual(dist.name, None)
self.assertEqual(dist.version, None)
finally:
warnings.filters[:] = old_filters
def test_w_directory(self):
import os
dir, name = os.path.split(__file__)
subdir = os.path.join(dir, 'silly')
dist = self._callFUT(subdir)
self.assertEqual(dist.metadata_version, '1.0')
self.assertEqual(dist.name, 'silly')
self.assertEqual(dist.version, '0.1')
def test_w_directory_and_metadata_version(self):
import os
dir, name = os.path.split(__file__)
subdir = os.path.join(dir, 'silly')
dist = self._callFUT(subdir, metadata_version='1.2')
self.assertEqual(dist.metadata_version, '1.2')
self.assertEqual(dist.name, 'silly')
self.assertEqual(dist.version, '0.1')
|