| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- from django.test import TestCase
- from virtualization.models import *
- from tenancy.models import Tenant
- class VirtualMachineTestCase(TestCase):
- def setUp(self):
- cluster_type = ClusterType.objects.create(name='Test Cluster Type 1', slug='Test Cluster Type 1')
- self.cluster = Cluster.objects.create(name='Test Cluster 1', type=cluster_type)
- def test_vm_duplicate_name_per_cluster(self):
- vm1 = VirtualMachine(
- cluster=self.cluster,
- name='Test VM 1'
- )
- vm1.save()
- vm2 = VirtualMachine(
- cluster=vm1.cluster,
- name=vm1.name
- )
- # Two VMs assigned to the same Cluster and no Tenant should fail validation
- with self.assertRaises(ValidationError):
- vm2.full_clean()
- tenant = Tenant.objects.create(name='Test Tenant 1', slug='test-tenant-1')
- vm1.tenant = tenant
- vm1.save()
- vm2.tenant = tenant
- # Two VMs assigned to the same Cluster and the same Tenant should fail validation
- with self.assertRaises(ValidationError):
- vm2.full_clean()
- vm2.tenant = None
- # Two VMs assigned to the same Cluster and different Tenants should pass validation
- vm2.full_clean()
- vm2.save()
|