def test_check_patch_reviews(self): bz = Bugzilla(api_url="fake") with self.assertRaises(autoland.errors.ReviewException): bz.check_patch_reviews({'id': 1}, "perms") bz.ldap = mock.MagicMock() bz.ldap.in_ldap_group.return_value = False p = {"id": 1, "reviews": [ {"result": "+", "reviewer": {"email": "u@m"}}, ]} with self.assertRaises(autoland.errors.ReviewException): bz.check_patch_reviews(p, "perms") bz.ldap.in_ldap_group.return_value = True self.assertEquals(None, bz.check_patch_reviews(p, "perms")) p["reviews"][0]["result"] = "?" with self.assertRaises(autoland.errors.ReviewException): bz.check_patch_reviews(p, "perms") # Multpiple approvals p = {"id": 1, "reviews": [ {"result": "+", "reviewer": {"email": "u@m"}}, {"result": "+", "reviewer": {"email": "u@m"}}, ]} self.assertEquals(None, bz.check_patch_reviews(p, "perms")) p["reviews"][0]["result"] = "-" with self.assertRaises(autoland.errors.ReviewException): bz.check_patch_reviews(p, "perms") p["reviews"][0]["result"] = "?" with self.assertRaises(autoland.errors.ReviewException): bz.check_patch_reviews(p, "perms")
def test_check_patch_approvals(self): bz = Bugzilla(api_url="fake") with self.assertRaises(autoland.errors.ApprovalException): bz.check_patch_approvals({'id': 1}, "branch", "perms") p = {"id": 1, "approvals": [{"type": "release", "result": "+", "approver": {"email": "user@m"}}]} bz.ldap = mock.MagicMock() bz.ldap.in_ldap_group.return_value = False with self.assertRaises(autoland.errors.ApprovalException): bz.check_patch_approvals(p, "release", "perms") bz.ldap.in_ldap_group.return_value = True self.assertEquals(None, bz.check_patch_approvals(p, "release", "perms")) with self.assertRaises(autoland.errors.ApprovalException): bz.check_patch_approvals(p, "beta", "perms") p["approvals"][0]["result"] = "?" with self.assertRaises(autoland.errors.ApprovalException): bz.check_patch_approvals(p, "release", "perms") # Multpiple approvals p = {"id": 1, "approvals": [ {"type": "release", "result": "+", "approver": {"email": "u@m"}}, {"type": "release", "result": "?", "approver": {"email": "u@m"}}, ]} with self.assertRaises(autoland.errors.ApprovalException): bz.check_patch_approvals(p, "release", "perms") p["approvals"][0]["result"] = "-" with self.assertRaises(autoland.errors.ApprovalException): bz.check_patch_approvals(p, "release", "perms")