All checks were successful
pda-new unit tests / Run-unit-tests (push) Successful in 7s
74 lines
2.6 KiB
Python
74 lines
2.6 KiB
Python
#!/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)
|
|
self.assertTrue(test_context.available())
|
|
|
|
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)
|
|
self.assertFalse(test_context.available())
|
|
|
|
|
|
|
|
|
|
|