예제 #1
0
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
예제 #2
0
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
예제 #3
0
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"]
    })
예제 #4
0
파일: test_fetch.py 프로젝트: dcos/dcos
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"]
        })
예제 #5
0
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"]
    })
예제 #6
0
파일: test_fetch.py 프로젝트: dcos/dcos
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"]
        })
예제 #7
0
def test_active():
    assert run([
        "pkgpanda", "active", "--root={}".format(resources_test_dir("install"))
    ]) == active_output
예제 #8
0
def test_list():
    assert run([
        "pkgpanda", "list",
        "--repository={}".format(resources_test_dir("packages"))
    ]) == list_output
예제 #9
0
def test_active():
    assert run(["pkgpanda", "active", "--root={}".format(resources_test_dir("install"))]) == active_output
예제 #10
0
def test_list():
    assert run(["pkgpanda", "list", "--repository={}".format(resources_test_dir("packages"))]) == list_output
예제 #11
0
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"}
예제 #12
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')
예제 #13
0
def test_active():
    assert run(["pkgpanda", "active", "--root=../resources/install"]) == active_output
예제 #14
0
def test_list():
    assert run(["pkgpanda", "list", "--repository=../resources/packages"]) == list_output
예제 #15
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", "--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')