neutron-tempest-plugin/neutron_tempest_plugin/tap_as_a_service/base.py
elajkat 4abd06878f Add tap-as-a-service API tests
As tap-as-a-service was moved under Neutron governance its tests should
be in neutron-tempest-plugin.

Change-Id: I01dd33e0610e1db13815ea153b5c2299d8699d30
2021-09-09 16:09:13 +00:00

83 lines
3.3 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.
import tempest.api.network.base as test
from tempest import config
from tempest.lib.common.utils import data_utils
from tempest.lib.common.utils import test_utils
from neutron_tempest_plugin.tap_as_a_service.services import taas_client
CONF = config.CONF
class BaseTaasTest(test.BaseAdminNetworkTest):
@classmethod
def resource_setup(cls):
super(BaseTaasTest, cls).resource_setup()
os_primary = cls.os_primary
cls.tap_services_client = taas_client.TapServicesClient(
os_primary.auth_provider,
CONF.network.catalog_type,
CONF.network.region or CONF.identity.region,
endpoint_type=CONF.network.endpoint_type,
build_interval=CONF.network.build_interval,
build_timeout=CONF.network.build_timeout,
**os_primary.default_params)
cls.tap_flows_client = taas_client.TapFlowsClient(
os_primary.auth_provider,
CONF.network.catalog_type,
CONF.network.region or CONF.identity.region,
endpoint_type=CONF.network.endpoint_type,
build_interval=CONF.network.build_interval,
build_timeout=CONF.network.build_timeout,
**os_primary.default_params)
def create_tap_service(self, **kwargs):
body = self.tap_services_client.create_tap_service(
name=data_utils.rand_name("tap_service"),
**kwargs)
tap_service = body['tap_service']
self.addCleanup(test_utils.call_and_ignore_notfound_exc,
self.tap_services_client.delete_tap_service,
tap_service['id'])
return tap_service
def create_tap_flow(self, **kwargs):
body = self.tap_flows_client.create_tap_flow(
name=data_utils.rand_name("tap_service"),
**kwargs)
tap_flow = body['tap_flow']
self.addCleanup(test_utils.call_and_ignore_notfound_exc,
self.tap_flows_client.delete_tap_flow,
tap_flow['id'])
return tap_flow
def update_tap_service(self, tap_service_id, **kwargs):
body = self.tap_services_client.update_tap_service(
tap_service_id,
**kwargs)
tap_service = body['tap_service']
self.addCleanup(test_utils.call_and_ignore_notfound_exc,
self.tap_services_client.delete_tap_service,
tap_service['id'])
def update_tap_flow(self, tap_flow_id, **kwargs):
body = self.tap_flows_client.update_tap_flow(
tap_flow_id,
**kwargs)
tap_flow = body['tap_flow']
self.addCleanup(test_utils.call_and_ignore_notfound_exc,
self.tap_flows_client.delete_tap_flow,
tap_flow['id'])