Create: collector tests
This commit is contained in:
parent
87a6ca06e6
commit
5fd2bc953e
@ -1,3 +0,0 @@
|
|||||||
from django.test import TestCase
|
|
||||||
|
|
||||||
# Create your tests here.
|
|
0
logs_collector/collector/tests/__init__.py
Normal file
0
logs_collector/collector/tests/__init__.py
Normal file
58
logs_collector/collector/tests/test_models.py
Normal file
58
logs_collector/collector/tests/test_models.py
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
from pathlib import Path
|
||||||
|
from django.test import TestCase
|
||||||
|
from django.contrib.auth.models import User
|
||||||
|
from django.core.files.base import ContentFile
|
||||||
|
from django.conf import settings
|
||||||
|
|
||||||
|
from collector.models import Platform, Ticket, Archive
|
||||||
|
|
||||||
|
|
||||||
|
def delete_test_files(ticket):
|
||||||
|
test_file = settings.MEDIA_ROOT_FOR_SENSITIVE_FILES / Path(str(ticket))
|
||||||
|
test_file.unlink(missing_ok=True)
|
||||||
|
|
||||||
|
|
||||||
|
class TestModels(TestCase):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
# create test user:
|
||||||
|
self.test_user = User.objects.create_user(
|
||||||
|
username='oops',
|
||||||
|
password='hG2wS231YPWmj3'
|
||||||
|
)
|
||||||
|
# create test platform and ticket:
|
||||||
|
self.test_platform = Platform.objects.create(
|
||||||
|
name='vm6',
|
||||||
|
pretty_name='VMmanager 6'
|
||||||
|
)
|
||||||
|
self.test_ticket = Ticket.objects.create(
|
||||||
|
number=1488228,
|
||||||
|
platform=self.test_platform,
|
||||||
|
user=self.test_user
|
||||||
|
)
|
||||||
|
|
||||||
|
def test_correct_platform_fields(self):
|
||||||
|
self.assertEqual(self.test_platform.name, 'vm6')
|
||||||
|
self.assertEqual(self.test_platform.pretty_name, 'VMmanager 6')
|
||||||
|
|
||||||
|
def test_correct_ticket_fields(self):
|
||||||
|
self.assertEqual(self.test_ticket.number, 1488228)
|
||||||
|
self.assertEqual(self.test_ticket.attempts, 5)
|
||||||
|
self.assertEqual(
|
||||||
|
self.test_ticket.platform.name,
|
||||||
|
self.test_platform.name
|
||||||
|
)
|
||||||
|
|
||||||
|
def test_correct_archive_fields(self):
|
||||||
|
test_archive = Archive.objects.create(
|
||||||
|
file=ContentFile(b'...', name='test.tar.gz'),
|
||||||
|
ticket=self.test_ticket
|
||||||
|
)
|
||||||
|
triple_dots_md5 = '2f43b42fd833d1e77420a8dae7419000'
|
||||||
|
self.assertEquals(test_archive.md5, triple_dots_md5)
|
||||||
|
self.assertEquals(
|
||||||
|
test_archive.file.name,
|
||||||
|
f'{self.test_ticket.number}/test.tar.gz'
|
||||||
|
)
|
||||||
|
# ? workaround delete test file:
|
||||||
|
delete_test_files(test_archive.file)
|
67
logs_collector/collector/tests/test_urls.py
Normal file
67
logs_collector/collector/tests/test_urls.py
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
from django.test import TestCase
|
||||||
|
from django.urls import resolve, reverse
|
||||||
|
from django.contrib.auth.models import User
|
||||||
|
|
||||||
|
from collector import views
|
||||||
|
from collector.models import Ticket, Platform
|
||||||
|
|
||||||
|
|
||||||
|
class TestUrls(TestCase):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
# create test user:
|
||||||
|
self.test_user = User.objects.create_user(
|
||||||
|
username='oops',
|
||||||
|
password='hG2wS231YPWmj3'
|
||||||
|
)
|
||||||
|
# create test platform and ticket:
|
||||||
|
self.test_platform = Platform.objects.create(
|
||||||
|
name='dci6',
|
||||||
|
pretty_name='DCImanager 6'
|
||||||
|
)
|
||||||
|
self.test_ticket = Ticket.objects.create(
|
||||||
|
number=1488228,
|
||||||
|
platform=self.test_platform,
|
||||||
|
user=self.test_user
|
||||||
|
)
|
||||||
|
|
||||||
|
# CREATE:
|
||||||
|
def test_ticket_create_url_is_resolved(self):
|
||||||
|
url = reverse('collector:create')
|
||||||
|
self.assertEquals(resolve(url).func.view_class, views.CreateTicket)
|
||||||
|
|
||||||
|
# READ:
|
||||||
|
def test_index_page_url_is_resolved(self):
|
||||||
|
url = reverse('collector:index')
|
||||||
|
self.assertEquals(resolve(url).func.view_class, views.ListAllTickets)
|
||||||
|
|
||||||
|
def test_list_all_tickets_url_is_resolved(self):
|
||||||
|
url = reverse('collector:tickets')
|
||||||
|
self.assertEquals(resolve(url).func.view_class, views.ListAllTickets)
|
||||||
|
|
||||||
|
def test_list_platform_tickets_url_is_resolved(self):
|
||||||
|
url = reverse('collector:platform', args=[self.test_platform.name])
|
||||||
|
self.assertEquals(
|
||||||
|
resolve(url).func.view_class, views.ListPlatformTickets
|
||||||
|
)
|
||||||
|
|
||||||
|
def test_detail_ticket_url_is_resolved(self):
|
||||||
|
url = reverse(
|
||||||
|
'collector:ticket',
|
||||||
|
args=[self.test_platform.name, self.test_ticket.number]
|
||||||
|
)
|
||||||
|
self.assertEquals(resolve(url).func.view_class, views.DetailTicket)
|
||||||
|
|
||||||
|
def test_archives_download_url_is_resolved(self):
|
||||||
|
url = reverse('collector:download', args=['1488228/test.tar.gz'])
|
||||||
|
self.assertEquals(
|
||||||
|
resolve(url).func.view_class, views.ArchiveHandlerView
|
||||||
|
)
|
||||||
|
|
||||||
|
# UPDATE:
|
||||||
|
def test_update_ticket_url_is_resolved(self):
|
||||||
|
url = reverse(
|
||||||
|
'collector:update',
|
||||||
|
args=[self.test_platform.name, self.test_ticket.number]
|
||||||
|
)
|
||||||
|
self.assertEquals(resolve(url).func.view_class, views.UpdateTicket)
|
131
logs_collector/collector/tests/test_views.py
Normal file
131
logs_collector/collector/tests/test_views.py
Normal file
@ -0,0 +1,131 @@
|
|||||||
|
from django.test import TestCase, Client
|
||||||
|
from django.urls import reverse
|
||||||
|
from django.contrib.auth.models import User
|
||||||
|
|
||||||
|
from collector.models import Ticket, Platform
|
||||||
|
|
||||||
|
|
||||||
|
class TestViews(TestCase):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
# create test user:
|
||||||
|
self.test_user = User.objects.create_user(
|
||||||
|
username='oops',
|
||||||
|
password='hG2wS231YPWmj3'
|
||||||
|
)
|
||||||
|
# create test client:
|
||||||
|
self.client = Client()
|
||||||
|
self.client.login(username='oops', password='hG2wS231YPWmj3')
|
||||||
|
# create test platform and ticket:
|
||||||
|
self.test_platform = Platform.objects.create(
|
||||||
|
name='vm6',
|
||||||
|
pretty_name='VMmanager 6'
|
||||||
|
)
|
||||||
|
self.test_ticket = Ticket.objects.create(
|
||||||
|
number=1488228,
|
||||||
|
platform=self.test_platform,
|
||||||
|
user=self.test_user
|
||||||
|
)
|
||||||
|
|
||||||
|
# test urls:
|
||||||
|
# -- -- -- --
|
||||||
|
|
||||||
|
# CREATE:
|
||||||
|
self.ticket_create_url = reverse('collector:create')
|
||||||
|
|
||||||
|
# READ:
|
||||||
|
self.all_tickets_list = reverse('collector:tickets')
|
||||||
|
self.platform_tickets_list = reverse(
|
||||||
|
'collector:platform',
|
||||||
|
args=[self.test_platform.name]
|
||||||
|
)
|
||||||
|
self.ticket_detail_url = reverse(
|
||||||
|
'collector:ticket',
|
||||||
|
args=[self.test_platform.name, self.test_ticket.number]
|
||||||
|
)
|
||||||
|
|
||||||
|
# UPDATE:
|
||||||
|
self.ticket_update_url = reverse(
|
||||||
|
'collector:update',
|
||||||
|
args=[self.test_platform.name, self.test_ticket.number]
|
||||||
|
)
|
||||||
|
|
||||||
|
# CREATE:
|
||||||
|
def test_create_ticket_POST(self):
|
||||||
|
response = self.client.post(
|
||||||
|
self.ticket_create_url,
|
||||||
|
data={
|
||||||
|
'number': 1111,
|
||||||
|
'platform': self.test_platform.name,
|
||||||
|
'attempts': 5
|
||||||
|
}
|
||||||
|
)
|
||||||
|
self.assertEquals(response.status_code, 302)
|
||||||
|
self.assertEquals(Ticket.objects.get(number=1111).number, 1111)
|
||||||
|
self.assertEquals(Ticket.objects.get(number=1111).platform.name, 'vm6')
|
||||||
|
self.assertEquals(
|
||||||
|
Ticket.objects.get(
|
||||||
|
number=1111).platform.pretty_name, 'VMmanager 6'
|
||||||
|
)
|
||||||
|
self.assertEquals(
|
||||||
|
Ticket.objects.get(number=1111).user.username, 'oops'
|
||||||
|
)
|
||||||
|
|
||||||
|
# READ:
|
||||||
|
def test_all_ticket_list_GET(self):
|
||||||
|
response = self.client.get(self.all_tickets_list)
|
||||||
|
self.assertEquals(response.status_code, 200)
|
||||||
|
self.assertTemplateUsed(response, 'collector/tickets.html')
|
||||||
|
self.assertTemplateUsed(response, 'collector/base.html')
|
||||||
|
self.assertTemplateUsed(response, 'base.html')
|
||||||
|
self.assertTemplateUsed(response, 'includes/theme_switcher.html')
|
||||||
|
self.assertTemplateUsed(response, 'includes/navigation.html')
|
||||||
|
self.assertTemplateUsed(response, 'collector/includes/pagination.html')
|
||||||
|
self.assertTemplateUsed(
|
||||||
|
response,
|
||||||
|
'collector/includes/ticket_info.html'
|
||||||
|
)
|
||||||
|
self.assertTemplateUsed(
|
||||||
|
response,
|
||||||
|
'collector/includes/modal_ticket.html'
|
||||||
|
)
|
||||||
|
|
||||||
|
def test_platform_tickets_list_GET(self):
|
||||||
|
response = self.client.get(self.platform_tickets_list)
|
||||||
|
self.assertEquals(response.status_code, 200)
|
||||||
|
self.assertTemplateUsed(response, 'collector/tickets.html')
|
||||||
|
|
||||||
|
def test_ticket_detail_GET(self):
|
||||||
|
response = self.client.get(self.ticket_detail_url)
|
||||||
|
self.assertEquals(response.status_code, 200)
|
||||||
|
self.assertTemplateUsed(response, 'collector/ticket.html')
|
||||||
|
self.assertTemplateUsed(
|
||||||
|
response, 'collector/includes/ticket_info.html'
|
||||||
|
)
|
||||||
|
self.assertTemplateUsed(
|
||||||
|
response, 'collector/includes/modal_ticket.html'
|
||||||
|
)
|
||||||
|
|
||||||
|
def test_ticket_create_GET(self):
|
||||||
|
response = self.client.get(self.ticket_create_url)
|
||||||
|
self.assertEquals(response.status_code, 200)
|
||||||
|
self.assertTemplateUsed(response, 'collector/ticket_create.html')
|
||||||
|
|
||||||
|
def test_ticket_update_GET(self):
|
||||||
|
response = self.client.get(self.ticket_update_url)
|
||||||
|
self.assertEquals(response.status_code, 200)
|
||||||
|
self.assertTemplateUsed(response, 'collector/ticket_create.html')
|
||||||
|
|
||||||
|
# UPDATE:
|
||||||
|
def test_ticket_update_UPDATE(self):
|
||||||
|
response = self.client.post(
|
||||||
|
self.ticket_update_url,
|
||||||
|
data={
|
||||||
|
'number': 1488229,
|
||||||
|
'platform': self.test_platform.name,
|
||||||
|
'attempts': 3
|
||||||
|
}
|
||||||
|
)
|
||||||
|
self.assertEquals(response.status_code, 302)
|
||||||
|
self.assertEquals(Ticket.objects.get(number=1488229).number, 1488229)
|
||||||
|
self.assertEquals(Ticket.objects.get(number=1488229).attempts, 3)
|
Loading…
Reference in New Issue
Block a user