def test_poll_updated(self, storage, get_project_triggers, get_projdef): project_triggers = { "foo": git_poller.PollerEntry( git_poller.ProjectTrigger(12, "t", "proj", "user", 1) ), } get_project_triggers.return_value = { "foo": git_poller.ProjectTrigger(12, "t", "proj", "user", 0, "r"), } get_projdef.return_value = None # prevents trying to really poll git_poller._poll(project_triggers) self.assertEqual(0, project_triggers["foo"].trigger.queue_priority) self.assertEqual("r", project_triggers["foo"].trigger.definition_repo)
def test_poll_updated(self, storage, get_project_triggers, get_projdef): project_triggers = { 'foo': git_poller.PollerEntry( git_poller.ProjectTrigger(12, 't', 'proj', 'user', 1)), } get_project_triggers.return_value = { 'foo': git_poller.ProjectTrigger(12, 't', 'proj', 'user', 0, 'r'), } get_projdef.return_value = None # prevents trying to really poll git_poller._poll(project_triggers) self.assertEqual(0, project_triggers['foo'].trigger.queue_priority) self.assertEqual('r', project_triggers['foo'].trigger.definition_repo)
def _fake_trigger() -> git_poller.ProjectTrigger: return git_poller.ProjectTrigger( 12, 't', 'proj', 'user', 1, )
def _fake_trigger() -> git_poller.ProjectTrigger: return git_poller.ProjectTrigger( 12, "t", "proj", "user", 1, )
def test_poll_add(self, storage, get_project_triggers, get_projdef): get_project_triggers.return_value = { 'foo': git_poller.ProjectTrigger(12, 't', 'proj', 'user', 1), } get_projdef.return_value = None # prevents trying to really poll project_triggers = {} git_poller._poll(project_triggers) self.assertEqual(['foo'], list(project_triggers.keys()))
def test_poll_add(self, storage, get_project_triggers, get_projdef): get_project_triggers.return_value = { "foo": git_poller.ProjectTrigger(12, "t", "proj", "user", 1), } get_projdef.return_value = None # prevents trying to really poll project_triggers = {} git_poller._poll(project_triggers) self.assertEqual(["foo"], list(project_triggers.keys()))
def test_get_refs_fatal(self, requests): requests.get().status_code = 500 requests.get().text = "foobar" trigger = git_poller.ProjectTrigger( id=1, type="t", project="p", user="******", queue_priority=1 ) vals = [] for sha, ref in git_poller._get_refs("doesnot matter", trigger): vals.append((sha, ref)) self.assertEqual([], vals)
def test_get_refs_fatal(self, requests): requests.get().status_code = 500 requests.get().text = 'foobar' trigger = git_poller.ProjectTrigger(id=1, type='t', project='p', user='******', queue_priority=1) vals = [] for sha, ref in git_poller._get_refs('doesnot matter', trigger): vals.append((sha, ref)) self.assertEqual([], vals)
def test_repo_changes_first_run(self, get_refs): trigger = git_poller.ProjectTrigger( id=1, type="t", project="p", user="******", queue_priority=1 ) refs = ["ref1"] get_refs.return_value = [ ("sha1", "ref1"), ("sha2", "ref2"), ] cache = {} change_params = git_poller._get_repo_changes(cache, "url1", refs, trigger) self.assertEqual([], list(change_params)) self.assertEqual({"url1": {"ref1": "sha1"}}, cache) refs = ["refs1", "ref2"] change_params = git_poller._get_repo_changes(cache, "url1", refs, trigger) self.assertEqual([], list(change_params)) self.assertEqual({"url1": {"ref1": "sha1", "ref2": "sha2"}}, cache)
def test_get_refs(self, requests): requests.get().status_code = 200 requests.get().text = """ignore ignore 004015f12d4181355604efa7b429fc3bcbae08d27f40 refs/heads/master 004015f12d4181355604efa7b429fc3bcbae08d27f41 refs/pulls/123 """ trigger = git_poller.ProjectTrigger( id=1, type="t", project="p", user="******", queue_priority=1 ) vals = [] for sha, ref in git_poller._get_refs("doesnot matter", trigger): vals.append((sha, ref)) expected = [ ("15f12d4181355604efa7b429fc3bcbae08d27f40", "refs/heads/master"), ("15f12d4181355604efa7b429fc3bcbae08d27f41", "refs/pulls/123"), ] self.assertEqual(expected, vals)
def test_get_refs(self, requests): requests.get().status_code = 200 requests.get().text = '''ignore ignore 004015f12d4181355604efa7b429fc3bcbae08d27f40 refs/heads/master 004015f12d4181355604efa7b429fc3bcbae08d27f41 refs/pulls/123 ''' trigger = git_poller.ProjectTrigger(id=1, type='t', project='p', user='******', queue_priority=1) vals = [] for sha, ref in git_poller._get_refs('doesnot matter', trigger): vals.append((sha, ref)) expected = [ ('15f12d4181355604efa7b429fc3bcbae08d27f40', 'refs/heads/master'), ('15f12d4181355604efa7b429fc3bcbae08d27f41', 'refs/pulls/123'), ] self.assertEqual(expected, vals)
def test_repo_changes_changed(self, get_refs): trigger = git_poller.ProjectTrigger( id=1, type="t", project="p", user="******", queue_priority=1 ) refs = ["ref1", "ref2"] get_refs.return_value = [ ("sha1", "ref1"), ("sha2", "ref2"), ] cache = {"url1": {"ref1": "oldsha", "ref2": "sha2"}} change_params = git_poller._get_repo_changes(cache, "url1", refs, trigger) expected = [ { "GIT_URL": "url1", "GIT_OLD_SHA": "oldsha", "GIT_SHA": "sha1", "GIT_REF": "ref1", } ] self.assertEqual(expected, list(change_params))
def test_repo_changes_changed(self, get_refs): trigger = git_poller.ProjectTrigger(id=1, type='t', project='p', user='******', queue_priority=1) refs = ['ref1', 'ref2'] get_refs.return_value = [ ('sha1', 'ref1'), ('sha2', 'ref2'), ] cache = {'url1': {'ref1': 'oldsha', 'ref2': 'sha2'}} change_params = git_poller._get_repo_changes(cache, 'url1', refs, trigger) expected = [{ 'GIT_URL': 'url1', 'GIT_OLD_SHA': 'oldsha', 'GIT_SHA': 'sha1', 'GIT_REF': 'ref1', }] self.assertEqual(expected, list(change_params))
def test_repo_changes_first_run(self, get_refs): trigger = git_poller.ProjectTrigger(id=1, type='t', project='p', user='******', queue_priority=1) refs = ['ref1'] get_refs.return_value = [ ('sha1', 'ref1'), ('sha2', 'ref2'), ] cache = {} change_params = git_poller._get_repo_changes(cache, 'url1', refs, trigger) self.assertEqual([], list(change_params)) self.assertEqual({'url1': {'ref1': 'sha1'}}, cache) refs = ['refs1', 'ref2'] change_params = git_poller._get_repo_changes(cache, 'url1', refs, trigger) self.assertEqual([], list(change_params)) self.assertEqual({'url1': {'ref1': 'sha1', 'ref2': 'sha2'}}, cache)