def test_update_change_cluster(self): cluster_old = ClusterFactory(name='f5-1-fake-old') ethernet = EthernetFactory(base_object=cluster_old) vip = VIPFactory( ip=IPAddressFactory(ethernet=ethernet), parent=cluster_old, ) self.data['load_balancer'] = 'f5-1-fake-new' self.data['ip'] = vip.ip.address self.data['port'] = vip.port self.data['protocol'] = VIPProtocol.from_id(vip.protocol).name self.assertEqual(VIP.objects.count(), 1) self.assertEqual(Cluster.objects.count(), 1) self.assertEqual(Ethernet.objects.count(), 1) handle_update_vip_event(self.data) vips = VIP.objects.all() self.assertEqual(vips.count(), 1) self.assertEqual(Cluster.objects.count(), 2) self.assertEqual(Ethernet.objects.count(), 1) self.assertEqual(vips[0].ip.ethernet, ethernet) self.assertEqual( Ethernet.objects.get( id=ethernet.id).base_object.last_descendant.name, self.data['load_balancer'])
def test_delete_with_valid_event_data(self): vip = VIPFactory() self.data['ip'] = vip.ip.address self.data['port'] = vip.port self.data['protocol'] = VIPProtocol.from_id(vip.protocol).name self.assertEqual(VIP.objects.count(), 1) handle_delete_vip_event(self.data) self.assertEqual(VIP.objects.count(), 0)
def test_delete_when_ip_does_not_exist(self): vip = VIPFactory() ip = IPAddressFactory() self.data['ip'] = ip.address ip.delete() self.data['port'] = vip.port self.data['protocol'] = VIPProtocol.from_id(vip.protocol).name self.assertEqual(VIP.objects.count(), 1) handle_delete_vip_event(self.data) self.assertEqual(VIP.objects.count(), 1)
def test_ip_with_eth_being_deleted_when_no_longer_used(self): vip = VIPFactory() self.data['ip'] = vip.ip.address self.data['port'] = vip.port self.data['protocol'] = VIPProtocol.from_id(vip.protocol).name self.assertEqual(VIP.objects.count(), 1) self.assertEqual(IPAddress.objects.count(), 1) self.assertEqual(Ethernet.objects.count(), 1) handle_delete_vip_event(self.data) self.assertEqual(VIP.objects.count(), 0) self.assertEqual(IPAddress.objects.count(), 0) self.assertEqual(Ethernet.objects.count(), 0)
def test_create_when_vip_already_exists(self): vip = VIPFactory() self.data['ip'] = vip.ip.address self.data['port'] = vip.port self.data['protocol'] = VIPProtocol.from_id(vip.protocol).name vips = VIP.objects.all() self.assertEqual(vips.count(), 1) modified_before = vips[0].modified handle_create_vip_event(self.data) vips = VIP.objects.all() self.assertEqual(vips.count(), 1) self.assertEqual(vips[0].modified, modified_before)
def test_update_change_service_env(self): vip = VIPFactory() self.data['ip'] = vip.ip.address self.data['port'] = vip.port self.data['protocol'] = VIPProtocol.from_id(vip.protocol).name service_env = ServiceEnvironmentFactory() self.data['service']['uid'] = service_env.service.uid self.data['environment'] = service_env.environment.name vips = VIP.objects.all() self.assertEqual(vips.count(), 1) handle_update_vip_event(self.data) vips = VIP.objects.all() self.assertEqual(vips.count(), 1) self.assertEqual(vips[0].service_env, service_env)
def test_ip_with_eth_not_being_deleted_when_still_used_by_some_vip(self): vip = VIPFactory() self.data['ip'] = vip.ip.address self.data['port'] = vip.port self.data['protocol'] = VIPProtocol.from_id(vip.protocol).name vip2 = VIPFactory() vip2.ip = vip.ip vip2.save() self.assertEqual(VIP.objects.count(), 2) self.assertEqual(IPAddress.objects.count(), 2) self.assertEqual(Ethernet.objects.count(), 2) handle_delete_vip_event(self.data) self.assertEqual(VIP.objects.count(), 1) self.assertEqual(IPAddress.objects.count(), 2) self.assertEqual(Ethernet.objects.count(), 2)