Exemple #1
0
def test_can_install_same_package_twice_if_aliased(config, owned_pkg,
                                                   test_assets_dir):
    aliased_pkg = Package(
        Namespace(
            uri=OWNED_MANIFEST_IPFS_URI,
            alias="owned-alias",
        ),
        config.ipfs_backend,
    )
    install_package(owned_pkg, config)
    install_package(aliased_pkg, config)

    assert (config.ethpm_dir / "owned").is_dir()
    assert check_dir_trees_equal(
        config.ethpm_dir / "owned",
        test_assets_dir / "owned" / "ipfs_uri" / ETHPM_PACKAGES_DIR / "owned",
    )
    assert (config.ethpm_dir / "owned-alias").is_dir()
    assert check_dir_trees_equal(
        config.ethpm_dir / "owned-alias",
        test_assets_dir / "owned"  # noqa: W503
        / "ipfs_uri_alias"  # noqa: W503
        / ETHPM_PACKAGES_DIR  # noqa: W503
        / "owned-alias",  # noqa: W503
    )
Exemple #2
0
def test_can_install_same_package_twice_if_aliased(config, owned_pkg,
                                                   test_assets_dir):
    aliased_pkg = Package(
        Namespace(
            uri="ipfs://QmbeVyFLSuEUxiXKwSsEjef6icpdTdA4kGG9BcrJXKNKUW",
            alias="owned-alias",
        ),
        config.ipfs_backend,
    )
    install_package(owned_pkg, config)
    install_package(aliased_pkg, config)

    assert (config.ethpm_dir / "owned").is_dir()
    assert check_dir_trees_equal(
        config.ethpm_dir / "owned",
        test_assets_dir / "owned" / "ipfs_uri" / ETHPM_PACKAGES_DIR / "owned",
    )
    assert (config.ethpm_dir / "owned-alias").is_dir()
    assert check_dir_trees_equal(
        config.ethpm_dir / "owned-alias",
        test_assets_dir / "owned"  # noqa: W503
        / "ipfs_uri_alias"  # noqa: W503
        / ETHPM_PACKAGES_DIR  # noqa: W503
        / "owned-alias",  # noqa: W503
    )
Exemple #3
0
def test_ethpm_uninstall(config, test_assets_dir):
    test_ethpm_dir = config.ethpm_dir / ETHPM_PACKAGES_DIR
    shutil.copytree(test_assets_dir / "multiple" / ETHPM_PACKAGES_DIR, test_ethpm_dir)
    assert check_dir_trees_equal(
        test_ethpm_dir, test_assets_dir / "multiple" / ETHPM_PACKAGES_DIR
    )
    child = pexpect.spawn(f"ethpm uninstall owned --ethpm-dir {test_ethpm_dir}")
    child.expect(f"owned uninstalled from {test_ethpm_dir}\r\n")
    assert check_dir_trees_equal(
        test_ethpm_dir, test_assets_dir / "wallet" / "ipfs_uri" / ETHPM_PACKAGES_DIR
    )
Exemple #4
0
def test_install_package(args, pkg_name, install_type, config,
                         test_assets_dir):
    pkg = Package(args, config.ipfs_backend)
    install_package(pkg, config)

    expected_package = test_assets_dir / pkg_name / install_type / ETHPM_PACKAGES_DIR
    assert check_dir_trees_equal(config.ethpm_dir, expected_package)
Exemple #5
0
def test_scraper_imports_existing_ethpmcli_dir(log, log_2, test_assets_dir,
                                               w3):
    release(
        log,
        w3,
        "owned",
        "1.0.0",
        "ipfs://QmcxvhkJJVpbxEAa6cgW3B6XwPJb79w9GpNUv2P2THUzZR",
    )

    w3.testing.mine(3)
    release(
        log_2,
        w3,
        "owned-dupe",
        "1.0.0",
        "ipfs://QmcxvhkJJVpbxEAa6cgW3B6XwPJb79w9GpNUv2P2THUzZR",
    )

    ethpmcli_dir = get_xdg_ethpmcli_root()
    # First scrape
    scrape(w3, ethpmcli_dir, 1)
    w3.testing.mine(3)
    release(
        log,
        w3,
        "wallet",
        "1.0.0",
        "ipfs://QmRALeFkttSr6DLmPiNtAqLcMJYXu4BK3SjZGVgW8VASnm",
    )
    w3.testing.mine(3)
    # Second scrape
    scrape(w3, ethpmcli_dir, 1)
    assert check_dir_trees_equal(ethpmcli_dir,
                                 (test_assets_dir.parent / "ipfs"))
Exemple #6
0
def test_scraper_imports_existing_ethpmcli_dir(log, log_2, test_assets_dir,
                                               w3):
    release(
        log,
        w3,
        "owned",
        "1.0.0",
        "ipfs://QmbeVyFLSuEUxiXKwSsEjef6icpdTdA4kGG9BcrJXKNKUW",
    )

    w3.testing.mine(3)
    release(
        log_2,
        w3,
        "owned-dupe",
        "1.0.0",
        "ipfs://QmbeVyFLSuEUxiXKwSsEjef6icpdTdA4kGG9BcrJXKNKUW",
    )

    ethpmcli_dir = get_xdg_ethpmcli_root()
    # First scrape
    scrape(w3, ethpmcli_dir, 1)
    w3.testing.mine(3)
    release(
        log,
        w3,
        "wallet",
        "1.0.0",
        "ipfs://QmRMSm4k37mr2T3A2MGxAj2eAHGR5veibVt1t9Leh5waV1",
    )
    w3.testing.mine(3)
    # Second scrape
    scrape(w3, ethpmcli_dir, 1)
    assert check_dir_trees_equal(ethpmcli_dir,
                                 (test_assets_dir.parent / "ipfs"))
Exemple #7
0
def test_install_multiple_packages(config, test_assets_dir, owned_pkg,
                                   wallet_pkg):
    install_package(owned_pkg, config)
    install_package(wallet_pkg, config)

    assert (config.ethpm_dir / "wallet").is_dir()
    assert (config.ethpm_dir / "owned").is_dir()
    assert check_dir_trees_equal(
        config.ethpm_dir, (test_assets_dir / "multiple" / ETHPM_PACKAGES_DIR))
Exemple #8
0
def test_uninstall_packages(uninstall, keep, config, test_assets_dir,
                            owned_pkg, wallet_pkg):
    install_package(owned_pkg, config)
    install_package(wallet_pkg, config)
    uninstall_package(uninstall, config)

    assert (config.ethpm_dir / keep).is_dir()
    assert not (config.ethpm_dir / uninstall).is_dir()
    assert check_dir_trees_equal(
        config.ethpm_dir,
        (test_assets_dir / keep / "ipfs_uri" / ETHPM_PACKAGES_DIR))
Exemple #9
0
def test_ethpm_install(tmp_path, test_assets_dir):
    ethpm_dir = tmp_path / ETHPM_PACKAGES_DIR
    child = pexpect.spawn(
        "ethpm install ipfs://QmbeVyFLSuEUxiXKwSsEjef6icpdTdA4kGG9BcrJXKNKUW "
        f"--ethpm-dir {ethpm_dir}")
    child.expect(f"ethPM CLI v{ETHPM_CLI_VERSION}\r\n")
    child.expect("\r\n")
    child.expect(
        "owned package sourced from ipfs://QmbeVyFLSuEUxiXKwSsEjef6icpdTdA4kGG9BcrJXKNKUW "
        f"installed to {ethpm_dir}.\r\n")
    assert check_dir_trees_equal(
        ethpm_dir, test_assets_dir / "owned" / "ipfs_uri" / ETHPM_PACKAGES_DIR)
def test_ethpm_install(tmp_path, test_assets_dir):
    ethpm_dir = tmp_path / ETHPM_PACKAGES_DIR
    child = pexpect.spawn(
        "ethpm install ipfs://QmcxvhkJJVpbxEAa6cgW3B6XwPJb79w9GpNUv2P2THUzZR "
        f"--ethpm-dir {ethpm_dir}")
    child.expect(ENTRY_DESCRIPTION)
    child.expect("\r\n")
    child.expect(
        "owned package sourced from ipfs://QmcxvhkJJVpbxEAa6cgW3B6XwPJb79w9GpNUv2P2THUzZR "
        f"installed to {ethpm_dir}.\r\n")
    assert check_dir_trees_equal(
        ethpm_dir, test_assets_dir / "owned" / "ipfs_uri" / ETHPM_PACKAGES_DIR)
Exemple #11
0
def test_ethpm_uninstall_aliased_package(config, test_assets_dir):
    test_ethpm_dir = config.ethpm_dir / ETHPM_PACKAGES_DIR
    shutil.copytree(
        test_assets_dir / "owned" / "ipfs_uri_alias" / ETHPM_PACKAGES_DIR,
        test_ethpm_dir,
    )
    assert check_dir_trees_equal(
        test_ethpm_dir,
        test_assets_dir / "owned" / "ipfs_uri_alias" / ETHPM_PACKAGES_DIR,
    )
    child = pexpect.spawn(f"ethpm uninstall owned --ethpm-dir {test_ethpm_dir}")
    child.expect(ENTRY_DESCRIPTION)
    child.expect("\r\n")
    child.expect(r"Found owned installed under the alias\(es\): \('owned-alias',\). ")
    child.expect(
        "To uninstall an aliased package, use the alias as the uninstall argument.\r\n"
    )