Convert view tests under extras to the new TestCase

This commit is contained in:
Jeremy Stretch 2020-01-30 18:13:02 -05:00
parent 67fafb2b9d
commit a44c4d14e4

View File

@ -2,21 +2,21 @@ import urllib.parse
import uuid import uuid
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.test import Client, TestCase
from django.urls import reverse from django.urls import reverse
from dcim.models import Site from dcim.models import Site
from extras.choices import ObjectChangeActionChoices from extras.choices import ObjectChangeActionChoices
from extras.models import ConfigContext, ObjectChange, Tag from extras.models import ConfigContext, ObjectChange, Tag
from utilities.testing import create_test_user from utilities.testing import TestCase
class TagTestCase(TestCase): class TagTestCase(TestCase):
user_permissions = (
'extras.view_tag',
)
def setUp(self): @classmethod
user = create_test_user(permissions=['extras.view_tag']) def setUpTestData(cls):
self.client = Client()
self.client.force_login(user)
Tag.objects.bulk_create([ Tag.objects.bulk_create([
Tag(name='Tag 1', slug='tag-1'), Tag(name='Tag 1', slug='tag-1'),
@ -32,15 +32,16 @@ class TagTestCase(TestCase):
} }
response = self.client.get('{}?{}'.format(url, urllib.parse.urlencode(params))) response = self.client.get('{}?{}'.format(url, urllib.parse.urlencode(params)))
self.assertEqual(response.status_code, 200) self.assertHttpStatus(response, 200)
class ConfigContextTestCase(TestCase): class ConfigContextTestCase(TestCase):
user_permissions = (
'extras.view_configcontext',
)
def setUp(self): @classmethod
user = create_test_user(permissions=['extras.view_configcontext']) def setUpTestData(cls):
self.client = Client()
self.client.force_login(user)
site = Site(name='Site 1', slug='site-1') site = Site(name='Site 1', slug='site-1')
site.save() site.save()
@ -62,26 +63,28 @@ class ConfigContextTestCase(TestCase):
} }
response = self.client.get('{}?{}'.format(url, urllib.parse.urlencode(params))) response = self.client.get('{}?{}'.format(url, urllib.parse.urlencode(params)))
self.assertEqual(response.status_code, 200) self.assertHttpStatus(response, 200)
def test_configcontext(self): def test_configcontext(self):
configcontext = ConfigContext.objects.first() configcontext = ConfigContext.objects.first()
response = self.client.get(configcontext.get_absolute_url()) response = self.client.get(configcontext.get_absolute_url())
self.assertEqual(response.status_code, 200) self.assertHttpStatus(response, 200)
class ObjectChangeTestCase(TestCase): class ObjectChangeTestCase(TestCase):
user_permissions = (
'extras.view_objectchange',
)
def setUp(self): @classmethod
user = create_test_user(permissions=['extras.view_objectchange']) def setUpTestData(cls):
self.client = Client()
self.client.force_login(user)
site = Site(name='Site 1', slug='site-1') site = Site(name='Site 1', slug='site-1')
site.save() site.save()
# Create three ObjectChanges # Create three ObjectChanges
user = User.objects.create_user(username='testuser2')
for i in range(1, 4): for i in range(1, 4):
oc = site.to_objectchange(action=ObjectChangeActionChoices.ACTION_UPDATE) oc = site.to_objectchange(action=ObjectChangeActionChoices.ACTION_UPDATE)
oc.user = user oc.user = user
@ -96,10 +99,10 @@ class ObjectChangeTestCase(TestCase):
} }
response = self.client.get('{}?{}'.format(url, urllib.parse.urlencode(params))) response = self.client.get('{}?{}'.format(url, urllib.parse.urlencode(params)))
self.assertEqual(response.status_code, 200) self.assertHttpStatus(response, 200)
def test_objectchange(self): def test_objectchange(self):
objectchange = ObjectChange.objects.first() objectchange = ObjectChange.objects.first()
response = self.client.get(objectchange.get_absolute_url()) response = self.client.get(objectchange.get_absolute_url())
self.assertEqual(response.status_code, 200) self.assertHttpStatus(response, 200)