1import os 2 3from rosdistro import get_index, get_release_file 4from rosdistro.loader import load_url 5from rosdistro.release_file import ReleaseFile 6 7import yaml 8 9FILES_DIR = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'files')) 10 11 12def test_release_file(): 13 url = 'file://' + FILES_DIR + '/foo/distribution.yaml' 14 yaml_str = load_url(url) 15 data = yaml.load(yaml_str) 16 rel_file = ReleaseFile('foo', data) 17 _validate_rel_file(rel_file) 18 19 20def test_get_release_file(): 21 url = 'file://' + FILES_DIR + '/index_v2.yaml' 22 i = get_index(url) 23 rel_file = get_release_file(i, 'foo') 24 _validate_rel_file(rel_file) 25 26 27def _validate_rel_file(rel_file): 28 assert('bar_repo' in rel_file.repositories) 29 repo = rel_file.repositories['bar_repo'] 30 assert repo.package_names == ['bar_repo'] 31 assert 'bar_repo' in rel_file.packages 32 33 assert'baz-repo' in rel_file.repositories 34 repo = rel_file.repositories['baz-repo'] 35 assert set(repo.package_names) == set(['baz_pkg1', 'baz_pkg2']) 36 assert 'baz_pkg1' in rel_file.packages 37 assert 'baz_pkg2' in rel_file.packages 38