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
from django.contrib.contenttypes.models import ContentType
from django.urls import reverse
from django.utils import timezone
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.models import ConfigContext, Graph, ExportTemplate, Tag
from tenancy.models import Tenant, TenantGroup
@ -542,57 +542,49 @@ class CreatedUpdatedFilterTest(APITestCase):
)
# change the created and last_updated of one
time.sleep(2) # to have a difference on the last_updated
self.rack2.created = datetime.datetime(2001, 2, 3)
self.rack2.save()
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"))
Rack.objects.filter(pk=self.rack2.pk).update(
last_updated=datetime.datetime(2001, 2, 3, 1, 2, 3, 4, tzinfo=timezone.utc),
created=datetime.datetime(2001, 2, 3)
)
def test_get_rack_created(self):
url = reverse('dcim-api:rack-list')
response = self.client.get('{}?created=2001-02-03'.format(url), **self.header)
self.assertEqual(response.data['count'], 1)
self.assertEqual(response.data['results'][0]['id'], self.rack2.pk)
def test_get_rack_created_gte(self):
url = reverse('dcim-api:rack-list')
response = self.client.get('{}?created__gte=2001-02-04'.format(url), **self.header)
self.assertEqual(response.data['count'], 1)
self.assertEqual(response.data['results'][0]['id'], self.rack1.pk)
def test_get_rack_created_lte(self):
url = reverse('dcim-api:rack-list')
response = self.client.get('{}?created__lte=2001-02-04'.format(url), **self.header)
self.assertEqual(response.data['count'], 1)
self.assertEqual(response.data['results'][0]['id'], self.rack2.pk)
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')
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['results'][0]['id'], self.rack2.pk)
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')
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['results'][0]['id'], self.rack1.pk)
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')
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['results'][0]['id'], self.rack2.pk)