class WhenTestingOpenOperation(unittest.TestCase): def setUp(self): self.host = 'hostname' self.port = '00000' self.user_name = 'username' self.webhdfs = PyWebHdfsClient(host=self.host, port=self.port, user_name=self.user_name) self.path = 'user/hdfs' self.file_data = u'010101' self.response = MagicMock() self.response.content = self.file_data @patch.object(Session, 'get') def test_read_throws_exception_for_not_ok(self, mock_get): self.response.status_code = http_client.BAD_REQUEST mock_get.return_value = self.response with self.assertRaises(errors.PyWebHdfsException): self.webhdfs.read_file(self.path) @patch.object(Session, 'get') def test_read_returns_file(self, mock_get): self.response.status_code = http_client.OK mock_get.return_value = self.response result = self.webhdfs.read_file(self.path) self.assertEqual(result, self.file_data) @patch.object(Session, 'get') def test_stream_returns_generator(self, mock_get): self.response.status_code = http_client.OK mock_get.return_value = self.response result = self.webhdfs.stream_file(self.path) self.assertIsInstance(result, types.GeneratorType)
class WhenTestingOpenOperation(unittest.TestCase): def setUp(self): self.host = 'hostname' self.port = '00000' self.user_name = 'username' self.webhdfs = PyWebHdfsClient(host=self.host, port=self.port, user_name=self.user_name) self.response = MagicMock() self.requests = MagicMock(return_value=self.response) self.path = 'user/hdfs' self.file_data = u'010101' self.response = MagicMock() self.response.content = self.file_data def test_read_throws_exception_for_not_ok(self): self.response.status_code = http_client.BAD_REQUEST self.requests.return_value = self.response with patch('requests.sessions.Session.get', self.requests): with self.assertRaises(errors.PyWebHdfsException): self.webhdfs.read_file(self.path) def test_read_returns_file(self): self.response.status_code = http_client.OK self.requests.return_value = self.response with patch('requests.sessions.Session.get', self.requests): result = self.webhdfs.read_file(self.path) self.assertEqual(result, self.file_data) def test_stream_returns_generator(self): self.response.status_code = http_client.OK self.requests.return_value = self.response with patch('requests.sessions.Session.get', self.requests): result = self.webhdfs.stream_file(self.path) self.assertIsInstance(result, types.GeneratorType)