1import os 2 3from rosdistro import get_distribution_file, get_distribution_files, get_index 4from rosdistro.distribution_file import DistributionFile 5from rosdistro.loader import load_url 6 7import yaml 8 9FILES_DIR = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'files')) 10 11 12def test_distribution_file(): 13 url = 'file://' + FILES_DIR + '/foo/distribution.yaml' 14 yaml_str = load_url(url) 15 data = yaml.load(yaml_str) 16 dist_file = DistributionFile('foo', data) 17 _validate_dist_file(dist_file) 18 19 20def test_get_distribution_file(): 21 url = 'file://' + FILES_DIR + '/index_v2.yaml' 22 i = get_index(url) 23 dist_file = get_distribution_file(i, 'foo') 24 _validate_dist_file(dist_file) 25 26 dist_files = get_distribution_files(i, 'foo') 27 assert len(dist_files) == 1 28 29 30def _validate_dist_file(dist_file): 31 assert('bar_repo' in dist_file.repositories) 32 repo = dist_file.repositories['bar_repo'] 33 assert repo.release_repository.package_names == ['bar_repo'] 34 assert 'bar_repo' in dist_file.release_packages 35 36 assert'baz-repo' in dist_file.repositories 37 repo = dist_file.repositories['baz-repo'] 38 assert set(repo.release_repository.package_names) == set(['baz_pkg1', 'baz_pkg2']) 39 assert 'baz_pkg1' in dist_file.release_packages 40 assert 'baz_pkg2' in dist_file.release_packages 41