django-cryptolock/tests/test_validators.py

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)