mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
106 lines
3.0 KiB
Python
106 lines
3.0 KiB
Python
import urllib.parse
|
|
import uuid
|
|
|
|
from django.contrib.auth.models import User
|
|
from django.test import Client, TestCase
|
|
from django.urls import reverse
|
|
|
|
from dcim.models import Site
|
|
from extras.choices import ObjectChangeActionChoices
|
|
from extras.models import ConfigContext, ObjectChange, Tag
|
|
from utilities.testing import create_test_user
|
|
|
|
|
|
class TagTestCase(TestCase):
|
|
|
|
def setUp(self):
|
|
user = create_test_user(permissions=['extras.view_tag'])
|
|
self.client = Client()
|
|
self.client.force_login(user)
|
|
|
|
Tag.objects.bulk_create([
|
|
Tag(name='Tag 1', slug='tag-1'),
|
|
Tag(name='Tag 2', slug='tag-2'),
|
|
Tag(name='Tag 3', slug='tag-3'),
|
|
])
|
|
|
|
def test_tag_list(self):
|
|
|
|
url = reverse('extras:tag_list')
|
|
params = {
|
|
"q": "tag",
|
|
}
|
|
|
|
response = self.client.get('{}?{}'.format(url, urllib.parse.urlencode(params)))
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
|
|
class ConfigContextTestCase(TestCase):
|
|
|
|
def setUp(self):
|
|
user = create_test_user(permissions=['extras.view_configcontext'])
|
|
self.client = Client()
|
|
self.client.force_login(user)
|
|
|
|
site = Site(name='Site 1', slug='site-1')
|
|
site.save()
|
|
|
|
# Create three ConfigContexts
|
|
for i in range(1, 4):
|
|
configcontext = ConfigContext(
|
|
name='Config Context {}'.format(i),
|
|
data='{{"foo": {}}}'.format(i)
|
|
)
|
|
configcontext.save()
|
|
configcontext.sites.add(site)
|
|
|
|
def test_configcontext_list(self):
|
|
|
|
url = reverse('extras:configcontext_list')
|
|
params = {
|
|
"q": "foo",
|
|
}
|
|
|
|
response = self.client.get('{}?{}'.format(url, urllib.parse.urlencode(params)))
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
def test_configcontext(self):
|
|
|
|
configcontext = ConfigContext.objects.first()
|
|
response = self.client.get(configcontext.get_absolute_url())
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
|
|
class ObjectChangeTestCase(TestCase):
|
|
|
|
def setUp(self):
|
|
user = create_test_user(permissions=['extras.view_objectchange'])
|
|
self.client = Client()
|
|
self.client.force_login(user)
|
|
|
|
site = Site(name='Site 1', slug='site-1')
|
|
site.save()
|
|
|
|
# Create three ObjectChanges
|
|
for i in range(1, 4):
|
|
oc = site.to_objectchange(action=ObjectChangeActionChoices.ACTION_UPDATE)
|
|
oc.user = user
|
|
oc.request_id = uuid.uuid4()
|
|
oc.save()
|
|
|
|
def test_objectchange_list(self):
|
|
|
|
url = reverse('extras:objectchange_list')
|
|
params = {
|
|
"user": User.objects.first(),
|
|
}
|
|
|
|
response = self.client.get('{}?{}'.format(url, urllib.parse.urlencode(params)))
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
def test_objectchange(self):
|
|
|
|
objectchange = ObjectChange.objects.first()
|
|
response = self.client.get(objectchange.get_absolute_url())
|
|
self.assertEqual(response.status_code, 200)
|