123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- from collections import namedtuple
- import json
- import os
- import unittest
- from yarg.package import json2package
- class TestPackage(unittest.TestCase):
- def setUp(self):
- package = os.path.join(os.path.dirname(__file__),
- 'package.json')
- self.json = json.loads(open(package).read())
- self.package = json2package(open(package).read())
- def test_repr(self):
- self.assertEquals(u'<Package yarg>', self.package.__repr__())
- def test_name(self):
- self.assertEquals(u'yarg', self.package.name)
- def test_pypi_url(self):
- self.assertEquals(u'http://pypi.python.org/pypi/yarg',
- self.package.pypi_url)
- def test_summary(self):
- self.assertEquals(u'This is the short summary.', self.package.summary)
- def test_description(self):
- self.assertEquals(u'This is the long description.',
- self.package.description)
- def test_homepage(self):
- self.assertEquals(u'https://kura.io/yarg/',
- self.package.homepage)
- def test_bugtracker(self):
- self.assertEquals(u'https://github.com/kura/yarg/issues',
- self.package.bugtracker)
- def test_docs(self):
- self.assertEquals(u'http://yarg.readthedocs.org/',
- self.package.docs)
- def test_author(self):
- author = namedtuple('Author', 'name email')
- self.assertEquals(author(name='Kura', email='kura@kura.io'),
- self.package.author)
- def test_maintainer(self):
- maintainer = namedtuple('Maintainer', 'name email')
- self.assertEquals(maintainer(name='Kura', email='kura@kura.io'),
- self.package.maintainer)
- def test_license(self):
- self.assertEquals(u'MIT',
- self.package.license)
- def test_license_from_classifiers(self):
- self.assertEquals(u'MIT License',
- self.package.license_from_classifiers)
- def test_downloads(self):
- downloads = namedtuple('Downloads', 'day week month')
- self.assertEquals(downloads(day=34001, week=72700, month=510000),
- self.package.downloads)
- def test_classifiers(self):
- self.assertEquals([u'Development Status :: 5 - Production/Stable',
- u'Intended Audience :: Developers',
- u'License :: OSI Approved :: MIT License',
- u'Programming Language :: Python',
- u'Programming Language :: Python :: 2.6',
- u'Programming Language :: Python :: 2.7',
- u'Programming Language :: Python :: 3',
- u'Programming Language :: Python :: 3.1',
- u'Programming Language :: Python :: 3.2',
- u'Programming Language :: Python :: 3.3',
- u'Programming Language :: Python :: Implementation :: CPython',
- u'Programming Language :: Python :: Implementation :: PyPy'],
- self.package.classifiers)
- def test_release_ids(self):
- self.assertEquals([u'0.0.0', u'0.0.2', u'0.0.15'],
- self.package.release_ids)
- def test_latest_release_id(self):
- self.assertEquals(u'0.0.15', self.package.latest_release_id)
- def test_has_wheel(self):
- self.assertEquals(True, self.package.has_wheel)
- def test_has_egg(self):
- self.assertEquals(False, self.package.has_egg)
- def test_has_source(self):
- self.assertEquals(True, self.package.has_source)
- def test_python_versions(self):
- self.assertEquals([u'2.6', u'2.7', u'3.1', u'3.2', u'3.3'],
- self.package.python_versions)
- def test_python_implementations(self):
- self.assertEquals([u'CPython', u'PyPy'],
- self.package.python_implementations)
- class TestPackageMissingData(unittest.TestCase):
- def setUp(self):
- package = os.path.join(os.path.dirname(__file__),
- 'package_no_homepage_bugtrack_one_release.json')
- self.json = json.loads(open(package).read())
- self.package = json2package(open(package).read())
- def test_homepage(self):
- self.assertEquals(None, self.package.homepage)
- def test_bugtracker(self):
- self.assertEquals(None, self.package.bugtracker)
- def test_docs(self):
- self.assertEquals(None, self.package.docs)
- def test_latest_release_id(self):
- self.assertEquals(u'0.0.0', self.package.latest_release_id)
- def test_has_wheel(self):
- self.assertEquals(False, self.package.has_wheel)
- def test_has_egg(self):
- self.assertEquals(True, self.package.has_egg)
- def test_has_source(self):
- self.assertEquals(False, self.package.has_source)
|