mirror of
https://github.com/peeringdb/peeringdb.git
synced 2024-05-11 05:55:09 +00:00
* use new peeringdb client (1.0.0) for pdb_load_data sync (#599) * drop django-mobi for lack of py3/dj2 support (#492) remove django-forms-bootstrap for lack of py3/dj2 support (#492) * black formatted * django2.2 and py3 upgrade (#492) * drop ixlans (#21) ui and api changes * drop local_asn (#168) * org search (#193) * phone number validation (#50) * implement help text tooltips (#228) * Mark own ASN as transit-free (#394) * py3 fix for `pdb_migrate_ixlans` command when writing migration report * pdb_migrate_ixlans: properly handle py3 Runtime error if ixlan dict changes during iteration * set rest DEFAULT_SCHEMA_CLASS to coreapi to fix swagger apidocs fix migration 0027 missing from facsimile manifest * fix swagger doc strings * fix tests that were broken from api doc fixes * fix UniqueFieldValidator for netixlan ipaddress validation that broke during django/drf upgrade * fix org merge tool layout issues * travis config * update pipfile and lock * black formatting * update travis dist * beta mode banner (#411) * add beta banner template (#411) * automatically scheduled sync may not always be on, add a flag that lets us reflect that state in the beta banner message clean up beta banner implementation (#411) * add tests for beta banner (#411)
67 lines
2.0 KiB
Python
67 lines
2.0 KiB
Python
from django.test import TestCase
|
|
from django.contrib.auth.models import Group, AnonymousUser
|
|
from django.conf import settings
|
|
import peeringdb_server.models as models
|
|
import django_namespace_perms as nsp
|
|
from peeringdb_server import settings as pdb_settings
|
|
|
|
|
|
class ClientCase(TestCase):
|
|
@classmethod
|
|
def setUpTestData(cls):
|
|
# create user and guest group
|
|
|
|
guest_group = Group.objects.create(name="guest")
|
|
user_group = Group.objects.create(name="user")
|
|
|
|
cls.guest_user = models.User.objects.create_user(
|
|
"guest", "guest@localhost", "guest"
|
|
)
|
|
guest_group.user_set.add(cls.guest_user)
|
|
|
|
nsp.models.GroupPermission.objects.create(
|
|
group=guest_group, namespace="peeringdb.organization", permissions=0x01
|
|
)
|
|
|
|
nsp.models.GroupPermission.objects.create(
|
|
group=user_group, namespace="peeringdb.organization", permissions=0x01
|
|
)
|
|
|
|
nsp.models.GroupPermission.objects.create(
|
|
group=user_group,
|
|
namespace="peeringdb.organization.*.network.*.poc_set.users",
|
|
permissions=0x01,
|
|
)
|
|
|
|
nsp.models.GroupPermission.objects.create(
|
|
group=guest_group,
|
|
namespace="peeringdb.organization.*.network.*.poc_set.public",
|
|
permissions=0x01,
|
|
)
|
|
|
|
|
|
class SettingsCase(ClientCase):
|
|
|
|
"""
|
|
Since we read settings from peeringdb_server.settings
|
|
we can't use the `settings` fixture from pytest-django
|
|
|
|
This class instead does something similar for peeringdb_server.settings,
|
|
where it will override settings specified and then reset after test case
|
|
is finished
|
|
"""
|
|
|
|
settings = {}
|
|
|
|
@classmethod
|
|
def setUp(cls):
|
|
cls._restore = {}
|
|
for k, v in list(cls.settings.items()):
|
|
cls._restore[k] = getattr(pdb_settings, k)
|
|
setattr(pdb_settings, k, v)
|
|
|
|
@classmethod
|
|
def tearDown(cls):
|
|
for k, v in list(cls._restore.items()):
|
|
setattr(pdb_settings, k, v)
|