def test_push_one_collision(tmpdir): rdoup_path, dest_path = prep_push_test(tmpdir, 'one_added', 'collision') dest_base = str(dest_path.join('openstack-')) pre_rdoup_tree = cfind(rdoup_path) pre_dest_tree = cfind(dest_path) with tmpdir.as_cwd(): rdopkg.shell.main(cargs=['push-updates', str(rdoup_path), dest_base]) # Nothing should change on collision - ensure rollback dest_tree = cfind(dest_path) assert dest_tree == pre_dest_tree rdoup_tree = cfind(rdoup_path) assert rdoup_tree == pre_rdoup_tree
def test_push_selected_mixed_clean(tmpdir): rdoup_path, dest_path = prep_push_test(tmpdir, 'mixed', 'clean') dest_base = str(dest_path.join('openstack-')) with tmpdir.as_cwd(): rdopkg.shell.main(cargs=['push-updates', str(rdoup_path), dest_base, '-f', 'ready/iceh.yml', 'updates/griz.yml', ]) tree = cfind(dest_path) exp_tree = { './openstack-grizzly', './openstack-grizzly/EMPTY', './openstack-grizzly/epel-6', './openstack-grizzly/epel-6/potato-1.0.0-3.el6.noarch.rpm', './openstack-grizzly/epel-6/potato-1.0.0-3.el6.src.rpm', './openstack-grizzly/fedora-20', './openstack-grizzly/fedora-20/potato-1.0.0-2.fc21.noarch.rpm', './openstack-grizzly/fedora-20/potato-1.0.0-2.fc21.src.rpm', './openstack-havana', './openstack-havana/EMPTY', './openstack-icehouse', './openstack-icehouse/EMPTY', './openstack-icehouse/epel-6', './openstack-icehouse/epel-6/banana-1.0.0-3.el6.noarch.rpm', './openstack-icehouse/epel-6/banana-1.0.0-3.el6.src.rpm', './openstack-icehouse/fedora-20', './openstack-icehouse/fedora-20/banana-1.0.0-2.fc21.noarch.rpm', './openstack-icehouse/fedora-20/banana-1.0.0-2.fc21.src.rpm', './sign-rpms', } assert tree == exp_tree tree = cfind(rdoup_path, include_dirs=False) assert tree == { './ready/fail.yml', './ready/hava.yml', './pushed/iceh.yml', './pushed/iceh.yml.files', './pushed/griz.yml', './pushed/griz.yml.files', } assert_files_list( str(rdoup_path.join('pushed/iceh.yml.files')), dest_base, FILE_LISTS['iceh.yml']) assert_files_list( str(rdoup_path.join('pushed/griz.yml.files')), dest_base, FILE_LISTS['griz.yml'])
def test_push_all_mixed_collision_overwrite(tmpdir): rdoup_path, dest_path = prep_push_test(tmpdir, 'mixed', 'collision') dest_base = str(dest_path.join('openstack-')) with tmpdir.as_cwd(): rdopkg.shell.main( cargs=['push-updates', str(rdoup_path), dest_base, '-w']) tree = cfind(dest_path) exp_tree = { './openstack-grizzly', './openstack-grizzly/EMPTY', './openstack-havana', './openstack-havana/epel-6', './openstack-havana/epel-6/banana-1.0.0-3.el6.src.rpm', './openstack-havana/epel-6/orange-1.0.0-3.el6.noarch.rpm', './openstack-havana/epel-6/orange-1.0.0-3.el6.src.rpm', './openstack-havana/fedora-20', './openstack-havana/fedora-20/orange-1.0.0-2.fc21.noarch.rpm', './openstack-havana/fedora-20/orange-1.0.0-2.fc21.src.rpm', './openstack-icehouse', './openstack-icehouse/epel-6', './openstack-icehouse/epel-6/banana-1.0.0-3.el6.src.rpm', './openstack-icehouse/fedora-20', './openstack-icehouse/fedora-20/banana-1.0.0-2.fc21.noarch.rpm', './openstack-icehouse/fedora-20/banana-1.0.0-2.fc21.src.rpm', './openstack-icehouse/epel-6/banana-1.0.0-3.el6.noarch.rpm', './sign-rpms', } assert tree == exp_tree tree = cfind(rdoup_path, include_dirs=False) # failed update shoud remain as well as updates outside of ready/ assert tree == { './pushed/hava.yml', './pushed/hava.yml.files', './pushed/iceh.yml', './pushed/iceh.yml.files', './ready/fail.yml', './updates/griz.yml', } assert_files_list( str(rdoup_path.join('pushed/hava.yml.files')), dest_base, FILE_LISTS['hava.yml'])
def test_push_one_clean(tmpdir): rdoup_path, dest_path = prep_push_test(tmpdir, 'one_added', 'clean') dest_base = str(dest_path.join('openstack-')) with tmpdir.as_cwd(): rdopkg.shell.main(cargs=['push-updates', str(rdoup_path), dest_base]) # pushed packages tree = cfind(dest_path) exp_tree = { './openstack-grizzly', './openstack-grizzly/EMPTY', './openstack-havana', './openstack-havana/EMPTY', './openstack-icehouse', './openstack-icehouse/EMPTY', './openstack-icehouse/epel-6', './openstack-icehouse/epel-6/banana-1.0.0-3.el6.noarch.rpm', './openstack-icehouse/epel-6/banana-1.0.0-3.el6.src.rpm', './openstack-icehouse/fedora-20', './openstack-icehouse/fedora-20/banana-1.0.0-2.fc21.noarch.rpm', './openstack-icehouse/fedora-20/banana-1.0.0-2.fc21.src.rpm', './sign-rpms', } assert tree == exp_tree # rdo-update repo changes tree = cfind(rdoup_path, include_dirs=False) exp_tree = { './pushed/iceh.yml', './pushed/iceh.yml.files', } assert tree == exp_tree # list of pushed files assert_files_list( str(rdoup_path.join('pushed/iceh.yml.files')), dest_base, FILE_LISTS['iceh.yml'])
def test_dl_basic(tmpdir): upf = common.update_file('basic') assert upf.check() with tmpdir.as_cwd(): run('download', '-f', str(upf), '-o', 'out') current = common.cfind('out') right = { './icehouse', './icehouse/fedora-20', './icehouse/fedora-20/banana-1.0-1.fc21.noarch.rpm', './icehouse/fedora-20/banana-1.0-1.fc21.src.rpm', './icehouse/fedora-20/orange-2.0-2.el6.noarch.rpm', './icehouse/fedora-20/orange-2.0-2.el6.src.rpm', } assert current == right
def test_dl_archfail(tmpdir): upf = common.update_file('archfail') assert upf.check() with tmpdir.as_cwd(): ec = run('download', '--file', str(upf), '-u', '-o', 'out') current = common.cfind('.') right = { "./out", "./out/archfail.yml", "./out/archfail.yml/icehouse", "./out/archfail.yml/icehouse/fedora-20", "./out/archfail.yml/icehouse/fedora-20/banana-1.0-1.fc21.noarch.rpm", "./out/archfail.yml/icehouse/fedora-20/banana-1.0-1.fc21.src.rpm", "./out/archfail.yml/icehouse/fedora-20/orange-2.0-2.el6.src.rpm", } import json print json.dumps(sorted(current), indent=2) assert current == right