Skip to content

Commit

Permalink
Add tests for the details urls
Browse files Browse the repository at this point in the history
I decided to allow trailing slashes for now because they seem to work
internally (at least thos package seem to be installable) and quite a
few use it.
  • Loading branch information
FichteFoll committed Mar 8, 2014
1 parent cf924e5 commit ca8f534
Showing 1 changed file with 23 additions and 4 deletions.
27 changes: 23 additions & 4 deletions tests/test.py
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,16 @@ class TestContainer(object):
'labels': list
}

d_reg = r'''^ (https:// github\.com/ [^/]+/ [^/]+ (/tree/ .+ (?<!/)
|/tags
|/)?
|https:// bitbucket\.org/ [^/]+/ [^/]+ (/src/ .+ (?<!/)
|\#tags
|/)?
) $'''
# Strip multilines for better debug info on failures
details_regex = re.compile(' '.join(d_reg.split()), re.X)

def _test_repository_keys(self, include, data):
self.assertTrue(2 <= len(data) <= 3, "Unexpected number of keys")
self.assertIn('schema_version', data)
Expand Down Expand Up @@ -182,10 +192,14 @@ def _test_package(self, include, data):
self.assertIn(k, self.package_key_types_map)
self.assertIsInstance(v, self.package_key_types_map[k], k)

if k in ('details', 'homepage', 'readme', 'issues', 'donate',
'buy'):
if k in ('homepage', 'readme', 'issues', 'donate', 'buy'):
self.assertRegex(v, '^https?://')

if k == 'details':
self.assertRegex(v, self.details_regex,
'The details url is badly formatted or '
'invalid')

# Test for invalid characters (on file systems)
if k == 'name':
# Invalid on Windows (and sometimes problematic on UNIX)
Expand Down Expand Up @@ -233,8 +247,13 @@ def _test_release(self, package_name, data, main_repo=True):
if k == 'date':
self.assertRegex(v, r"^\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d$")

if k in ('details', 'url'):
self.assertRegex(v, '^https?://')
if k == 'url':
self.assertRegex(v, r'^https?://')

if k == 'details':
self.assertRegex(v, self.details_regex,
'The details url is badly formatted or '
'invalid')

if k == 'sublime_text':
self.assertRegex(v, '^(\*|<=?\d{4}|>=?\d{4})$',
Expand Down

0 comments on commit ca8f534

Please sign in to comment.