Exemplo n.º 1
0
    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'])
Exemplo n.º 2
0
    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'])
Exemplo n.º 3
0
        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
Exemplo n.º 4
0
 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])
Exemplo n.º 5
0
 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])
Exemplo n.º 6
0
    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)
Exemplo n.º 7
0
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()