def test_accept_upload_id(self, result_request, tool_definition, data_folder): tool_definition['argument_names'] = ('x_path', ) # Prepare upload_folder upload = Upload(id='xyz', owner_id=0) upload_folder = make_folder(upload.get_folder(data_folder)) open(join(upload_folder, 'raw.txt'), 'wt') open(join(upload_folder, 'name.txt'), 'wt') # Use bad upload_id raw_arguments = {'x': 'a'} with raises(HTTPBadRequest) as e: result_request.prepare_arguments(tool_definition, raw_arguments) assert e.value.detail['x'] == 'invalid' # Use upload_id that does not have expected data_type raw_arguments = {'x': 'xyz'} with raises(HTTPBadRequest) as e: result_request.prepare_arguments(tool_definition, raw_arguments) assert e.value.detail['x'] == 'invalid' # Use upload_id that has expected data_type file_name = StringType.get_file_name() open(join(upload_folder, file_name), 'wt').write('whee') result = result_request.prepare_arguments(tool_definition, raw_arguments) assert open(result.arguments['x_path']).read() == 'whee'
def test_get_folder(self, data_folder): record_id = 100 with raises(BadPath): Upload(id=record_id, owner_id='../1').get_folder(data_folder) folder = Upload(id=record_id, owner_id=USER_ID).get_folder(data_folder) assert basename(folder) == str(record_id)