예제 #1
0
    def test_299_code(self, mock_urlopen):
        result = Mock()
        result.code = 299
        result.getheaders.return_value = [(u'Content-Type', u'text/plain')]
        result.read.side_effect = ['response']
        mock_urlopen.return_value = result

        requester = Requester('test', 'Test/0.1')
        res = requester.request('https://test.test', {})
        self.assertEqual(res, 'response')
예제 #2
0
    def test_300_code(self, mock_urlopen):
        result = Mock()
        result.code = 300
        result.getheaders.return_value = [(u'Content-Type', u'text/plain')]
        result.read.side_effect = ['response']
        mock_urlopen.return_value = result

        requester = Requester('test', 'Test/0.1')
        with self.assertRaises(ServerErrorException):
            res = requester.request('https://test.test', {})
            pass
예제 #3
0
    def test_500_code(self, mock_urlopen):
        result = Mock()
        result.code = 500
        result.getheaders.return_value = [(u'Content-Type', u'text/plain')]
        result.read.side_effect = ['error']
        mock_urlopen.return_value = result
        mock_urlopen.side_effect = HTTPError("https://test.test", 500, 'Internal Server Error', None, None)

        requester = Requester('test', 'Test/0.1')
        with self.assertRaises(ServerErrorException):
            res = requester.request('https://test.test', {})
            pass
예제 #4
0
    def test_422_code(self, mock_urlopen):
        result = Mock()
        result.code = 422
        result.getheaders.return_value = [(u'Content-Type', u'text/plain')]
        result.read.side_effect = ['error']
        mock_urlopen.return_value = result
        mock_urlopen.side_effect = HTTPError("https://test.test", 422, 'Unprocessable Entity', None, None)

        requester = Requester('test', 'Test/0.1')
        with self.assertRaises(InvalidMacOrOuiException):
            res = requester.request('https://test.test', {})
            pass
예제 #5
0
    def test_403_code(self, mock_urlopen):
        result = Mock()
        result.code = 403
        result.getheaders.return_value = [(u'Content-Type', u'text/plain')]
        result.read.side_effect = ['error']
        mock_urlopen.return_value = result
        mock_urlopen.side_effect = HTTPError("https://test.test", 403, 'Access Denied', None, None)

        requester = Requester('test', 'Test/0.1')
        with self.assertRaises(AccessDeniedException):
            res = requester.request('https://test.test', {})
            pass
예제 #6
0
    def test_deprecation_warning(self, mock_urlopen):
        result = Mock()
        result.code = 200
        result.getheaders.return_value = [(u'Content-Type', u'text/plain'),
                                          (u'Warning', u'299 Test Warning: deprecated API version')]

        result.read.side_effect = ['response']
        mock_urlopen.return_value = result

        log_capture_buffer = io.StringIO()
        logging.basicConfig(stream=log_capture_buffer, level=logging.WARNING)

        requester = Requester('test', 'Test/0.1')

        requester.request('https://test.test', {})

        self.assertEqual(log_capture_buffer.getvalue(),
                         u'WARNING:maclookup-requester:299 Test Warning: deprecated API version\n')

        log_capture_buffer.close()