Merge "Use unique SNI identifier when building data model"
This commit is contained in:
commit
70b8f78447
|
@ -34,12 +34,15 @@ class OctaviaBase(models.ModelBase):
|
||||||
return obj.__class__.__name__ + obj.id
|
return obj.__class__.__name__ + obj.id
|
||||||
elif obj.__class__.__name__ in ['SessionPersistence', 'HealthMonitor']:
|
elif obj.__class__.__name__ in ['SessionPersistence', 'HealthMonitor']:
|
||||||
return obj.__class__.__name__ + obj.pool_id
|
return obj.__class__.__name__ + obj.pool_id
|
||||||
elif obj.__class__.__name__ in ['ListenerStatistics', 'SNI']:
|
elif obj.__class__.__name__ in ['ListenerStatistics']:
|
||||||
return obj.__class__.__name__ + obj.listener_id
|
return obj.__class__.__name__ + obj.listener_id
|
||||||
elif obj.__class__.__name__ in ['VRRPGroup', 'Vip']:
|
elif obj.__class__.__name__ in ['VRRPGroup', 'Vip']:
|
||||||
return obj.__class__.__name__ + obj.load_balancer_id
|
return obj.__class__.__name__ + obj.load_balancer_id
|
||||||
elif obj.__class__.__name__ in ['AmphoraHealth']:
|
elif obj.__class__.__name__ in ['AmphoraHealth']:
|
||||||
return obj.__class__.__name__ + obj.amphora_id
|
return obj.__class__.__name__ + obj.amphora_id
|
||||||
|
elif obj.__class__.__name__ in ['SNI']:
|
||||||
|
return (obj.__class__.__name__ +
|
||||||
|
obj.listener_id + obj.tls_container_id)
|
||||||
else:
|
else:
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
|
||||||
|
|
|
@ -780,10 +780,10 @@ class L7RuleModelTest(base.OctaviaDBTestBase, ModelTestMixin):
|
||||||
self.assertIsInstance(new_l7rule.l7policy, models.L7Policy)
|
self.assertIsInstance(new_l7rule.l7policy, models.L7Policy)
|
||||||
|
|
||||||
|
|
||||||
class DataModelConversionTest(base.OctaviaDBTestBase, ModelTestMixin):
|
class TestDataModelConversionTest(base.OctaviaDBTestBase, ModelTestMixin):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(DataModelConversionTest, self).setUp()
|
super(TestDataModelConversionTest, self).setUp()
|
||||||
self.lb = self.create_load_balancer(self.session)
|
self.lb = self.create_load_balancer(self.session)
|
||||||
self.pool = self.create_pool(self.session, load_balancer_id=self.lb.id)
|
self.pool = self.create_pool(self.session, load_balancer_id=self.lb.id)
|
||||||
self.hm = self.create_health_monitor(self.session, self.pool.id)
|
self.hm = self.create_health_monitor(self.session, self.pool.id)
|
||||||
|
@ -822,6 +822,9 @@ class DataModelConversionTest(base.OctaviaDBTestBase, ModelTestMixin):
|
||||||
return obj.__class__.__name__ + obj.load_balancer_id
|
return obj.__class__.__name__ + obj.load_balancer_id
|
||||||
elif obj.__class__.__name__ in ['AmphoraHealth']:
|
elif obj.__class__.__name__ in ['AmphoraHealth']:
|
||||||
return obj.__class__.__name__ + obj.amphora_id
|
return obj.__class__.__name__ + obj.amphora_id
|
||||||
|
elif obj.__class__.__name__ in ['SNI']:
|
||||||
|
return (obj.__class__.__name__ +
|
||||||
|
obj.listener_id + obj.tls_container_id)
|
||||||
else:
|
else:
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
|
||||||
|
|
|
@ -647,6 +647,20 @@ class ListenerRepositoryTest(BaseRepositoryTest):
|
||||||
self.assertRaises(exceptions.NotFound, self.create_listener,
|
self.assertRaises(exceptions.NotFound, self.create_listener,
|
||||||
self.FAKE_UUID_1, 80, default_pool_id=pool.id)
|
self.FAKE_UUID_1, 80, default_pool_id=pool.id)
|
||||||
|
|
||||||
|
def test_create_2_sni_containers(self):
|
||||||
|
listener = self.create_listener(self.FAKE_UUID_1, 80)
|
||||||
|
container1 = {'listener_id': listener.id,
|
||||||
|
'tls_container_id': self.FAKE_UUID_1}
|
||||||
|
container2 = {'listener_id': listener.id,
|
||||||
|
'tls_container_id': self.FAKE_UUID_2}
|
||||||
|
container1_dm = models.SNI(**container1)
|
||||||
|
container2_dm = models.SNI(**container2)
|
||||||
|
self.sni_repo.create(self.session, **container1)
|
||||||
|
self.sni_repo.create(self.session, **container2)
|
||||||
|
new_listener = self.listener_repo.get(self.session, id=listener.id)
|
||||||
|
self.assertIn(container1_dm, new_listener.sni_containers)
|
||||||
|
self.assertIn(container2_dm, new_listener.sni_containers)
|
||||||
|
|
||||||
def test_update(self):
|
def test_update(self):
|
||||||
name_change = "new_listener_name"
|
name_change = "new_listener_name"
|
||||||
listener = self.create_listener(self.FAKE_UUID_1, 80)
|
listener = self.create_listener(self.FAKE_UUID_1, 80)
|
||||||
|
|
Loading…
Reference in New Issue