def test_shipit_overrides_changes_requested_github_review(self): """ Ansibot should ignore CHANGES_REQUESTED Github review when the author of the CHANGES_REQUESTED review used the shipit command. """ datafile = u'tests/fixtures/needs_revision/0_issue.yml' statusfile = u'tests/fixtures/needs_revision/0_prstatus.json' with mock.patch.multiple(IssueWrapper, mergeable_state=mock.PropertyMock(return_value='clean'), pullrequest_filepath_exists=mock.Mock(return_value=True)): with get_issue(datafile, statusfile) as iw: iw._merge_commits = [] iw._committer_emails = [u'*****@*****.**'] pullrequest = mock.Mock(spec_set=github.PullRequest.PullRequest) pullrequest.head.repo.__return_value__ = True iw._pr = pullrequest with open(u'tests/fixtures/needs_revision/0_reviews.json') as reviews: iw._pr_reviews = json.load(reviews) iw._history.merge_reviews(iw.reviews) self.meta[u'component_maintainers'] = [u'robinro'] facts = get_needs_revision_facts(AnsibleTriageMock(), iw, self.meta, ShippableRunsMock()) self.assertFalse(facts[u'is_needs_revision']) self.assertFalse(facts[u'stale_reviews'])
def test_shipit_removes_needs_revision(self): """ Ansibot should remove needs_revision if the same user that set it gave shipit afterwards. https://github.com/ansible/ansibullbot/issues/994 """ datafile = u'tests/fixtures/needs_revision/1_issue.yml' statusfile = u'tests/fixtures/needs_revision/0_prstatus.json' with mock.patch.multiple(IssueWrapper, mergeable_state=mock.PropertyMock(return_value='clean'), pullrequest_filepath_exists=mock.Mock(return_value=True)): with get_issue(datafile, statusfile) as iw: iw._merge_commits = [] iw._committer_emails = [u'*****@*****.**'] pullrequest = mock.Mock(spec_set=github.PullRequest.PullRequest) pullrequest.head.repo.__return_value__ = True iw._pr = pullrequest with open(u'tests/fixtures/needs_revision/1_reviews.json') as reviews: iw._pr_reviews = json.load(reviews) iw._history.merge_reviews(iw.reviews) self.meta[u'component_maintainers'] = [u'mkrizek'] facts = get_needs_revision_facts(AnsibleTriageMock(), iw, self.meta, ShippableRunsMock()) self.assertFalse(facts[u'is_needs_revision'])
def _set_endpoint_mock_properties(endpoint): endpoint.foo = mock.Mock(spec=dir(_FakeEndpoint.foo)) # mock doesn't pick up the decorated method. endpoint.bar = mock.Mock(spec=dir(_FakeEndpoint.bar)) endpoint.bar.exposed = mock.PropertyMock(return_value=True) endpoint._foobar = mock.Mock(spec=dir(_FakeEndpoint._foobar)) return endpoint
def test_collection_resource(self, driver_mock): type(driver_mock).systems = mock.PropertyMock( return_value=['host0', 'host1']) response = self.app.get('/redfish/v1/Systems') self.assertEqual(200, response.status_code) self.assertEqual({'@odata.id': '/redfish/v1/Systems/host0'}, response.json['Members'][0]) self.assertEqual({'@odata.id': '/redfish/v1/Systems/host1'}, response.json['Members'][1])
def test_manager_collection_resource(self, resources_mock): resources_mock = resources_mock.return_value.__enter__.return_value managers_mock = resources_mock.managers type(managers_mock).managers = mock.PropertyMock( return_value=['bmc0', 'bmc1']) response = self.app.get('/redfish/v1/Managers') self.assertEqual(200, response.status_code) self.assertEqual({'@odata.id': '/redfish/v1/Managers/bmc0'}, response.json['Members'][0]) self.assertEqual({'@odata.id': '/redfish/v1/Managers/bmc1'}, response.json['Members'][1])
def test_label_type_size_check(self): dl = blivet.formats.disklabel.DiskLabel() dl._parted_disk = mock.Mock() dl._parted_device = mock.Mock() with patch("blivet.formats.disklabel.parted") as patched_parted: patched_parted.freshDisk.return_value = mock.Mock(name="parted.Disk", maxPartitionStartSector=10) dl._parted_device.length = 100 self.assertEqual(dl._label_type_size_check("foo"), False) dl._parted_device.length = 10 self.assertEqual(dl._label_type_size_check("foo"), False) dl._parted_device.length = 9 self.assertEqual(dl._label_type_size_check("foo"), True) with patch.object(blivet.formats.disklabel.DiskLabel, "parted_device", new=mock.PropertyMock(return_value=None)): # no parted device -> no passing size check self.assertEqual(dl._label_type_size_check("msdos"), False)
def test_load_as_matrix_property_shortcut(): """ Test that if the data-element provided has the ``matrix`` attribute, that is returned directly. This is intended for use """ # Mock element matrix attribute return. expected_mat = np.array([[1, 2, 3], [6, 1, 9]]) m_elem = mock.MagicMock(spec_set=DataElement) m_prop_matrix = mock.PropertyMock(return_value=expected_mat) type(m_elem).matrix = m_prop_matrix m_reader = mock.MagicMock(spec=ImageReader) m_reader._get_matrix_property = \ mock.MagicMock(wraps=ImageReader._get_matrix_property) m_reader._load_as_matrix = mock.MagicMock() actual_mat = ImageReader.load_as_matrix(m_reader, m_elem) np.testing.assert_allclose(actual_mat, expected_mat) m_prop_matrix.assert_called_once() m_reader._load_as_matrix.assert_not_called()