scm unit test, partial
This commit is contained in:
parent
950d6cc4ed
commit
dd87bd39e3
2 changed files with 67 additions and 1 deletions
|
|
@ -225,7 +225,7 @@ class SCM(object):
|
|||
if self.scheme in schemes:
|
||||
self.scmtype = scmtype
|
||||
break
|
||||
else:
|
||||
else: # pragma: no cover
|
||||
# should never happen
|
||||
raise koji.GenericError('Invalid SCM URL: %s' % url)
|
||||
|
||||
|
|
|
|||
66
tests/test_scm.py
Normal file
66
tests/test_scm.py
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
import mock
|
||||
import unittest
|
||||
|
||||
import logging
|
||||
import koji
|
||||
|
||||
from koji.daemon import SCM
|
||||
|
||||
|
||||
class TestSCM(unittest.TestCase):
|
||||
|
||||
def test_urlcheck(self):
|
||||
good = [
|
||||
"git://server/foo.git#bab0c73900241ef5c465d7e873e9d8b34c948e67",
|
||||
"git+ssh://server2/other/path#bab0c73900241ef5c465d7e873e9d8b34c948e67",
|
||||
"svn://server/path/to/code#bab0c73900241ef5c465d7e873e9d8b34c948e67",
|
||||
"svn+ssh://server/some/path#bab0c73900241ef5c465d7e873e9d8b34c948e67",
|
||||
"cvs://server/some/path#bab0c73900241ef5c465d7e873e9d8b34c948e67",
|
||||
"cvs+ssh://server/some/path#bab0c73900241ef5c465d7e873e9d8b34c948e67",
|
||||
]
|
||||
bad = [
|
||||
"http://localhost/foo.html",
|
||||
"foo-1.1-1.src.rpm",
|
||||
"https://server/foo-1.1-1.src.rpm",
|
||||
]
|
||||
for url in good:
|
||||
self.assertTrue(SCM.is_scm_url(url))
|
||||
for url in bad:
|
||||
self.assertFalse(SCM.is_scm_url(url))
|
||||
|
||||
@mock.patch('logging.getLogger')
|
||||
def test_init(self, getLogger):
|
||||
bad = [
|
||||
"git://user@@server/foo.git#bab0c73900241ef5c465d7e873e9d8b34c948e67",
|
||||
"git://user:pass@server/foo.git#bab0c73900241ef5c465d7e873e9d8b34c948e67",
|
||||
"git://server/foo.git?params=not_allowed",
|
||||
"git://server#asdasd", # no path
|
||||
"git://server/foo.git", # no fragment
|
||||
"http://localhost/foo.html",
|
||||
"foo-1.1-1.src.rpm",
|
||||
"https://server/foo-1.1-1.src.rpm",
|
||||
]
|
||||
for url in bad:
|
||||
print url
|
||||
try:
|
||||
#with self.assertRaises(koji.GenericError):
|
||||
scm = SCM(url)
|
||||
except koji.GenericError, e:
|
||||
print e
|
||||
else:
|
||||
raise Exception("fucked")
|
||||
|
||||
url = "git://user@server/foo.git#bab0c73900241ef5c465d7e873e9d8b34c948e67"
|
||||
scm = SCM(url)
|
||||
self.assertEqual(scm.scheme, 'git://')
|
||||
self.assertEqual(scm.user, 'user')
|
||||
self.assertEqual(scm.host, 'server')
|
||||
self.assertEqual(scm.repository, '/foo.git')
|
||||
self.assertEqual(scm.module, '')
|
||||
self.assertEqual(scm.revision, 'bab0c73900241ef5c465d7e873e9d8b34c948e67')
|
||||
self.assertEqual(scm.use_common, True)
|
||||
self.assertEqual(scm.source_cmd, ['make', 'sources'])
|
||||
self.assertEqual(scm.scmtype, 'GIT')
|
||||
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue