def setup_method(self, method): super(TestCheckMilestone, self).setup_method(method) self.scc_parser, self.sub_parser = parsers() self.command = CheckMilestone(self.sub_parser) # Mocks # Create base of PullRequest self.base_user = self.mox.CreateMock(AuthenticatedUser) self.base_repo = self.mox.CreateMock(Repository) self.base = self.mox.CreateMock(PullRequestPart) self.base.repo = self.base_repo self.base.user = self.base_user self.base.ref = "mock-base-ref" self.pull = self.mox.CreateMock(PullRequest) self.pull.number = 0 self.pull.title = 'test' self.pull.milestone = None self.pull.base = self.base self.issue = self.mox.CreateMock(Issue) self.milestones = [] self.milestones.append(self.mox.CreateMock(Milestone)) self.milestones[0].title = 'test 1' self.milestones.append(self.mox.CreateMock(Milestone)) self.milestones[1].title = 'test 2' self.pr = PR(self.pull)
class TestCheckMilestone(MoxTestBase): def setup_method(self, method): super(TestCheckMilestone, self).setup_method(method) self.scc_parser, self.sub_parser = parsers() self.command = CheckMilestone(self.sub_parser) # Mocks # Create base of PullRequest self.base_user = self.mox.CreateMock(AuthenticatedUser) self.base_repo = self.mox.CreateMock(Repository) self.base = self.mox.CreateMock(PullRequestPart) self.base.repo = self.base_repo self.base.user = self.base_user self.base.ref = "mock-base-ref" self.pull = self.mox.CreateMock(PullRequest) self.pull.number = 0 self.pull.title = 'test' self.pull.milestone = None self.pull.base = self.base self.issue = self.mox.CreateMock(Issue) self.milestones = [] self.milestones.append(self.mox.CreateMock(Milestone)) self.milestones[0].title = 'test 1' self.milestones.append(self.mox.CreateMock(Milestone)) self.milestones[1].title = 'test 2' self.pr = PR(self.pull) def assign_milestone(self, milestone_index): if milestone_index is None: return self.pull.milestone = self.milestones[milestone_index] @pytest.mark.parametrize('milestone_index', [None, 0, 1]) def test_no_milestone(self, milestone_index): self.assign_milestone(milestone_index) [mcheck, mset] = self.command.check_pr_milestone(self.pr, None) assert mcheck is (milestone_index is not None) assert not mset @pytest.mark.parametrize('milestone_index', [None, 0, 1]) def test_check_existing_milestone(self, milestone_index): self.assign_milestone(milestone_index) if milestone_index != 0: self.base_repo.get_issue(self.pr.number).AndReturn(self.issue) self.issue.edit(milestone=self.milestones[0]).AndReturn(True) self.mox.ReplayAll() [mcheck, mset] = self.command.check_pr_milestone( self.pr, self.milestones[0]) assert mcheck is (milestone_index is not None) assert mset == (milestone_index != 0)