54 lines
1.6 KiB
Python
54 lines
1.6 KiB
Python
from django.core.exceptions import ValidationError
|
|
|
|
import pytest
|
|
|
|
from django_cryptolock.validators import validate_monero_address
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"network,address",
|
|
[
|
|
(
|
|
"mainnet",
|
|
"46fYuhPAdsxMbEeMg97LhSbFPamdiCw7C6b19VEcZSmV6xboWFZuZQ9MTbj1wLszhUExHi63CMtsWjDTrRDqegZiPVebgYq",
|
|
),
|
|
(
|
|
"stagenet",
|
|
"5A2uBqpNg7E4cYzA7bhXeuP9C2qSeUAtDhUScFgTBJWMUNJd9yZJxwDHg8sPVPBBx7JJFYqxDSbb7HFz2w8dttVJKW5Yipp",
|
|
),
|
|
(
|
|
"testnet",
|
|
"9waU7xxRYbC2HkKV2k4dzPjEYwkYDiHmfELLUkS8vegVLEYkk2dk3X5JJZtURNthsaDh8zL5SYAp8VXMzqvRYptgGTYNpEn",
|
|
),
|
|
],
|
|
)
|
|
def test_valid_address(network, address, settings):
|
|
settings.DJCL_MONERO_NETWORK = network
|
|
assert validate_monero_address(address) is None
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"network,address",
|
|
[
|
|
(
|
|
"mainnet",
|
|
"9waU7xxRYbC2HkKV2k4dzPjEYwkYDiHmfELLUkS8vegVLEYkk2dk3X5JJZtURNthsaDh8zL5SYAp8VXMzqvRYptgGTYNpEn",
|
|
),
|
|
(
|
|
"stagenet",
|
|
"46fYuhPAdsxMbEeMg97LhSbFPamdiCw7C6b19VEcZSmV6xboWFZuZQ9MTbj1wLszhUExHi63CMtsWjDTrRDqegZiPVebgYq",
|
|
),
|
|
(
|
|
"testnet",
|
|
"5A2uBqpNg7E4cYzA7bhXeuP9C2qSeUAtDhUScFgTBJWMUNJd9yZJxwDHg8sPVPBBx7JJFYqxDSbb7HFz2w8dttVJKW5Yipp",
|
|
),
|
|
],
|
|
)
|
|
def test_invalid_address(network, address, settings):
|
|
settings.DJCL_MONERO_NETWORK = network
|
|
|
|
with pytest.raises(ValidationError) as error:
|
|
validate_monero_address(address)
|
|
|
|
assert f"Invalid address for {network}" in str(error.value)
|