Initial start of the context/server model, including test framework.
All checks were successful
pda-new unit tests / Run-unit-tests (push) Successful in 8s
All checks were successful
pda-new unit tests / Run-unit-tests (push) Successful in 8s
This commit is contained in:
73
src/pdns/test_models.py
Normal file
73
src/pdns/test_models.py
Normal file
@@ -0,0 +1,73 @@
|
||||
#!/usr/bin/python3
|
||||
|
||||
from django.test import TestCase
|
||||
from django.utils.timezone import now
|
||||
from django.utils.translation import gettext as _
|
||||
from unittest import skip
|
||||
|
||||
from .models import (
|
||||
PDNSContext,
|
||||
PDNSServer
|
||||
)
|
||||
|
||||
# Tests are run in transactions, which means that for every test_*() function
|
||||
# the database restores to what's created during setUp()
|
||||
|
||||
class PDNSModelTestCase(TestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.test_time = now()
|
||||
tc = PDNSContext.objects.create(name='test context')
|
||||
PDNSServer.objects.create(name='test server',
|
||||
server_uri='https://localhost:8081',
|
||||
context=tc,
|
||||
online=True,
|
||||
last_seen=self.test_time,
|
||||
last_checked=self.test_time)
|
||||
self.context_target = 'test context'
|
||||
self.server_target = 'test server (test context): https://localhost:8081'
|
||||
self.server_status_target = _('%(status)s since %(date)s') % {
|
||||
'status': _('Online'),
|
||||
'date': self.test_time
|
||||
}
|
||||
self.server_status_offline_target = _('%(status)s since %(date)s') % {
|
||||
'status': _('Offline'),
|
||||
'date': self.test_time
|
||||
}
|
||||
return True
|
||||
|
||||
def test_server(self):
|
||||
test_server = PDNSServer.objects.get(name='test server')
|
||||
self.assertEqual(test_server.__str__(), self.server_target)
|
||||
self.assertEqual(test_server.status(), self.server_status_target)
|
||||
|
||||
def test_server_offline(self):
|
||||
test_server = PDNSServer.objects.get(name='test server')
|
||||
test_server.online = False
|
||||
self.assertEqual(test_server.status(), self.server_status_offline_target)
|
||||
|
||||
def test_context(self):
|
||||
test_context = PDNSContext.objects.get(name='test context')
|
||||
self.assertEqual(test_context.__str__(), self.context_target)
|
||||
|
||||
def test_context_onoff(self):
|
||||
test_context = PDNSContext.objects.get(name='test context')
|
||||
self.assertEqual(test_context.total_servers(),1)
|
||||
self.assertEqual(test_context.online_servers(),1)
|
||||
self.assertEqual(test_context.offline_servers(),0)
|
||||
|
||||
def test_context_offline(self):
|
||||
test_context = PDNSContext.objects.get(name='test context')
|
||||
test_server = PDNSServer.objects.get(name='test server')
|
||||
test_server.online = False
|
||||
test_server.save()
|
||||
self.assertEqual(test_context.total_servers(),1)
|
||||
self.assertEqual(test_context.online_servers(),0)
|
||||
self.assertEqual(test_context.offline_servers(),1)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user