| 
									
										
										
										
											2016-05-12 01:57:34 -05:00
										 |  |  | from django.test import TestCase | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | from django.core.management import call_command | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | from .models import VirtualMachineType | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class VirtualMachineTypeModelTest(TestCase): | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def setUp(self): | 
					
						
							|  |  |  |         self.HETZNER_NUG_NAME = 'hetzner_nug' | 
					
						
							|  |  |  |         self.HETZNER_NAME = 'hetzner' | 
					
						
							|  |  |  |         self.HETZNER_RAID6_NAME = 'hetzner_raid6' | 
					
						
							|  |  |  |         self.HETZNER_GLUSTERFS_NAME = 'hetzner_glusterfs' | 
					
						
							|  |  |  |         self.BERN_NAME = 'bern' | 
					
						
							|  |  |  |         self.HETZNER_NUG_EXPECTED_PRICE = 79 | 
					
						
							|  |  |  |         self.HETZNER_EXPECTED_PRICE = 180 | 
					
						
							|  |  |  |         self.HETZNER_RAID6_EXPECTED_PRICE = 216 | 
					
						
							|  |  |  |         self.HETZNER_GLUSTERFS_EXPECTED_PRICE = 252 | 
					
						
							|  |  |  |         self.BERN_EXPECTED_PRICE = 202 | 
					
						
							| 
									
										
										
										
											2016-05-12 02:11:18 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-12 01:57:34 -05:00
										 |  |  |         call_command('create_vm_types') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_calculate_price(self): | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         # hetzner_nug | 
					
						
							| 
									
										
										
										
											2016-06-04 02:59:37 -05:00
										 |  |  |         # specifications = { | 
					
						
							|  |  |  |         #     'cores': 2, | 
					
						
							|  |  |  |         #     'memory': 10, | 
					
						
							|  |  |  |         #     'disk_size': 100 | 
					
						
							|  |  |  |         # } | 
					
						
							|  |  |  |         # vm_type = VirtualMachineType.objects.get(hosting_company=self.HETZNER_NUG_NAME) | 
					
						
							|  |  |  |         # calculated_price = vm_type.calculate_price(specifications) | 
					
						
							|  |  |  |         # self.assertEqual(calculated_price, self.HETZNER_NUG_EXPECTED_PRICE) | 
					
						
							| 
									
										
										
										
											2016-05-12 01:57:34 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  |         # hetzner | 
					
						
							|  |  |  |         specifications = { | 
					
						
							|  |  |  |             'cores': 2, | 
					
						
							|  |  |  |             'memory': 10, | 
					
						
							|  |  |  |             'disk_size': 100 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         vm_type = VirtualMachineType.objects.get(hosting_company=self.HETZNER_NAME) | 
					
						
							|  |  |  |         calculated_price = vm_type.calculate_price(specifications) | 
					
						
							|  |  |  |         self.assertEqual(calculated_price, self.HETZNER_EXPECTED_PRICE) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         # hetzner_raid6 | 
					
						
							| 
									
										
										
										
											2016-06-04 02:59:37 -05:00
										 |  |  |         # specifications = { | 
					
						
							|  |  |  |         #     'cores': 2, | 
					
						
							|  |  |  |         #     'memory': 10, | 
					
						
							|  |  |  |         #     'disk_size': 100 | 
					
						
							|  |  |  |         # } | 
					
						
							|  |  |  |         # vm_type = VirtualMachineType.objects.get(hosting_company=self.HETZNER_RAID6_NAME) | 
					
						
							|  |  |  |         # calculated_price = vm_type.calculate_price(specifications) | 
					
						
							|  |  |  |         # self.assertEqual(calculated_price, self.HETZNER_RAID6_EXPECTED_PRICE) | 
					
						
							| 
									
										
										
										
											2016-05-12 01:57:34 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  |         # hetzner_glusterfs | 
					
						
							| 
									
										
										
										
											2016-06-04 02:59:37 -05:00
										 |  |  |         # specifications = { | 
					
						
							|  |  |  |         #     'cores': 2, | 
					
						
							|  |  |  |         #     'memory': 10, | 
					
						
							|  |  |  |         #     'disk_size': 100 | 
					
						
							|  |  |  |         # } | 
					
						
							|  |  |  |         # vm_type = VirtualMachineType.objects.get(hosting_company=self.HETZNER_GLUSTERFS_NAME) | 
					
						
							|  |  |  |         # calculated_price = vm_type.calculate_price(specifications) | 
					
						
							|  |  |  |         # self.assertEqual(calculated_price, self.HETZNER_GLUSTERFS_EXPECTED_PRICE) | 
					
						
							| 
									
										
										
										
											2016-05-12 01:57:34 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  |         # bern | 
					
						
							|  |  |  |         specifications = { | 
					
						
							|  |  |  |             'cores': 2, | 
					
						
							|  |  |  |             'memory': 10, | 
					
						
							|  |  |  |             'disk_size': 100 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         vm_type = VirtualMachineType.objects.get(hosting_company=self.BERN_NAME) | 
					
						
							|  |  |  |         calculated_price = vm_type.calculate_price(specifications) | 
					
						
							|  |  |  |         self.assertEqual(calculated_price, self.BERN_EXPECTED_PRICE) |