Merge "Fix AtrributeError in update_listener"

This commit is contained in:
Zuul 2018-06-01 22:47:58 +00:00 committed by Gerrit Code Review
commit c3cb720a54
2 changed files with 47 additions and 1 deletions

View File

@ -607,7 +607,7 @@ class LoadBalancerPluginv2(loadbalancerv2.LoadBalancerPluginBaseV2,
curr_listener['default_tls_container_id'])
if 'sni_container_refs' not in listener:
listener['sni_container_ids'] = [
container.tls_container_id for container in (
container['tls_container_id'] for container in (
curr_listener['sni_containers'])]
tls_containers_changed = False

View File

@ -1377,6 +1377,52 @@ class LbaasListenerTests(ListenerTestBase):
)
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):
with self.listener(no_delete=True,
loadbalancer_id=self.lb_id) as listener: