mirror of
https://github.com/MOIS3Y/logs-collector.git
synced 2025-02-01 09:20:52 +01:00
59 lines
1.9 KiB
Python
59 lines
1.9 KiB
Python
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)
|