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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user