Beispiel #1
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
    )
Beispiel #2
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)
Beispiel #3
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))
Beispiel #4
0
def install_action(args: argparse.Namespace) -> None:
    validate_install_cli_args(args)
    config = Config(args)
    package = Package(args, config.ipfs_backend)
    install_package(package, config)
    cli_logger.info(
        "%s package sourced from %s installed to %s.",
        package.alias,
        args.uri,
        config.ethpm_dir,
    )
Beispiel #5
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))
Beispiel #6
0
def test_list(config, owned_pkg, wallet_pkg, caplog):
    install_package(owned_pkg, config)
    install_package(wallet_pkg, config)

    with caplog.at_level(logging.INFO):
        list_installed_packages(config)
        assert (
            "owned==1.0.0 --- (ipfs://QmbeVyFLSuEUxiXKwSsEjef6icpdTdA4kGG9BcrJXKNKUW)\n"
            in caplog.text)  # noqa: E501
        assert (
            "wallet==1.0.0 --- (ipfs://QmRMSm4k37mr2T3A2MGxAj2eAHGR5veibVt1t9Leh5waV1)\n"
            in caplog.text)  # noqa: E501
        assert (
            "- safe-math-lib==1.0.0 --- (ipfs://QmWgvM8yXGyHoGWqLFXvareJsoCZVsdrpKNCLMun3RaSJm)\n"
            in caplog.text)  # noqa: E501
        assert (
            "- owned==1.0.0 --- (ipfs://QmbeVyFLSuEUxiXKwSsEjef6icpdTdA4kGG9BcrJXKNKUW)\n"
            in caplog.text)  # noqa: E501
Beispiel #7
0
def test_cannot_install_same_package_twice(config, owned_pkg):
    install_package(owned_pkg, config)

    with pytest.raises(InstallError, match="Installation conflict:"):
        install_package(owned_pkg, config)