Skip to content

Commit babae17

Browse files
authored
tests: cleanup of test dataset import (#602)
1 parent a60c20c commit babae17

File tree

2 files changed

+74
-54
lines changed

2 files changed

+74
-54
lines changed

tests/cli/test_datasets.py

Lines changed: 0 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -188,60 +188,6 @@ def test_dataset_create_exception_refs(
188188
assert 'a' in result.output
189189

190190

191-
def test_datasets_import(data_file, data_repository, runner, project, client):
192-
"""Test importing data into a dataset."""
193-
# create a dataset
194-
result = runner.invoke(cli.cli, ['dataset', 'create', 'dataset'])
195-
assert 0 == result.exit_code
196-
assert 'OK' in result.output
197-
198-
with client.with_dataset('dataset') as dataset:
199-
assert dataset.name == 'dataset'
200-
201-
# add data
202-
result = runner.invoke(
203-
cli.cli,
204-
['dataset', 'add', 'dataset',
205-
str(data_file)],
206-
catch_exceptions=False,
207-
)
208-
assert 0 == result.exit_code
209-
assert os.stat(
210-
os.path.join('data', 'dataset', os.path.basename(str(data_file)))
211-
)
212-
213-
# add data from a git repo via http
214-
result = runner.invoke(
215-
cli.cli,
216-
[
217-
'dataset', 'add', 'dataset', '--target', 'README.rst',
218-
'https://github.com/SwissDataScienceCenter/renku-python.git'
219-
],
220-
catch_exceptions=False,
221-
)
222-
assert 0 == result.exit_code
223-
assert os.stat('data/dataset/README.rst')
224-
225-
# add data from local git repo
226-
result = runner.invoke(
227-
cli.cli, [
228-
'dataset', 'add', 'dataset', '-t', 'dir2/file2',
229-
os.path.dirname(data_repository.git_dir)
230-
],
231-
catch_exceptions=False
232-
)
233-
assert 0 == result.exit_code
234-
235-
# add data from any URL (not a git repo)
236-
result = runner.invoke(
237-
cli.cli,
238-
['dataset', 'add', 'dataset', 'http://example.com/file.ext?foo=bar'],
239-
catch_exceptions=False,
240-
)
241-
assert 0 == result.exit_code
242-
assert os.stat('data/dataset/file.ext')
243-
244-
245191
@pytest.mark.parametrize('output_format', DATASETS_FORMATS.keys())
246192
def test_datasets_list_empty(output_format, runner, project):
247193
"""Test listing without datasets."""

tests/cli/test_integration_datasets.py

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -423,3 +423,77 @@ def test_datasets_remote_import(
423423
]
424424
)
425425
assert 0 == result.exit_code
426+
427+
428+
@pytest.mark.integration
429+
@pytest.mark.parametrize(
430+
'remotes', [
431+
{
432+
'url': (
433+
'https://github.com'
434+
'/SwissDataScienceCenter/renku-python.git'
435+
),
436+
'filename': 'README.rst',
437+
'expected_path': 'data/dataset/README.rst'
438+
},
439+
{
440+
'url': (
441+
'https://gist.githubusercontent.com'
442+
'/jsam/24e3763fe4912ddb5c3a0fe411002f21'
443+
'/raw/ac45b51b5d6e20794e2ac73df5e309fa26e2f73a'
444+
'/gistfile1.txt?foo=bar'
445+
),
446+
'filename': 'gistfile1.txt',
447+
'expected_path': 'data/dataset/gistfile1.txt'
448+
},
449+
]
450+
)
451+
def test_datasets_import_target(
452+
remotes, data_file, data_repository, runner, project, client
453+
):
454+
"""Test importing data into a dataset."""
455+
# create a dataset
456+
result = runner.invoke(cli.cli, ['dataset', 'create', 'dataset'])
457+
assert 0 == result.exit_code
458+
assert 'OK' in result.output
459+
460+
with client.with_dataset('dataset') as dataset:
461+
assert dataset.name == 'dataset'
462+
463+
# add data
464+
result = runner.invoke(
465+
cli.cli,
466+
['dataset', 'add', 'dataset',
467+
str(data_file)],
468+
catch_exceptions=False,
469+
)
470+
assert 0 == result.exit_code
471+
assert os.stat(
472+
os.path.join('data', 'dataset', os.path.basename(str(data_file)))
473+
)
474+
475+
# add data from a git repo via http
476+
result = runner.invoke(
477+
cli.cli,
478+
[
479+
'dataset', 'add', 'dataset', '--target', remotes['filename'],
480+
remotes['url']
481+
],
482+
catch_exceptions=False,
483+
)
484+
assert 0 == result.exit_code
485+
assert os.stat(remotes['expected_path'])
486+
487+
# add data from local git repo
488+
result = runner.invoke(
489+
cli.cli,
490+
[
491+
'dataset',
492+
'add',
493+
'dataset',
494+
'-t',
495+
'dir2/file2',
496+
os.path.dirname(data_repository.git_dir),
497+
],
498+
)
499+
assert 0 == result.exit_code

0 commit comments

Comments
 (0)