-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Allow registry uri to namespace package assets
- Loading branch information
1 parent
7306fde
commit 6e98b8f
Showing
3 changed files
with
71 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -39,6 +39,7 @@ | |
("erc1319://0xd3CdA913deB6f67967B99D67aCDFa1712C293601/[email protected]"), | ||
("erc1319://0xd3CdA913deB6f67967B99D67aCDFa1712C293601:1/[email protected]"), | ||
("erc1319://0xd3CdA913deB6f67967B99D67aCDFa1712C293601:1/[email protected]/"), | ||
("erc1319://0xd3CdA913deB6f67967B99D67aCDFa1712C293601:1/[email protected]/deployments/ERC139") | ||
), | ||
) | ||
def test_is_registry_uri_validates(uri): | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -75,63 +75,86 @@ def test_create_github_uri(): | |
( | ||
( | ||
"erc1319://0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "1", None, None, None], | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "1", None, None, None, None], | ||
), | ||
( | ||
"erc1319://0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729:3", | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "3", None, None, None], | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "3", None, None, None, None], | ||
), | ||
( | ||
"erc1319://0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729:5/owned", | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "5", "owned", None, None], | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "5", "owned", None, None, None], | ||
), | ||
( | ||
"erc1319://0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729:1/[email protected]", | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "1", "owned", "1.0.0", None], | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "1", "owned", "1.0.0", None, None], | ||
), | ||
( | ||
"erc1319://0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729:1/[email protected]/", | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "1", "wallet", "2.8.0", None], | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "1", "wallet", "2.8.0", None, None], | ||
), | ||
# ethpm scheme | ||
( | ||
"ethpm://0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729:1/[email protected]", | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "1", "wallet", "2.8.0", None], | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "1", "wallet", "2.8.0", None, None], | ||
), | ||
# w/o chain_id | ||
( | ||
"erc1319://0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729/owned", | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "1", "owned", None, None], | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "1", "owned", None, None, None], | ||
), | ||
( | ||
"ethpm://0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729/[email protected]", | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "1", "wallet", "2.8.0", None], | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "1", "wallet", "2.8.0", None, None], | ||
), | ||
( | ||
"ethpm://0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729/wallet@8%400", | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "1", "wallet", "8@0", None], | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "1", "wallet", "8@0", None, None], | ||
), | ||
# escaped chars | ||
( | ||
"ethpm://0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729:1/wallet@8%400", | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "1", "wallet", "8@0", None], | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "1", "wallet", "8@0", None, None], | ||
), | ||
( | ||
"ethpm://0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729:1/wallet@%250", | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "1", "wallet", "%0", None], | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "1", "wallet", "%0", None, None], | ||
), | ||
( | ||
"ethpm://0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729:1/wallet@8%400/", | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "1", "wallet", "8@0", None], | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "1", "wallet", "8@0", None, None], | ||
), | ||
# with namespaced manifest contents | ||
( | ||
"ethpm://0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729/[email protected]/deployments", | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "1", "wallet", "2.8.0", "deployments", None], # noqa: E501 | ||
), | ||
( | ||
"ethpm://0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729/[email protected]/deployments/", | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "1", "wallet", "2.8.0", "deployments", None], # noqa: E501 | ||
), | ||
( | ||
"ethpm://0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729/[email protected]/deployments/WalletContract", # noqa: E501 | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "1", "wallet", "2.8.0", "deployments/WalletContract", None], # noqa: E501 | ||
), | ||
( | ||
"ethpm://0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729/[email protected]/deployments/WalletContract/", # noqa: E501 | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "1", "wallet", "2.8.0", "deployments/WalletContract", None], # noqa: E501 | ||
), | ||
# unescaped chars & namespaced assets | ||
( | ||
"ethpm://0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729/wallet@20%26/deployments/WalletContract/", # noqa: E501 | ||
["0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729", "1", "wallet", "20&", "deployments/WalletContract", None], # noqa: E501 | ||
), | ||
), | ||
) | ||
def test_parse_registry_uri(uri, expected): | ||
address, chain_id, pkg_name, pkg_version, ens = parse_registry_uri(uri) | ||
address, chain_id, pkg_name, pkg_version, namespaced_asset, ens = parse_registry_uri(uri) | ||
assert address == expected[0] | ||
assert chain_id == expected[1] | ||
assert pkg_name == expected[2] | ||
assert pkg_version == expected[3] | ||
assert namespaced_asset == expected[4] | ||
|
||
|
||
@pytest.mark.parametrize( | ||
|
@@ -148,6 +171,9 @@ def test_parse_registry_uri(uri, expected): | |
"ethpm://0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729/ab@@1.0.0", | ||
"ethpm://0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729/[email protected]", | ||
"ethpm://0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729/[email protected]/", | ||
# namespaced asset and missing version | ||
"ethpm://0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729/wallet/deployments/WalletContract", | ||
"ethpm://0x6b5DA3cA4286Baa7fBaf64EEEE1834C7d430B729/wallet@/deployments/WalletContract", | ||
) | ||
) | ||
def test_invalid_registry_uris(uri): | ||
|