neutron/neutron/tests/retargetable/rest_fixture.py
Armando Migliaccio e3210bc880 Switch to using in-tree tempest lib
As a result of change db9672e3473cd, tempest_lib is no
longer a thing we should be using.

Change-Id: I47f368fdce477d7419cc8fc23eb17264df42932d
2016-02-26 14:00:11 +00:00

71 lines
2.4 KiB
Python

# 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.
"""
This module defines a client fixture that can be used to target a
deployed neutron daemon. The potential for conflict between Tempest
configuration and Neutron configuration requires that
neutron.tests.tempest imports be isolated in this module for now.
"""
from tempest.lib import exceptions as tlib_exceptions
from neutron.tests import base
from neutron.tests.retargetable import client_fixtures
from tempest import test as t_test
class RestClientFixture(client_fixtures.AbstractClientFixture):
"""Targets the Neutron API via REST."""
@property
def client(self):
if not hasattr(self, '_client'):
manager = t_test.BaseTestCase.get_client_manager()
self._client = manager.network_client
return self._client
@property
def NotFound(self):
return tlib_exceptions.NotFound
def _cleanup_network(self, id_):
try:
self.delete_network(id_)
except self.NotFound:
pass
def create_network(self, **kwargs):
network = self._create_network(**kwargs)
self.addCleanup(self._cleanup_network, network.id)
return network
def _create_network(self, **kwargs):
# Internal method - use create_network() instead
body = self.client.create_network(**kwargs)
return base.AttributeDict(body['network'])
def update_network(self, id_, **kwargs):
body = self.client.update_network(id_, **kwargs)
return base.AttributeDict(body['network'])
def get_network(self, id_, **kwargs):
body = self.client.show_network(id_, **kwargs)
return base.AttributeDict(body['network'])
def get_networks(self, **kwargs):
body = self.client.list_networks(**kwargs)
return [base.AttributeDict(x) for x in body['networks']]
def delete_network(self, id_):
self.client.delete_network(id_)