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 )
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 )
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 )
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)
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"))
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"))
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))
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))
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)
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" )