mirror of
https://github.com/peeringdb/peeringdb.git
synced 2024-05-11 05:55:09 +00:00
initial commit of code
This commit is contained in:
101
tests/test_validators.py
Normal file
101
tests/test_validators.py
Normal file
@@ -0,0 +1,101 @@
|
||||
import ipaddress
|
||||
import os
|
||||
import pytest
|
||||
import requests
|
||||
|
||||
from django.test import override_settings
|
||||
from django.core.exceptions import ValidationError
|
||||
|
||||
from peeringdb_server.validators import (
|
||||
validate_address_space, validate_info_prefixes4, validate_info_prefixes6)
|
||||
|
||||
pytestmark = pytest.mark.django_db
|
||||
|
||||
INVALID_ADDRESS_SPACES = [
|
||||
'0.0.0.0/1',
|
||||
'0.0.0.0/8',
|
||||
'10.0.0.0/8',
|
||||
'127.0.0.0/8',
|
||||
'169.254.0.0/16',
|
||||
#FIXME: this fails still
|
||||
#'172.0.0.0/11',
|
||||
'172.16.0.0/12',
|
||||
'192.0.2.0/24',
|
||||
'192.168.0.0/16',
|
||||
'198.18.0.0/15',
|
||||
'198.51.100.0/24',
|
||||
'203.0.113.0/24',
|
||||
#FIXME: this fails still
|
||||
#'224.0.0.0/3',
|
||||
'224.0.0.0/4',
|
||||
'240.0.0.0/4',
|
||||
'100.64.0.0/10',
|
||||
'0000::/8',
|
||||
'0064:ff9b::/96',
|
||||
'0100::/8',
|
||||
'0200::/7',
|
||||
'0400::/6',
|
||||
'0800::/5',
|
||||
'1000::/4',
|
||||
'2001::/33',
|
||||
'2001:0:8000::/33',
|
||||
'2001:0002::/48',
|
||||
'2001:0003::/32',
|
||||
'2001:10::/28',
|
||||
'2001:20::/28',
|
||||
'2001:db8::/32',
|
||||
'2002::/16',
|
||||
'3ffe::/16',
|
||||
'4000::/2',
|
||||
'4000::/3',
|
||||
'5f00::/8',
|
||||
'6000::/3',
|
||||
'8000::/3',
|
||||
'a000::/3',
|
||||
'c000::/3',
|
||||
'e000::/4',
|
||||
'f000::/5',
|
||||
'f800::/6',
|
||||
'fc00::/7',
|
||||
'fe80::/10',
|
||||
'fec0::/10',
|
||||
'ff00::/8'
|
||||
]
|
||||
|
||||
|
||||
@pytest.fixture(params=INVALID_ADDRESS_SPACES)
|
||||
def prefix(request):
|
||||
return request.param
|
||||
|
||||
|
||||
#@pytest.mark.django_db
|
||||
def test_validate_address_space(prefix):
|
||||
"""
|
||||
Tests peeringdb_server.validators.validate_address_space
|
||||
"""
|
||||
with pytest.raises(ValidationError) as exc:
|
||||
validate_address_space(ipaddress.ip_network(unicode(prefix)))
|
||||
|
||||
|
||||
@override_settings(DATA_QUALITY_MAX_PREFIX_V4_LIMIT=500000)
|
||||
def test_validate_info_prefixes4():
|
||||
"""
|
||||
Tests peeringdb_server.validators.validate_info_prefixes4
|
||||
"""
|
||||
with pytest.raises(ValidationError):
|
||||
validate_info_prefixes4(500001)
|
||||
with pytest.raises(ValidationError):
|
||||
validate_info_prefixes4(-1)
|
||||
validate_info_prefixes4(500000)
|
||||
|
||||
|
||||
@override_settings(DATA_QUALITY_MAX_PREFIX_V6_LIMIT=500000)
|
||||
def test_validate_info_prefixes6():
|
||||
"""
|
||||
Tests peeringdb_server.validators.validate_info_prefixes6
|
||||
"""
|
||||
with pytest.raises(ValidationError):
|
||||
validate_info_prefixes6(500001)
|
||||
with pytest.raises(ValidationError):
|
||||
validate_info_prefixes6(-1)
|
||||
validate_info_prefixes6(500000)
|
Reference in New Issue
Block a user