Refactor test_prepare_trigger to make it easier to add tests
This commit is contained in:
parent
6673266328
commit
1bba472c14
1 changed files with 22 additions and 54 deletions
|
@ -9,10 +9,19 @@ from buildtrigger.githubhandler import get_transformed_webhook_payload as gh_web
|
||||||
from buildtrigger.gitlabhandler import get_transformed_webhook_payload as gl_webhook
|
from buildtrigger.gitlabhandler import get_transformed_webhook_payload as gl_webhook
|
||||||
|
|
||||||
class TestPrepareTrigger(unittest.TestCase):
|
class TestPrepareTrigger(unittest.TestCase):
|
||||||
def test_bitbucket_customer_payload_noauthor(self):
|
def assertSchema(self, filename, expected, processor, *args, **kwargs):
|
||||||
with open('test/triggerjson/bitbucket_customer_example_noauthor.json') as f:
|
with open('test/triggerjson/%s.json' % filename) as f:
|
||||||
payload = json.loads(f.read())
|
payload = json.loads(f.read())
|
||||||
|
|
||||||
|
nargs = [payload]
|
||||||
|
nargs.extend(args)
|
||||||
|
|
||||||
|
created = processor(*nargs, **kwargs)
|
||||||
|
self.assertEquals(expected, created)
|
||||||
|
validate(created, METADATA_SCHEMA)
|
||||||
|
|
||||||
|
|
||||||
|
def test_bitbucket_customer_payload_noauthor(self):
|
||||||
expected = {
|
expected = {
|
||||||
"commit": "a0ec139843b2bb281ab21a433266ddc498e605dc",
|
"commit": "a0ec139843b2bb281ab21a433266ddc498e605dc",
|
||||||
"ref": "refs/heads/master",
|
"ref": "refs/heads/master",
|
||||||
|
@ -29,15 +38,10 @@ class TestPrepareTrigger(unittest.TestCase):
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
created = bb_webhook(payload)
|
self.assertSchema('bitbucket_customer_example_noauthor', expected, bb_webhook)
|
||||||
self.assertEquals(expected, created)
|
|
||||||
validate(created, METADATA_SCHEMA)
|
|
||||||
|
|
||||||
|
|
||||||
def test_bitbucket_customer_payload_tag(self):
|
def test_bitbucket_customer_payload_tag(self):
|
||||||
with open('test/triggerjson/bitbucket_customer_example_tag.json') as f:
|
|
||||||
payload = json.loads(f.read())
|
|
||||||
|
|
||||||
expected = {
|
expected = {
|
||||||
"commit": "a0ec139843b2bb281ab21a433266ddc498e605dc",
|
"commit": "a0ec139843b2bb281ab21a433266ddc498e605dc",
|
||||||
"ref": "refs/tags/0.1.2",
|
"ref": "refs/tags/0.1.2",
|
||||||
|
@ -54,15 +58,10 @@ class TestPrepareTrigger(unittest.TestCase):
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
created = bb_webhook(payload)
|
self.assertSchema('bitbucket_customer_example_tag', expected, bb_webhook)
|
||||||
self.assertEquals(expected, created)
|
|
||||||
validate(created, METADATA_SCHEMA)
|
|
||||||
|
|
||||||
|
|
||||||
def test_bitbucket_commit(self):
|
def test_bitbucket_commit(self):
|
||||||
with open('test/triggerjson/bitbucket_commit.json') as f:
|
|
||||||
commit = json.loads(f.read())
|
|
||||||
|
|
||||||
ref = 'refs/heads/somebranch'
|
ref = 'refs/heads/somebranch'
|
||||||
default_branch = 'somebranch'
|
default_branch = 'somebranch'
|
||||||
repository_name = 'foo/bar'
|
repository_name = 'foo/bar'
|
||||||
|
@ -92,15 +91,10 @@ class TestPrepareTrigger(unittest.TestCase):
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
created = bb_commit(commit, ref, default_branch, repository_name, lookup_author)
|
self.assertSchema('bitbucket_commit', expected, bb_commit, ref, default_branch,
|
||||||
self.assertEquals(expected, created)
|
repository_name, lookup_author)
|
||||||
validate(created, METADATA_SCHEMA)
|
|
||||||
|
|
||||||
|
|
||||||
def test_bitbucket_webhook_payload(self):
|
def test_bitbucket_webhook_payload(self):
|
||||||
with open('test/triggerjson/bitbucket_webhook.json') as f:
|
|
||||||
payload = json.loads(f.read())
|
|
||||||
|
|
||||||
expected = {
|
expected = {
|
||||||
"commit": u"af64ae7188685f8424040b4735ad12941b980d75",
|
"commit": u"af64ae7188685f8424040b4735ad12941b980d75",
|
||||||
"ref": u"refs/heads/master",
|
"ref": u"refs/heads/master",
|
||||||
|
@ -122,15 +116,10 @@ class TestPrepareTrigger(unittest.TestCase):
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
created = bb_webhook(payload)
|
self.assertSchema('bitbucket_webhook', expected, bb_webhook)
|
||||||
self.assertEquals(expected, created)
|
|
||||||
validate(created, METADATA_SCHEMA)
|
|
||||||
|
|
||||||
|
|
||||||
def test_github_webhook_payload(self):
|
def test_github_webhook_payload(self):
|
||||||
with open('test/triggerjson/github_webhook.json') as f:
|
|
||||||
payload = json.loads(f.read())
|
|
||||||
|
|
||||||
expected = {
|
expected = {
|
||||||
'commit': u'410f4cdf8ff09b87f245b13845e8497f90b90a4c',
|
'commit': u'410f4cdf8ff09b87f245b13845e8497f90b90a4c',
|
||||||
'ref': u'refs/heads/master',
|
'ref': u'refs/heads/master',
|
||||||
|
@ -148,15 +137,10 @@ class TestPrepareTrigger(unittest.TestCase):
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
created = gh_webhook(payload)
|
self.assertSchema('github_webhook', expected, gh_webhook)
|
||||||
self.assertEquals(expected, created)
|
|
||||||
validate(created, METADATA_SCHEMA)
|
|
||||||
|
|
||||||
|
|
||||||
def test_github_webhook_payload_with_lookup(self):
|
def test_github_webhook_payload_with_lookup(self):
|
||||||
with open('test/triggerjson/github_webhook.json') as f:
|
|
||||||
payload = json.loads(f.read())
|
|
||||||
|
|
||||||
expected = {
|
expected = {
|
||||||
'commit': u'410f4cdf8ff09b87f245b13845e8497f90b90a4c',
|
'commit': u'410f4cdf8ff09b87f245b13845e8497f90b90a4c',
|
||||||
'ref': u'refs/heads/master',
|
'ref': u'refs/heads/master',
|
||||||
|
@ -184,15 +168,10 @@ class TestPrepareTrigger(unittest.TestCase):
|
||||||
'avatar_url': 'http://some/avatar/url'
|
'avatar_url': 'http://some/avatar/url'
|
||||||
}
|
}
|
||||||
|
|
||||||
created = gh_webhook(payload, lookup_user=lookup_user)
|
self.assertSchema('github_webhook', expected, gh_webhook, lookup_user=lookup_user)
|
||||||
self.assertEquals(expected, created)
|
|
||||||
validate(created, METADATA_SCHEMA)
|
|
||||||
|
|
||||||
|
|
||||||
def test_gitlab_webhook_payload(self):
|
def test_gitlab_webhook_payload(self):
|
||||||
with open('test/triggerjson/gitlab_webhook.json') as f:
|
|
||||||
payload = json.loads(f.read())
|
|
||||||
|
|
||||||
expected = {
|
expected = {
|
||||||
'commit': u'fb88379ee45de28a0a4590fddcbd8eff8b36026e',
|
'commit': u'fb88379ee45de28a0a4590fddcbd8eff8b36026e',
|
||||||
'ref': u'refs/heads/master',
|
'ref': u'refs/heads/master',
|
||||||
|
@ -204,15 +183,10 @@ class TestPrepareTrigger(unittest.TestCase):
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
created = gl_webhook(payload)
|
self.assertSchema('gitlab_webhook', expected, gl_webhook)
|
||||||
self.assertEquals(expected, created)
|
|
||||||
validate(created, METADATA_SCHEMA)
|
|
||||||
|
|
||||||
|
|
||||||
def test_github_webhook_payload_missing_fields(self):
|
def test_github_webhook_payload_missing_fields(self):
|
||||||
with open('test/triggerjson/github_webhook_missing.json') as f:
|
|
||||||
payload = json.loads(f.read())
|
|
||||||
|
|
||||||
expected = {
|
expected = {
|
||||||
'commit': u'410f4cdf8ff09b87f245b13845e8497f90b90a4c',
|
'commit': u'410f4cdf8ff09b87f245b13845e8497f90b90a4c',
|
||||||
'ref': u'refs/heads/master',
|
'ref': u'refs/heads/master',
|
||||||
|
@ -224,15 +198,10 @@ class TestPrepareTrigger(unittest.TestCase):
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
created = gh_webhook(payload)
|
self.assertSchema('github_webhook_missing', expected, gh_webhook)
|
||||||
self.assertEquals(expected, created)
|
|
||||||
validate(created, METADATA_SCHEMA)
|
|
||||||
|
|
||||||
|
|
||||||
def test_gitlab_webhook_payload_with_lookup(self):
|
def test_gitlab_webhook_payload_with_lookup(self):
|
||||||
with open('test/triggerjson/gitlab_webhook.json') as f:
|
|
||||||
payload = json.loads(f.read())
|
|
||||||
|
|
||||||
expected = {
|
expected = {
|
||||||
'commit': u'fb88379ee45de28a0a4590fddcbd8eff8b36026e',
|
'commit': u'fb88379ee45de28a0a4590fddcbd8eff8b36026e',
|
||||||
'ref': u'refs/heads/master',
|
'ref': u'refs/heads/master',
|
||||||
|
@ -256,9 +225,8 @@ class TestPrepareTrigger(unittest.TestCase):
|
||||||
'avatar_url': 'http://some/avatar/url',
|
'avatar_url': 'http://some/avatar/url',
|
||||||
}
|
}
|
||||||
|
|
||||||
created = gl_webhook(payload, lookup_user=lookup_user)
|
self.assertSchema('gitlab_webhook', expected, gl_webhook, lookup_user=lookup_user)
|
||||||
self.assertEquals(expected, created)
|
|
||||||
validate(created, METADATA_SCHEMA)
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main()
|
unittest.main()
|
Reference in a new issue