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')
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
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
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
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
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()