class WhenTestingGetFileChecksumOperation(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/old_dir' self.response = MagicMock() self.file_checksum = { "FileChecksum": { "algorithm": "MD5-of-1MD5-of-512CRC32", "bytes": ("000002000000000000000000729a144ad5e9399f70c9bedd757" "2e6bf00000000"), "length": 28 } } self.response.json = MagicMock(return_value=self.file_checksum) @patch.object(Session, 'get') def test_get_status_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.get_file_checksum(self.path) @patch.object(Session, 'get') def test_get_status_returns_true(self, mock_get): self.response.status_code = http_client.OK mock_get.return_value = self.response result = self.webhdfs.get_file_checksum(self.path) for key in result: self.assertEqual(result[key], self.file_checksum[key])
class WhenTestingGetFileChecksumOperation(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/old_dir' self.response = MagicMock() self.file_checksum = { "FileChecksum": { "algorithm": "MD5-of-1MD5-of-512CRC32", "bytes": ("000002000000000000000000729a144ad5e9399f70c9bedd757" "2e6bf00000000"), "length": 28 } } self.response.json = MagicMock(return_value=self.file_checksum) def test_get_status_throws_exception_for_not_ok(self): self.response.status_code = http_client.BAD_REQUEST self.requests.get.return_value = self.response with patch('pywebhdfs.webhdfs.requests', self.requests): with self.assertRaises(errors.PyWebHdfsException): self.webhdfs.get_file_checksum(self.path) def test_get_status_returns_true(self): self.response.status_code = http_client.OK self.requests.get.return_value = self.response with patch('pywebhdfs.webhdfs.requests', self.requests): result = self.webhdfs.get_file_checksum(self.path) for key in result: self.assertEqual(result[key], self.file_checksum[key])
print('making new HDFS directory at: {0}\n'.format(example_dir)) hdfs.make_dir(example_dir) # get a dictionary of the directory's status dir_status = hdfs.get_file_dir_status(example_dir) print(dir_status) # create a new file on hdfs print('making new file at: {0}\n'.format(example_file)) hdfs.create_file(example_file, example_data) file_status = hdfs.get_file_dir_status(example_file) print(file_status) # get the checksum for the file file_checksum = hdfs.get_file_checksum(example_file) print(file_checksum) # append to the file created in previous step print('appending to file at: {0}\n'.format(example_file)) hdfs.append_file(example_file, example_data) file_status = hdfs.get_file_dir_status(example_file) print(file_status) # checksum reflects file changes file_checksum = hdfs.get_file_checksum(example_file) print(file_checksum) # read in the data for the file print('reading data from file at: {0}\n'.format(example_file))
print('making new HDFS directory at: {0}\n'.format(example_dir)) hdfs.make_dir(example_dir) # get a dictionary of the directory's status dir_status = hdfs.get_file_dir_status(example_dir) print(dir_status) # create a new file on hdfs print('making new file at: {0}\n'.format(example_file)) hdfs.create_file(example_file, example_data) file_status = hdfs.get_file_dir_status(example_file) print(file_status) # get the checksum for the file file_checksum = hdfs.get_file_checksum(example_file) print(file_checksum) # append to the file created in previous step print('appending to file at: {0}\n'.format(example_file)) hdfs.append_file(example_file, example_data) file_status = hdfs.get_file_dir_status(example_file) print(file_status) # checksum reflects file changes file_checksum = hdfs.get_file_checksum(example_file) print(file_checksum) # read in the data for the file print('reading data from file at: {0}\n'.format(example_file))