def test_install_recursive_with_data(src=None, path=None): _make_dataset_hierarchy(src) # now again; with data: res = install(path, source=src, recursive=True, get_data=True, result_filter=None, result_xfm=None) assert_status('ok', res) # installed a dataset and two subdatasets, and one file with content in # each assert_result_count(res, 5, type='dataset', action='install') assert_result_count(res, 2, type='file', action='get') # we recurse top down during installation, so toplevel should appear at # first position in returned list eq_(res[0]['path'], path) top_ds = YieldDatasets()(res[0]) ok_(top_ds.is_installed()) def all_have_content(repo): ainfo = repo.get_content_annexinfo(init=None, eval_availability=True) return all(st["has_content"] for st in ainfo.values()) if isinstance(top_ds.repo, AnnexRepo): ok_(all_have_content(top_ds.repo)) for subds in top_ds.subdatasets(recursive=True, result_xfm='datasets'): ok_(subds.is_installed(), "Not installed: %s" % (subds, )) if isinstance(subds.repo, AnnexRepo): ok_(all_have_content(subds.repo))
def test_install_recursive_with_data(src, path): # now again; with data: res = install(path, source=src, recursive=True, get_data=True, result_filter=None, result_xfm=None) assert_status('ok', res) # installed a dataset and two subdatasets, and one file with content in # each, plus the report that we got all content in each dataset's root dir eq_(len(res), 9) assert_result_count(res, 3, type='dataset') # we recurse top down during installation, so toplevel should appear at # first position in returned list eq_(res[0]['path'], path) top_ds = YieldDatasets()(res[0]) ok_(top_ds.is_installed()) if isinstance(top_ds.repo, AnnexRepo): ok_(all(top_ds.repo.file_has_content(top_ds.repo.get_annexed_files()))) for subds in top_ds.subdatasets(recursive=True, result_xfm='datasets'): ok_(subds.is_installed(), "Not installed: %s" % (subds, )) if isinstance(subds.repo, AnnexRepo): ok_( all(subds.repo.file_has_content( subds.repo.get_annexed_files())))
def test_install_recursive_with_data(src, path): # now again; with data: res = install(path, source=src, recursive=True, get_data=True, result_filter=None, result_xfm=None) assert_status('ok', res) # installed a dataset and two subdatasets, and one file with content in # each, plus the report that we got all content in each dataset's root dir eq_(len(res), 9) assert_result_count(res, 3, type='dataset') # we recurse top down during installation, so toplevel should appear at # first position in returned list eq_(res[0]['path'], path) top_ds = YieldDatasets()(res[0]) ok_(top_ds.is_installed()) if isinstance(top_ds.repo, AnnexRepo): ok_(all(top_ds.repo.file_has_content(top_ds.repo.get_annexed_files()))) for subds in top_ds.subdatasets(recursive=True, result_xfm='datasets'): ok_(subds.is_installed(), "Not installed: %s" % (subds,)) if isinstance(subds.repo, AnnexRepo): ok_(all(subds.repo.file_has_content(subds.repo.get_annexed_files())))