Merge "Fix AtrributeError in update_listener"
This commit is contained in:
commit
c3cb720a54
|
@ -607,7 +607,7 @@ class LoadBalancerPluginv2(loadbalancerv2.LoadBalancerPluginBaseV2,
|
||||||
curr_listener['default_tls_container_id'])
|
curr_listener['default_tls_container_id'])
|
||||||
if 'sni_container_refs' not in listener:
|
if 'sni_container_refs' not in listener:
|
||||||
listener['sni_container_ids'] = [
|
listener['sni_container_ids'] = [
|
||||||
container.tls_container_id for container in (
|
container['tls_container_id'] for container in (
|
||||||
curr_listener['sni_containers'])]
|
curr_listener['sni_containers'])]
|
||||||
|
|
||||||
tls_containers_changed = False
|
tls_containers_changed = False
|
||||||
|
|
|
@ -1377,6 +1377,52 @@ class LbaasListenerTests(ListenerTestBase):
|
||||||
)
|
)
|
||||||
self.assertEqual('', listener['default_tls_container_ref'])
|
self.assertEqual('', listener['default_tls_container_ref'])
|
||||||
|
|
||||||
|
def test_update_listener_without_sni_container_refs(self):
|
||||||
|
default_tls_container_ref = uuidutils.generate_uuid()
|
||||||
|
sni_tls_container_ref_1 = uuidutils.generate_uuid()
|
||||||
|
sni_tls_container_ref_2 = uuidutils.generate_uuid()
|
||||||
|
|
||||||
|
listener_data = {
|
||||||
|
'protocol': lb_const.PROTOCOL_TERMINATED_HTTPS,
|
||||||
|
'default_tls_container_ref': default_tls_container_ref,
|
||||||
|
'sni_container_refs': [sni_tls_container_ref_1,
|
||||||
|
sni_tls_container_ref_2],
|
||||||
|
'protocol_port': 443,
|
||||||
|
'admin_state_up': True,
|
||||||
|
'tenant_id': self._tenant_id,
|
||||||
|
'loadbalancer_id': self.lb_id
|
||||||
|
}
|
||||||
|
|
||||||
|
with mock.patch('neutron_lbaas.services.loadbalancer.plugin.'
|
||||||
|
'cert_parser.validate_cert') as validate_cert_mock,\
|
||||||
|
mock.patch('neutron_lbaas.services.loadbalancer.plugin.'
|
||||||
|
'CERT_MANAGER_PLUGIN.CertManager.'
|
||||||
|
'get_cert') as get_cert_mock:
|
||||||
|
get_cert_mock.start().return_value = CertMock(
|
||||||
|
'mock_cert')
|
||||||
|
validate_cert_mock.start().return_value = True
|
||||||
|
|
||||||
|
# Default container and two SNI containers
|
||||||
|
# Test order and validation behavior.
|
||||||
|
listener = self.plugin.create_listener(
|
||||||
|
context.get_admin_context(), {'listener': listener_data})
|
||||||
|
expected = [sni_tls_container_ref_1, sni_tls_container_ref_2]
|
||||||
|
self.assertEqual(expected, listener['sni_container_refs'])
|
||||||
|
# No changes on default container and the containers list
|
||||||
|
# Only update the listener name
|
||||||
|
# Test getting info from current and validation behavior.
|
||||||
|
updated_name = 'Updated Listener'
|
||||||
|
listener_data = {'name': updated_name}
|
||||||
|
listener = self.plugin.update_listener(
|
||||||
|
context.get_admin_context(),
|
||||||
|
listener['id'],
|
||||||
|
{'listener': listener_data}
|
||||||
|
)
|
||||||
|
self.assertEqual(default_tls_container_ref,
|
||||||
|
listener['default_tls_container_ref'])
|
||||||
|
self.assertEqual(expected, listener['sni_container_refs'])
|
||||||
|
self.assertEqual(updated_name, listener['name'])
|
||||||
|
|
||||||
def test_delete_listener(self):
|
def test_delete_listener(self):
|
||||||
with self.listener(no_delete=True,
|
with self.listener(no_delete=True,
|
||||||
loadbalancer_id=self.lb_id) as listener:
|
loadbalancer_id=self.lb_id) as listener:
|
||||||
|
|
Loading…
Reference in New Issue