diff options
author | Jenkins <jenkins@review.openstack.org> | 2016-02-18 15:20:56 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2016-02-18 15:20:56 +0000 |
commit | 9774405f8e6edb5aad83866c7c94226ab15ab4cc (patch) | |
tree | eec44e00d9cedfbc7e2689b6d04c87dd947167b9 | |
parent | 1d1e43957dc785231c50a105229814b06eb74752 (diff) | |
parent | 8a2ed13620e78f4b82e68028e86745e8c86240b0 (diff) | |
download | python-novaclient-9774405f8e6edb5aad83866c7c94226ab15ab4cc.tar.gz |
Merge "Allow to specify a network for functional tests"
-rw-r--r-- | novaclient/tests/functional/api/test_servers.py | 5 | ||||
-rw-r--r-- | novaclient/tests/functional/base.py | 16 | ||||
-rw-r--r-- | novaclient/tests/functional/v2/legacy/test_instances.py | 3 | ||||
-rw-r--r-- | novaclient/tests/functional/v2/legacy/test_servers.py | 4 | ||||
-rw-r--r-- | tox.ini | 2 |
5 files changed, 24 insertions, 6 deletions
diff --git a/novaclient/tests/functional/api/test_servers.py b/novaclient/tests/functional/api/test_servers.py index df6671fa..936bfeac 100644 --- a/novaclient/tests/functional/api/test_servers.py +++ b/novaclient/tests/functional/api/test_servers.py @@ -19,7 +19,8 @@ class TestServersAPI(base.ClientTestBase): def test_server_ips(self): server_name = "test_server" initial_server = self.client.servers.create( - server_name, self.image, self.flavor) + server_name, self.image, self.flavor, + nics=[{"net-id": self.network.id}]) self.addCleanup(initial_server.delete) for x in range(60): @@ -32,4 +33,4 @@ class TestServersAPI(base.ClientTestBase): self.fail("Server %s did not go ACTIVE after 60s" % server) ips = self.client.servers.ips(server) - self.assertIn('private', ips) + self.assertIn(self.network.label, ips) diff --git a/novaclient/tests/functional/base.py b/novaclient/tests/functional/base.py index 09e3a199..e148d0b8 100644 --- a/novaclient/tests/functional/base.py +++ b/novaclient/tests/functional/base.py @@ -45,6 +45,16 @@ def pick_image(images): raise NoImageException() +def pick_network(networks): + network_name = os.environ.get('OS_NOVACLIENT_NETWORK') + if network_name: + for network in networks: + if network.label == network_name: + return network + raise NoNetworkException() + return networks[0] + + class NoImageException(Exception): """We couldn't find an acceptable image.""" pass @@ -55,6 +65,11 @@ class NoFlavorException(Exception): pass +class NoNetworkException(Exception): + """We couldn't find an acceptable network.""" + pass + + class NoCloudConfigException(Exception): """We couldn't find a cloud configuration.""" pass @@ -163,6 +178,7 @@ class ClientTestBase(testtools.TestCase): # pick some reasonable flavor / image combo self.flavor = pick_flavor(self.client.flavors.list()) self.image = pick_image(self.client.images.list()) + self.network = pick_network(self.client.networks.list()) # create a CLI client in case we'd like to do CLI # testing. tempest_lib does this really weird thing where it diff --git a/novaclient/tests/functional/v2/legacy/test_instances.py b/novaclient/tests/functional/v2/legacy/test_instances.py index d512106e..39e78ee5 100644 --- a/novaclient/tests/functional/v2/legacy/test_instances.py +++ b/novaclient/tests/functional/v2/legacy/test_instances.py @@ -40,10 +40,9 @@ class TestInstanceCLI(base.ClientTestBase): name = self.name_generate('Instance') # Boot via the cli, as we're primarily testing the cli in this test - network = self.client.networks.list()[0] self.nova('boot', params="--flavor %s --image %s %s --nic net-id=%s --poll" % - (self.flavor.name, self.image.name, name, network.id)) + (self.flavor.name, self.image.name, name, self.network.id)) # Be nice about cleaning up, however, use the API for this to avoid # parsing text. diff --git a/novaclient/tests/functional/v2/legacy/test_servers.py b/novaclient/tests/functional/v2/legacy/test_servers.py index 23d3835d..e13cd1ef 100644 --- a/novaclient/tests/functional/v2/legacy/test_servers.py +++ b/novaclient/tests/functional/v2/legacy/test_servers.py @@ -75,11 +75,11 @@ class TestServersListNovaClient(base.ClientTestBase): COMPUTE_API_VERSION = "2.1" def _create_servers(self, name, number): - network = self.client.networks.list()[0] servers = [] for i in range(number): servers.append(self.client.servers.create( - name, self.image, self.flavor, nics=[{"net-id": network.id}])) + name, self.image, self.flavor, + nics=[{"net-id": self.network.id}])) shell._poll_for_status( self.client.servers.get, servers[-1].id, 'building', ['active']) @@ -36,12 +36,14 @@ commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasen [testenv:functional] basepython = python2.7 +passenv = OS_NOVACLIENT_TEST_NETWORK setenv = OS_TEST_PATH = ./novaclient/tests/functional commands = python setup.py testr --testr-args='--concurrency=1 {posargs}' [testenv:functional-py34] basepython = python3.4 +passenv = OS_NOVACLIENT_TEST_NETWORK setenv = OS_TEST_PATH = ./novaclient/tests/functional commands = python setup.py testr --testr-args='--concurrency=1 {posargs}' |