def test_init_no_error(self): """ Given I have a valid callback payload When I initiate a Repo Then no errors are raised """ cb = MockCallback() payload = cb.payload() # we require construction without exception try: repo = gnome.gh.Repo(payload['repository']['full_name']) was_error = False except: was_error = True self.assertFalse(was_error)
def test_heisenmockbug_weirdness(self): """ Don't ask. """ repo = gnome.gh.repo_from_callback(MockCallback()) repo._milestones = (MockFooMilestoneWrapper(),) # 'foo' != 'bar' self.assertFalse(repo.get_milestone('bar'))
def test_false_if_milestone_not_exists(self): """ Given a milestone does not exist When I call repo.milestone_exists Then False is returned """ repo = gnome.gh.repo_from_callback(MockCallback()) repo._milestones = (MockFooMilestoneWrapper(),) self.assertFalse(repo.milestone_exists('bar'))
def test_true_if_milestone_exists(self): """ Given a milestone exists When I call repo.milestone_exists Then True is returned """ repo = gnome.gh.repo_from_callback(MockCallback()) repo._milestones = (MockFooMilestoneWrapper(),) self.assertTrue(repo.milestone_exists('foo'))
def test_returns_milestone_if_exists(self): """ Given a milestone exists, when I call repo.get_milestone on it's name then not None is returned """ repo = gnome.gh.repo_from_callback(MockCallback()) repo._milestones = (MockFooMilestoneWrapper(),) found = repo.get_milestone('foo') self.assertTrue(found)
def test_returns_none_if_not_exists(self): """ Given a milestone does not exist When I call repo.get_milestone on it's name Then None is returned """ repo = gnome.gh.repo_from_callback(MockCallback()) repo._milestones = (MockFooMilestoneWrapper(),) found = repo.get_milestone('bar') # not 'foo' self.assertFalse(found)
def test_false_if_invalid_input(self): ce = MockCallback() cfg = util.Config(ce) for yml in BAD_SAMPLE_YAML: def mock_get_yaml(): return yml cfg.get_yaml = mock_get_yaml self.assertFalse( cfg.yaml_is_valid(), "found the following yaml valid\n{}".format(yml))
def test_does_nothig_if_it_exists(self): """ Given the milestone exists When I call repo.ensure_milestone_exists Then no new milestone is created """ repo = gnome.gh.repo_from_callback(MockCallback()) repo.milestone_exists = MagicMock(return_value=True) repo.create_milestone = MagicMock() repo.ensure_milestone_exists('foo') repo.create_milestone.assert_not_called()
def test_creates_milestone_if_not_exist(self): """ Given the milestone does not exist When I call repo.ensure_milestone_exists Then a new milestone is created """ repo = gnome.gh.repo_from_callback(MockCallback()) repo.milestone_exists = MagicMock(return_value=False) repo.create_milestone = MagicMock() repo.ensure_milestone_exists('foo') repo.create_milestone.assert_called()
def test_create_with_defaults_if_not_exist(self): """ Given a milestone does not exist When I call repo.create_milestone Then the milestone is created """ repo = gnome.gh.repo_from_callback(MockCallback()) repo._milestones = (MockFooMilestoneWrapper(),) create_milestone_mock = MagicMock() repo._repo.create_milestone = create_milestone_mock repo.create_milestone('bar') create_milestone_mock.assert_called()
def test_repo_exists_then_not_created(self): repo = gnome.gh.repo_from_callback(MockCallback()) gh_issue = MagicMock() #gh_issue.milestone = False repo.milestone_exists = MagicMock(return_value=True) repo.create_milestone = MagicMock() repo.get_milestone = MagicMock() i = gnome.gh.Issue(repo, gh_issue) i.move_to_milestone('x') repo.create_milestone.assert_not_called()
def test_no_extranious_tickets_returned(self): repo = gnome.gh.repo_from_callback(MockCallback()) ghm = MockMilestoneFoo() m = gnome.gh.Milestone(repo, ghm) m.repo._repo.get_issues = MagicMock( return_value=MockMilestoneFoo.EXPECTED_TICKETS) found = [] for t in m.open_tickets(): found.append(t._issue) expected = MockMilestoneFoo.EXPECTED_TICKETS for t in found: self.assertTrue(t in expected)
def test_init(self): """ Given I have a valid callback When I initiate an Issue Then no errors are raised """ repo = gnome.gh.repo_from_callback(MockCallback()) gh_issue = MagicMock() try: i = gnome.gh.Issue(repo, gh_issue) was_error = False except: was_error = True self.assertFalse(was_error)
def test_config_no_exceptions_getting_yaml(self): try: ce = MockCallback() cfg = util.Config(ce) init_raised = False try: yml = cfg.get_yaml() yml_raised = False except: yml_raised =True except: init_raised = True self.assertFalse(init_raised, "Config.__init__ raised an exception") self.assertFalse(yml_raised, "Config.get_yml raised an exception")
def test_do_nothing_if_already_exists(self): """ Given a milestone, when I call repo.create_milestone; idempotency. """ # I call that Haiku "then nothing happens" repo = gnome.gh.repo_from_callback(MockCallback()) repo._milestones = (MockFooMilestoneWrapper(),) create_milestone_mock = MagicMock() repo._repo.create_milestone = create_milestone_mock repo.milestone_exists = MagicMock(return_value=True) repo.create_milestone('foo') repo._repo.create_milestone.assert_not_called()
def test_repo_validation(self): """ Given I have a valid callback payload When I initiate a Milestone Then no errors are raised """ repo = gnome.gh.repo_from_callback(MockCallback()) repo._repo.create_milestone = MagicMock() gh_milestone = MockMilestoneFoo() try: mlstn = gnome.gh.Milestone(repo, gh_milestone) was_error = False except: was_error = True self.assertFalse(was_error)
def test_set_date_if_none(self): """ Given a milestone has no due date When I call repo.ensure_milestone_has_due_date Then the due date is updated as specified """ DATE = '2012-10-09T23:39:01Z' repo = gnome.gh.repo_from_callback(MockCallback()) repo.milestone_exists = MagicMock(return_value=True) mm = gnome.gh.Milestone('some/repo', '_milestone') mm.get_due_date = MagicMock(return_value=None) mm.set_due_date = MagicMock() repo.get_milestone = MagicMock(return_value=mm) repo.ensure_milestone_has_due_date('foo', DATE) mm.set_due_date.assert_called_with(DATE)
def test_do_nothing_if_date_OK(self): """ Given a malestone already has a specified due date When I call repo.ensure_milestone_has_due_date Then the due date is not updated """ DATE = '2012-10-09T23:39:01Z' repo = gnome.gh.repo_from_callback(MockCallback()) repo.milestone_exists = MagicMock(return_value=True) mm = gnome.gh.Milestone('some/repo', '_milestone') mm.get_due_date = MagicMock(return_value=DATE) mm.set_due_date = MagicMock() repo.get_milestone = MagicMock(return_value=mm) repo.ensure_milestone_has_due_date('foo', DATE) mm.set_due_date.assert_not_called()
def __init__(self): self._milestone = MockMilestoneFoo() self.repo = gnome.gh.repo_from_callback(MockCallback()) self.repo._repo.get_issues = MagicMock( return_val=self._milestone.EXPECTED_TICKETS)
def test_false_if_no_milestone(self): repo = gnome.gh.repo_from_callback(MockCallback()) gh_issue = MagicMock() gh_issue.milestone = False i = gnome.gh.Issue(repo, gh_issue) self.assertFalse(i.has_milestone())
def test_true_if_has_milestone(self): repo = gnome.gh.repo_from_callback(MockCallback()) gh_issue = MagicMock() gh_issue.milestone = MagicMock() i = gnome.gh.Issue(repo, gh_issue) self.assertTrue(i.has_milestone())