Closes #3663: improve tests

This commit is contained in:
struppi 2019-12-26 22:21:05 +01:00
parent 407a60dcc4
commit fbb93c72d0

View File

@ -1,11 +1,11 @@
import time
import datetime import datetime
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.urls import reverse from django.urls import reverse
from django.utils import timezone
from rest_framework import status from rest_framework import status
from dcim.models import Device, DeviceRole, DeviceType, Manufacturer, Platform, Region, Site, RackGroup, RackRole, Rack from dcim.models import Device, DeviceRole, DeviceType, Manufacturer, Platform, Rack, RackGroup, RackRole, Region, Site
from extras.constants import GRAPH_TYPE_SITE from extras.constants import GRAPH_TYPE_SITE
from extras.models import ConfigContext, Graph, ExportTemplate, Tag from extras.models import ConfigContext, Graph, ExportTemplate, Tag
from tenancy.models import Tenant, TenantGroup from tenancy.models import Tenant, TenantGroup
@ -542,57 +542,49 @@ class CreatedUpdatedFilterTest(APITestCase):
) )
# change the created and last_updated of one # change the created and last_updated of one
time.sleep(2) # to have a difference on the last_updated Rack.objects.filter(pk=self.rack2.pk).update(
self.rack2.created = datetime.datetime(2001, 2, 3) last_updated=datetime.datetime(2001, 2, 3, 1, 2, 3, 4, tzinfo=timezone.utc),
self.rack2.save() created=datetime.datetime(2001, 2, 3)
)
def test_get_rack_meta(self):
url = reverse('dcim-api:rack-detail', kwargs={'pk': self.rack1.pk})
response = self.client.get(url, **self.header)
self.assertEqual(response.data['created'], self.rack1.created.strftime("%Y-%m-%d"))
self.assertEqual(response.data['last_updated'], self.rack1.last_updated.strftime("%Y-%m-%dT%H:%M:%S.%fZ"))
def test_get_rack_created(self): def test_get_rack_created(self):
url = reverse('dcim-api:rack-list') url = reverse('dcim-api:rack-list')
response = self.client.get('{}?created=2001-02-03'.format(url), **self.header) response = self.client.get('{}?created=2001-02-03'.format(url), **self.header)
self.assertEqual(response.data['count'], 1) self.assertEqual(response.data['count'], 1)
self.assertEqual(response.data['results'][0]['id'], self.rack2.pk)
def test_get_rack_created_gte(self): def test_get_rack_created_gte(self):
url = reverse('dcim-api:rack-list') url = reverse('dcim-api:rack-list')
response = self.client.get('{}?created__gte=2001-02-04'.format(url), **self.header) response = self.client.get('{}?created__gte=2001-02-04'.format(url), **self.header)
self.assertEqual(response.data['count'], 1) self.assertEqual(response.data['count'], 1)
self.assertEqual(response.data['results'][0]['id'], self.rack1.pk)
def test_get_rack_created_lte(self): def test_get_rack_created_lte(self):
url = reverse('dcim-api:rack-list') url = reverse('dcim-api:rack-list')
response = self.client.get('{}?created__lte=2001-02-04'.format(url), **self.header) response = self.client.get('{}?created__lte=2001-02-04'.format(url), **self.header)
self.assertEqual(response.data['count'], 1) self.assertEqual(response.data['count'], 1)
self.assertEqual(response.data['results'][0]['id'], self.rack2.pk)
def test_get_rack_last_updated(self): def test_get_rack_last_updated(self):
last_updated = self.rack2.last_updated.strftime("%Y-%m-%d %H:%M:%S.%f")
url = reverse('dcim-api:rack-list') url = reverse('dcim-api:rack-list')
response = self.client.get(('{}?last_updated=' + last_updated).format(url), **self.header) response = self.client.get('{}?last_updated=2001-02-03%2001:02:03.000004'.format(url), **self.header)
self.assertEqual(response.data['count'], 1) self.assertEqual(response.data['count'], 1)
self.assertEqual(response.data['results'][0]['id'], self.rack2.pk)
def test_get_rack_last_updated_gte(self): def test_get_rack_last_updated_gte(self):
last_updated_delta = self.rack1.last_updated + datetime.timedelta(0, 1)
last_updated = last_updated_delta.strftime("%Y-%m-%d %H:%M:%S")
url = reverse('dcim-api:rack-list') url = reverse('dcim-api:rack-list')
response = self.client.get(('{}?last_updated__gte=' + last_updated).format(url), **self.header) response = self.client.get('{}?last_updated__gte=2001-02-04%2001:02:03.000004'.format(url), **self.header)
self.assertEqual(response.data['count'], 1) self.assertEqual(response.data['count'], 1)
self.assertEqual(response.data['results'][0]['id'], self.rack1.pk)
def test_get_rack_last_updated_lte(self): def test_get_rack_last_updated_lte(self):
last_updated_delta = self.rack1.last_updated + datetime.timedelta(0, 1)
last_updated = last_updated_delta.strftime("%Y-%m-%d %H:%M:%S")
url = reverse('dcim-api:rack-list') url = reverse('dcim-api:rack-list')
response = self.client.get(('{}?last_updated__lte=' + last_updated).format(url), **self.header) response = self.client.get('{}?last_updated__lte=2001-02-04%2001:02:03.000004'.format(url), **self.header)
self.assertEqual(response.data['count'], 1) self.assertEqual(response.data['count'], 1)
self.assertEqual(response.data['results'][0]['id'], self.rack2.pk)