1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00
2019-12-12 11:29:41 -05:00

100 lines
2.9 KiB
Python

import urllib.parse
from django.test import Client, TestCase
from django.urls import reverse
from tenancy.models import Tenant, TenantGroup
from utilities.testing import create_test_user
class TenantGroupTestCase(TestCase):
def setUp(self):
user = create_test_user(
permissions=[
'tenancy.view_tenantgroup',
'tenancy.add_tenantgroup',
]
)
self.client = Client()
self.client.force_login(user)
TenantGroup.objects.bulk_create([
TenantGroup(name='Tenant Group 1', slug='tenant-group-1'),
TenantGroup(name='Tenant Group 2', slug='tenant-group-2'),
TenantGroup(name='Tenant Group 3', slug='tenant-group-3'),
])
def test_tenantgroup_list(self):
url = reverse('tenancy:tenantgroup_list')
response = self.client.get(url, follow=True)
self.assertEqual(response.status_code, 200)
def test_tenantgroup_import(self):
csv_data = (
"name,slug",
"Tenant Group 4,tenant-group-4",
"Tenant Group 5,tenant-group-5",
"Tenant Group 6,tenant-group-6",
)
response = self.client.post(reverse('tenancy:tenantgroup_import'), {'csv': '\n'.join(csv_data)})
self.assertEqual(response.status_code, 200)
self.assertEqual(TenantGroup.objects.count(), 6)
class TenantTestCase(TestCase):
def setUp(self):
user = create_test_user(
permissions=[
'tenancy.view_tenant',
'tenancy.add_tenant',
]
)
self.client = Client()
self.client.force_login(user)
tenantgroup = TenantGroup(name='Tenant Group 1', slug='tenant-group-1')
tenantgroup.save()
Tenant.objects.bulk_create([
Tenant(name='Tenant 1', slug='tenant-1', group=tenantgroup),
Tenant(name='Tenant 2', slug='tenant-2', group=tenantgroup),
Tenant(name='Tenant 3', slug='tenant-3', group=tenantgroup),
])
def test_tenant_list(self):
url = reverse('tenancy:tenant_list')
params = {
"group": TenantGroup.objects.first().slug,
}
response = self.client.get('{}?{}'.format(url, urllib.parse.urlencode(params)), follow=True)
self.assertEqual(response.status_code, 200)
def test_tenant(self):
tenant = Tenant.objects.first()
response = self.client.get(tenant.get_absolute_url(), follow=True)
self.assertEqual(response.status_code, 200)
def test_tenant_import(self):
csv_data = (
"name,slug",
"Tenant 4,tenant-4",
"Tenant 5,tenant-5",
"Tenant 6,tenant-6",
)
response = self.client.post(reverse('tenancy:tenant_import'), {'csv': '\n'.join(csv_data)})
self.assertEqual(response.status_code, 200)
self.assertEqual(Tenant.objects.count(), 6)