tempest/tempest/api/compute/test_tenant_networks.py
Salvatore Orlando 3530c581dc Ensure test_list_show_tenant_networks is isolated
This test can randomly fail when Neutron is enabled because
it assumes there is always at least a tenant (owned) network.

Unfortunately this is not true in Neutron because during concurrent
test runs other tests can create or delete shared/external networks
which are visible to all tenants.

This patch ensures that a network is always available.

Related-Bug: #1468523
Closes-Bug: #1491965

Change-Id: I90f8fce0733012b109e03bfe92755d0ba364bcae
Co-authored-by: Armando Migliaccio <armamig@gmail.com>
2015-09-04 08:53:25 -07:00

45 lines
1.7 KiB
Python

# Copyright 2015 NEC Corporation. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from tempest.api.compute import base
from tempest import test
class ComputeTenantNetworksTest(base.BaseV2ComputeTest):
@classmethod
def resource_setup(cls):
super(ComputeTenantNetworksTest, cls).resource_setup()
cls.client = cls.os.tenant_networks_client
cls.network = cls.get_tenant_network()
@classmethod
def setup_credentials(cls):
cls.set_network_resources(network=True)
super(ComputeTenantNetworksTest, cls).setup_credentials()
@test.idempotent_id('edfea98e-bbe3-4c7a-9739-87b986baff26')
@test.services('network')
def test_list_show_tenant_networks(self):
# Fetch all networks that are visible to the tenant: this may include
# shared and external networks
tenant_networks = [
n['id'] for n in self.client.list_tenant_networks()['networks']
]
self.assertIn(self.network['id'], tenant_networks,
"No tenant networks found.")
net = self.client.show_tenant_network(self.network['id'])
self.assertEqual(self.network['id'], net['network']['id'])