def test_validate_streaming_paths_download(self): paths = ['s3://bucket/key', '-'] cmd_params = CommandParameters('cp', {}, '') cmd_params.add_paths(paths) self.assertTrue(cmd_params.parameters['is_stream']) self.assertTrue(cmd_params.parameters['only_show_errors']) self.assertFalse(cmd_params.parameters['dir_op'])
def test_validate_sse_c_args_missing_sse_c_copy_source_key(self): paths = ['s3://bucket/foo', 's3://bucket/bar'] params = {'dir_op': False, 'sse_c_copy_source': 'AES256'} cmd_param = CommandParameters('cp', params, '') with self.assertRaisesRegexp( ValueError, '--sse-c-copy-source-key must be specified'): cmd_param.add_paths(paths)
def test_validate_sse_c_args_missing_sse_c_copy_source_key(self): paths = ['s3://bucket/foo', 's3://bucket/bar'] params = {'dir_op': False, 'sse_c_copy_source': 'AES256'} cmd_param = CommandParameters('cp', params, '') with self.assertRaisesRegexp(ValueError, '--sse-c-copy-source-key must be specified'): cmd_param.add_paths(paths)
def test_validate_sse_c_args_missing_sse_c_copy_source(self): paths = ['s3://bucket/foo', 's3://bucket/bar'] params = {'dir_op': False, 'sse_c_copy_source_key': 'foo'} cmd_param = CommandParameters('cp', params, '') error_msg = '--sse-c-copy-source must be specified' with self.assertRaisesRegexp(ParamValidationError, error_msg): cmd_param.add_paths(paths)
def test_validate_sse_c_args_wrong_path_type(self): paths = ['s3://bucket/foo', self.file_creator.rootdir] params = {'dir_op': False, 'sse_c_copy_source': 'AES256', 'sse_c_copy_source_key': 'foo'} cmd_param = CommandParameters('cp', params, '') with self.assertRaisesRegexp(ValueError, 'only supported for copy operations'): cmd_param.add_paths(paths)
def test_add_path_for_non_existsent_local_path_download(self): non_existent_path = os.path.join(self.file_creator.rootdir, 'foo') paths = ['s3://bucket', non_existent_path] cmd_param = CommandParameters('cp', {'dir_op': True}, '') cmd_param.add_paths(paths) self.assertTrue(os.path.exists(non_existent_path))
def test_validate_non_existent_local_path_upload(self): non_existent_path = os.path.join(self.file_creator.rootdir, 'foo') paths = [non_existent_path, 's3://bucket/'] cmd_param = CommandParameters('cp', {}, '') with self.assertRaises(RuntimeError): cmd_param.add_paths(paths)
def test_validate_no_streaming_paths(self): paths = [self.file_creator.rootdir, 's3://bucket'] cmd_params = CommandParameters('cp', {}, '') cmd_params.add_paths(paths) self.assertFalse(cmd_params.parameters['is_stream'])
def test_validate_sse_c_args_missing_sse(self): paths = ['s3://bucket/foo', 's3://bucket/bar'] params = {'dir_op': False, 'sse_c_key': 'foo'} cmd_param = CommandParameters('cp', params, '') with self.assertRaisesRegex(ValueError, '--sse-c must be specified'): cmd_param.add_paths(paths)