def test_remove(tmpdir): repo_dir = str(tmpdir.join("repo")) copytree(resources_test_dir("packages"), repo_dir) assert run([ "pkgpanda", "remove", "mesos--0.22.0", "--repository={}".format(repo_dir), "--root={}".format(resources_test_dir("install_empty"))]) assert run(["pkgpanda", "list", "--repository={}".format(repo_dir)]) == list_remove_output
def test_remove(tmpdir): repo_dir = str(tmpdir.join("repo")) copytree(resources_test_dir("packages"), repo_dir) assert run([ "pkgpanda", "remove", "mesos--0.22.0", "--repository={}".format(repo_dir), "--root={}".format(resources_test_dir("install_empty")) ]) assert run(["pkgpanda", "list", "--repository={}".format(repo_dir)]) == list_remove_output
def test_add(tmpdir): assert run([ "pkgpanda", "add", resources_test_dir('remote_repo/packages/mesos/mesos--0.22.0.tar.xz'), "--repository={0}".format(tmpdir), ]) == "" # Ensure that the package at least somewhat extracted correctly. expect_fs("{0}".format(tmpdir), { "mesos--0.22.0": ["lib", "bin_master", "bin_slave", "pkginfo.json", "bin"] })
def test_add(tmpdir): assert run([ "pkgpanda", "add", resources_test_dir('remote_repo/packages/mesos/mesos--0.22.0.tar.xz'), "--repository={0}".format(tmpdir), ]) == "" # Ensure that the package at least somewhat extracted correctly. expect_fs( "{0}".format(tmpdir), { "mesos--0.22.0": ["lib", "bin_master", "bin_slave", "pkginfo.json", "bin"] })
def test_fetch(tmpdir): # NOTE: tmpdir is explicitly empty because we want to be sure a fetch. # succeeds when there isn't anything yet. # Start a simpleHTTPServer to serve the packages # fetch a couple packages assert run([ "pkgpanda", "fetch", "mesos--0.22.0", "--repository={0}".format(tmpdir), "--repository-url=file://{}/".format(resources_test_dir('remote_repo')) ]) == fetch_output # Ensure that the package at least somewhat extracted correctly. expect_fs("{0}".format(tmpdir), { "mesos--0.22.0": ["lib", "bin_master", "bin_slave", "pkginfo.json", "bin"] })
def test_fetch(tmpdir): # NOTE: tmpdir is explicitly empty because we want to be sure a fetch. # succeeds when there isn't anything yet. # Start a simpleHTTPServer to serve the packages # fetch a couple packages assert run([ "pkgpanda", "fetch", "mesos--0.22.0", "--repository={0}".format(tmpdir), "--repository-url=file://{}/".format(resources_test_dir('remote_repo')) ]) == fetch_output # Ensure that the package at least somewhat extracted correctly. expect_fs( "{0}".format(tmpdir), { "mesos--0.22.0": ["lib", "bin_master", "bin_slave", "pkginfo.json", "bin"] })
def test_active(): assert run([ "pkgpanda", "active", "--root={}".format(resources_test_dir("install")) ]) == active_output
def test_list(): assert run([ "pkgpanda", "list", "--repository={}".format(resources_test_dir("packages")) ]) == list_output
def test_active(): assert run(["pkgpanda", "active", "--root={}".format(resources_test_dir("install"))]) == active_output
def test_list(): assert run(["pkgpanda", "list", "--repository={}".format(resources_test_dir("packages"))]) == list_output
def test_activate(tmpdir): repo_path = tmp_repository(tmpdir) tmpdir.join("root", "bootstrap").write("", ensure=True) # TODO(cmaloney): Depending on setup here is less than ideal, but meh. check_call([ "pkgpanda", "setup", "--root={0}/root".format(tmpdir), "--rooted-systemd", "--repository={}".format(repo_path), "--config-dir=../resources/etc-active", "--no-systemd" ]) assert run([ "pkgpanda", "activate", "mesos--0.22.0", "mesos-config--ffddcfb53168d42f92e4771c6f8a8a9a818fd6b8", "--root={0}/root".format(tmpdir), "--rooted-systemd", "--repository={}".format(repo_path), "--config-dir=../resources/etc-active", "--no-systemd" ]) == "" # Check introspection to active is working right. active = set( check_output([ "pkgpanda", "active", "--root={0}/root".format(tmpdir), "--rooted-systemd", "--repository={}".format(repo_path), "--config-dir=../resources/etc-active" ]).decode('utf-8').split()) assert active == { "mesos--0.22.0", "mesos-config--ffddcfb53168d42f92e4771c6f8a8a9a818fd6b8" } # Swap out one package assert run([ "pkgpanda", "swap", "mesos-config--justmesos", "--root={0}/root".format(tmpdir), "--rooted-systemd", "--repository={}".format(repo_path), "--config-dir=../resources/etc-active", "--no-systemd" ]) == "" # Check introspection to active is working right. active = set( check_output([ "pkgpanda", "active", "--root={0}/root".format(tmpdir), "--rooted-systemd", "--repository={}".format(repo_path), "--config-dir=../resources/etc-active" ]).decode('utf-8').split()) assert active == {"mesos--0.22.0", "mesos-config--justmesos"} assert run([ "pkgpanda", "activate", "mesos--0.22.0", "--root={0}/root".format(tmpdir), "--rooted-systemd", "--repository={}".format(repo_path), "--config-dir=../resources/etc-active", "--no-systemd" ]) == "" # Check introspection to active is working right. active = set( check_output([ "pkgpanda", "active", "--root={0}/root".format(tmpdir), "--rooted-systemd", "--repository={}".format(repo_path), "--config-dir=../resources/etc-active" ]).decode('utf-8').split()) assert active == {"mesos--0.22.0"}
def test_activate(tmpdir): repo_path = tmp_repository(tmpdir) state_dir_root = tmpdir.join("package_state") tmpdir.join("root", "bootstrap").write("", ensure=True) # TODO(cmaloney): Depending on setup here is less than ideal, but meh. check_call(["pkgpanda", "setup", "--root={0}/root".format(tmpdir), "--rooted-systemd", "--repository={}".format(repo_path), "--config-dir={}".format(resources_test_dir("etc-active")), "--no-systemd" ]) assert run(["pkgpanda", "activate", "mesos--0.22.0", "mesos-config--ffddcfb53168d42f92e4771c6f8a8a9a818fd6b8", "--root={0}/root".format(tmpdir), "--rooted-systemd", "--repository={}".format(repo_path), "--config-dir=../resources/etc-active", "--no-systemd"]) == "" # Check introspection to active is working right. active = set(check_output([ "pkgpanda", "active", "--root={0}/root".format(tmpdir), "--rooted-systemd", "--repository={}".format(repo_path), "--config-dir=../resources/etc-active"]).decode().split()) assert active == {"mesos--0.22.0", "mesos-config--ffddcfb53168d42f92e4771c6f8a8a9a818fd6b8"} # Swap out one package assert run(["pkgpanda", "swap", "mesos-config--justmesos", "--root={0}/root".format(tmpdir), "--rooted-systemd", "--repository={}".format(repo_path), "--config-dir=../resources/etc-active", "--no-systemd"]) == "" # Check introspection to active is working right. active = set(check_output([ "pkgpanda", "active", "--root={0}/root".format(tmpdir), "--rooted-systemd", "--repository={}".format(repo_path), "--config-dir=../resources/etc-active"]).decode().split()) assert active == {"mesos--0.22.0", "mesos-config--justmesos"} assert run(["pkgpanda", "activate", "mesos--0.22.0", "--root={0}/root".format(tmpdir), "--rooted-systemd", "--repository={}".format(repo_path), "--config-dir=../resources/etc-active", "--no-systemd"]) == "" # Check introspection to active is working right. active = set(check_output([ "pkgpanda", "active", "--root={0}/root".format(tmpdir), "--rooted-systemd", "--repository={}".format(repo_path), "--config-dir=../resources/etc-active"]).decode().split()) assert active == {"mesos--0.22.0"} # Check that mesos--0.23.0 gets its state directory created. assert not os.path.isdir(str(state_dir_root) + '/mesos') assert run(["pkgpanda", "activate", "mesos--0.23.0", "--root={0}/root".format(tmpdir), "--rooted-systemd", "--repository={}".format(repo_path), "--config-dir=../resources/etc-active", "--no-systemd", "--state-dir-root={}".format(state_dir_root)]) == "" assert os.path.isdir(str(state_dir_root) + '/mesos')
def test_active(): assert run(["pkgpanda", "active", "--root=../resources/install"]) == active_output
def test_list(): assert run(["pkgpanda", "list", "--repository=../resources/packages"]) == list_output
def test_activate(tmpdir): repo_path = tmp_repository(tmpdir) state_dir_root = tmpdir.join("package_state") tmpdir.join("root", "bootstrap").write("", ensure=True) # TODO(cmaloney): Depending on setup here is less than ideal, but meh. check_call([ "pkgpanda", "setup", "--silent", "--root={0}/root".format(tmpdir), "--rooted-systemd", "--repository={}".format(repo_path), "--config-dir={}".format(resources_test_dir("etc-active")), "--no-systemd" ]) assert run([ "pkgpanda", "activate", "--silent", "mesos--0.22.0", "mesos-config--ffddcfb53168d42f92e4771c6f8a8a9a818fd6b8", "--root={0}/root".format(tmpdir), "--rooted-systemd", "--repository={}".format(repo_path), "--config-dir=../resources/etc-active", "--no-systemd" ]) == "" # Check introspection to active is working right. active = set( check_output([ "pkgpanda", "active", "--silent", "--root={0}/root".format(tmpdir), "--rooted-systemd", "--repository={}".format(repo_path), "--config-dir=../resources/etc-active" ]).decode().split()) assert active == { "mesos--0.22.0", "mesos-config--ffddcfb53168d42f92e4771c6f8a8a9a818fd6b8" } # Swap out one package assert run([ "pkgpanda", "swap", "--silent", "mesos-config--justmesos", "--root={0}/root".format(tmpdir), "--rooted-systemd", "--repository={}".format(repo_path), "--config-dir=../resources/etc-active", "--no-systemd" ]) == "" # Check introspection to active is working right. active = set( check_output([ "pkgpanda", "active", "--silent", "--root={0}/root".format(tmpdir), "--rooted-systemd", "--repository={}".format(repo_path), "--config-dir=../resources/etc-active" ]).decode().split()) assert active == {"mesos--0.22.0", "mesos-config--justmesos"} assert run([ "pkgpanda", "activate", "--silent", "mesos--0.22.0", "--root={0}/root".format(tmpdir), "--rooted-systemd", "--repository={}".format(repo_path), "--config-dir=../resources/etc-active", "--no-systemd" ]) == "" # Check introspection to active is working right. active = set( check_output([ "pkgpanda", "active", "--silent", "--root={0}/root".format(tmpdir), "--rooted-systemd", "--repository={}".format(repo_path), "--config-dir=../resources/etc-active" ]).decode().split()) assert active == {"mesos--0.22.0"} # Check that mesos--0.23.0 gets its state directory created. assert not os.path.isdir(str(state_dir_root) + '/mesos') assert run([ "pkgpanda", "activate", "--silent", "mesos--0.23.0", "--root={0}/root".format(tmpdir), "--rooted-systemd", "--repository={}".format(repo_path), "--config-dir=../resources/etc-active", "--no-systemd", "--state-dir-root={}".format(state_dir_root) ]) == "" assert os.path.isdir(str(state_dir_root) + '/mesos')