def test_payload_comment(self): testee = BridgeProviderBitbucket({ 'username': '******', 'password': '******', 'incoming_token': 'glig', }) headers = { 'X-Event-Key': 'pullrequest:comment_created', } querystring = { 'token': 'glig', } testee.my_username = lambda: 'greg' body_path = os.path.join(os.path.dirname(__file__), 'responses/bitbucket_pr_comment.txt') with open(body_path) as myfile: body = myfile.read() testee.get_commit_approval = MagicMock(return_value=True) res = testee.parse_payload(body, headers, querystring) self.assertEqual(res['repo']['provider'], 'bitbucket') self.assertEqual(res['repo']['organization'], 'dy-devops') self.assertEqual(res['repo']['name'], 'janitor-starter') self.assertEqual(res['event']['type'], 'pr:comment') self.assertEqual(res['event']['pr']['src_branch'], 'add-webshot') self.assertEqual(res['event']['pr']['dst_branch'], 'master') self.assertEqual(res['event']['pr']['same_repo'], True) self.assertEqual(res['event']['pr']['reviewers'], set(['BackSlasher'])) self.assertEqual(res['event']['pr']['approvers'], set(['BackSlasher'])) self.assertEqual(res['event']['pr']['id'], 1) self.assertEqual(res['event']['pr']['code_ok'], True)
def test_payload_comment(self): testee = BridgeProviderBitbucket({ 'username': '******', 'password': '******', 'incoming_token': 'glig', }) headers={ 'X-Event-Key': 'pullrequest:comment_created', } querystring={ 'token': 'glig', } testee.my_username = lambda: 'greg' body_path = os.path.join(os.path.dirname(__file__), 'responses/bitbucket_pr_comment.txt') with open (body_path) as myfile: body=myfile.read() testee.get_commit_approval = MagicMock(return_value=True) res = testee.parse_payload(body,headers,querystring) self.assertEqual(res['repo']['provider'],'bitbucket') self.assertEqual(res['repo']['organization'],'dy-devops') self.assertEqual(res['repo']['name'],'janitor-starter') self.assertEqual(res['event']['type'],'pr:comment') self.assertEqual(res['event']['pr']['src_branch'],'add-webshot') self.assertEqual(res['event']['pr']['dst_branch'],'master') self.assertEqual(res['event']['pr']['same_repo'],True) self.assertEqual(res['event']['pr']['reviewers'],set(['BackSlasher'])) self.assertEqual(res['event']['pr']['approvers'],set(['BackSlasher'])) self.assertEqual(res['event']['pr']['id'],1) self.assertEqual(res['event']['pr']['code_ok'],True)
def test_commit_notouch(self): testee = BridgeProviderBitbucket({ 'username': '******', 'password': '******', 'incoming_token': 'glig', }) testee.api = MagicMock() testee.get_commit_approval = MagicMock() testee.get_commit_approval.return_value = True testee.set_commit_approval('bla', 'blu', '1', True) testee.api.assert_not_called()
def test_commit_notouch(self): testee = BridgeProviderBitbucket({ 'username': '******', 'password': '******', 'incoming_token': 'glig', }) testee.api = MagicMock() testee.get_commit_approval = MagicMock() testee.get_commit_approval.return_value=True testee.set_commit_approval('bla','blu','1',True) testee.api.assert_not_called()
def test_commit_disapprove(self): testee = BridgeProviderBitbucket({ 'username': '******', 'password': '******', 'incoming_token': 'glig', }) testee.api = MagicMock() testee.get_commit_approval = MagicMock() testee.get_commit_approval.return_value=True testee.set_commit_approval('bla','blu','1',False) testee.api.assert_called_once_with('2.0','repositories/bla/blu/commit/1/approve',method='delete')
def test_commit_disapprove(self): testee = BridgeProviderBitbucket({ 'username': '******', 'password': '******', 'incoming_token': 'glig', }) testee.api = MagicMock() testee.get_commit_approval = MagicMock() testee.get_commit_approval.return_value = True testee.set_commit_approval('bla', 'blu', '1', False) testee.api.assert_called_once_with( '2.0', 'repositories/bla/blu/commit/1/approve', method='delete')
def test_payload_comment_no_mention(self): testee = BridgeProviderBitbucket({ 'username': '******', 'password': '******', 'incoming_token': 'glig', }) headers={ 'X-Event-Key': 'pullrequest:comment_created', } querystring={ 'token': 'glig', } testee.my_username = lambda: 'greg' body_path = os.path.join(os.path.dirname(__file__), 'responses/bitbucket_pr_comment_nogreg.txt') with open (body_path) as myfile: body=myfile.read() testee.get_commit_approval = MagicMock(return_value=True) res = testee.parse_payload(body,headers,querystring) self.assertEqual(res,None)
def test_payload_comment_no_mention(self): testee = BridgeProviderBitbucket({ 'username': '******', 'password': '******', 'incoming_token': 'glig', }) headers = { 'X-Event-Key': 'pullrequest:comment_created', } querystring = { 'token': 'glig', } testee.my_username = lambda: 'greg' body_path = os.path.join(os.path.dirname(__file__), 'responses/bitbucket_pr_comment_nogreg.txt') with open(body_path) as myfile: body = myfile.read() testee.get_commit_approval = MagicMock(return_value=True) res = testee.parse_payload(body, headers, querystring) self.assertEqual(res, None)