Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add tests for Policy-Management and BGPVPN. #14

Merged
merged 5 commits into from
Feb 20, 2019
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
116 changes: 116 additions & 0 deletions tungsten_tempest_plugin/tests/api/contrail/test_service_object.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
"""Tempest Suite for Contrail Service Objects."""
# Copyright 2018 AT&T Corp
# 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 patrole_tempest_plugin import rbac_rule_validation
from tempest import config
from tempest.lib.common.utils import data_utils
from tempest.lib.decorators import idempotent_id

from tungsten_tempest_plugin.tests.api.contrail import rbac_base

CONF = config.CONF


class ServiceObjectContrailTest(rbac_base.BaseContrailTest):
"""Class to test the Service objects of Contrail."""

@classmethod
def skip_checks(cls):
"""Skip the suite if the Contrail version is less than 4.1."""
super(ServiceObjectContrailTest, cls).skip_checks()
if float(CONF.sdn.contrail_version) < 4.1:
msg = "service_object requires Contrail >= 4.1"
raise cls.skipException(msg)

@classmethod
def resource_setup(cls):
"""Create Service object to use it across the suite."""
super(ServiceObjectContrailTest, cls).resource_setup()
cls.service_object_uuid = cls._create_service_object()

@classmethod
def _create_service_object(cls):
"""Create service object."""
display_name = data_utils.rand_name('service_object')
post_body = {'display_name': display_name}
post_body['fq_name'] = [display_name]
resp_body = cls.contrail_client.create_service_object(**post_body)
service_object_uuid = resp_body['service-object']['uuid']
cls.addClassResourceCleanup(
cls._try_delete_resource,
cls.contrail_client.delete_service_object,
service_object_uuid)
return service_object_uuid

@rbac_rule_validation.action(service="Contrail",
rules=["list_service_objects"])
@decorators.idempotent_id('05458fa1-ba09-4772-91aa-ca06243b5f5e')
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You use @decorators.idempotent_id here, but you imports from tempest.lib.decorators import idempotent_id on L20.
So there is not decorators module in the current scope.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yea i have updated it thanks :)

def test_list_service_objects(self):
"""List service_objects.

RBAC test for the Contrail list_service_objects policy
"""
with self.rbac_utils.override_role(self):
self.contrail_client.list_service_objects()

@rbac_rule_validation.action(service="Contrail",
rules=["create_service_object"])
@decorators.idempotent_id('8be0e381-3abb-4256-858d-5930db4ceafb')
def test_create_service_object(self):
"""Create service_object.

RBAC test for the Contrail create_service_object policy
"""
with self.rbac_utils.override_role(self):
self._create_service_object()

@rbac_rule_validation.action(service="Contrail",
rules=["show_service_object"])
@decorators.idempotent_id('bb570ddd-c5fa-4691-899e-00a64568f736')
def test_show_service_object(self):
"""Show service_object.

RBAC test for the Contrail show_service_object policy
"""
with self.rbac_utils.override_role(self):
self.contrail_client.show_service_object(self.service_object_uuid)

@rbac_rule_validation.action(service="Contrail",
rules=["delete_service_object"])
@decorators.idempotent_id('15a4d6dc-f16b-11e8-8e54-080027758b73')
def test_delete_service_object(self):
"""Delete service_object.

RBAC test for the Contrail delete_service_object policy
"""
obj_uuid = self._create_service_object()
with self.rbac_utils.override_role(self):
self.contrail_client.delete_service_object(obj_uuid)

@rbac_rule_validation.action(service="Contrail",
rules=["update_service_object"])
@decorators.idempotent_id('a6eaee65-9ead-4df5-9aa0-5329ee9a26f2')
def test_update_service_object(self):
"""Update service_object.

RBAC test for the Contrail update_service_object policy
"""
put_body = {
'display_name': data_utils.rand_name(
'update_service_object')}
with self.rbac_utils.override_role(self):
self.contrail_client.update_service_object(
self.service_object_uuid, **put_body)
115 changes: 115 additions & 0 deletions tungsten_tempest_plugin/tests/api/contrail/test_tag_type.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
"""Tempest Suite for Tag Type of Contrail."""
# Copyright 2018 AT&T Corp
# 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 patrole_tempest_plugin import rbac_rule_validation
from tempest import config
from tempest.lib.common.utils import data_utils
from tempest.lib import decorators
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto


from tungsten_tempest_plugin.tests.api.contrail import rbac_base

CONF = config.CONF


class ContrailTagTypeTest(rbac_base.BaseContrailTest):
"""Test suite for validating RBAC functionality of 'tag-type' API."""

@classmethod
def skip_checks(cls):
"""Skip the checks if contrail Version is less than 4.1."""
super(ContrailTagTypeTest, cls).skip_checks()
if float(CONF.sdn.contrail_version) < 4.1:
msg = "tag-type requires Contrail >= 4.1"
raise cls.skipException(msg)

@classmethod
def resource_setup(cls):
"""Create Tag type to use it across the Suite."""
super(ContrailTagTypeTest, cls).resource_setup()
cls.tag_type_uuid = cls._create_tag_type()

@classmethod
def _create_tag_type(cls):
"""Create Tag type."""
tag_type_name = data_utils.rand_name('tag-type')
fq_name = [tag_type_name]
post_data = {'fq_name': fq_name}
new_tag_type = cls.contrail_client.create_tag_type(
**post_data)['tag-type']
tag_type_uuid = new_tag_type['uuid']
cls.addClassResourceCleanup(
cls._try_delete_resource,
cls.contrail_client.delete_tag_type,
tag_type_uuid)
return tag_type_uuid

@rbac_rule_validation.action(service="Contrail",
rules=["list_tag_types"])
@decorators.idempotent_id('53c34f3a-f426-11e8-8eb2-f2801f1b9fd1')
def test_list_tag_types(self):
"""List tag-type.

RBAC test for contrail list tag_type policy
"""
with self.rbac_utils.override_role(self):
self.contrail_client.list_tag_types()

@rbac_rule_validation.action(service="Contrail",
rules=["show_tag_type"])
@decorators.idempotent_id('64cf8892-f427-11e8-8eb2-f2801f1b9fd1')
def test_show_tag_type(self):
"""Show tag-type.

RBAC test for contrail show tag_type policy
"""
with self.rbac_utils.override_role(self):
self.contrail_client.show_tag_type(self.tag_type_uuid)

@rbac_rule_validation.action(service="Contrail",
rules=["create_tag_types"])
@decorators.idempotent_id('7e602032-f427-11e8-8eb2-f2801f1b9fd1')
def test_create_tag_types(self):
"""Create tag-type.

RBAC test for contrail create tag_type policy
"""
with self.rbac_utils.override_role(self):
self._create_tag_type()

@rbac_rule_validation.action(service="Contrail",
rules=["update_tag_type"])
@decorators.idempotent_id('98f6beba-f427-11e8-8eb2-f2801f1b9fd1')
def test_update_tag_type(self):
"""Update tag-type.

RBAC test for contrail update tag_type policy
"""
update_name = data_utils.rand_name('new_name')
with self.rbac_utils.override_role(self):
self.contrail_client.update_tag_type(
self.tag_type_uuid, name=update_name)

@rbac_rule_validation.action(service="Contrail",
rules=["delete_tag_type"])
@decorators.idempotent_id('b0f81fae-f427-11e8-8eb2-f2801f1b9fd1')
def test_delete_tag_type(self):
"""Delete tag-type.

RBAC test for contrail delete tag_type policy
"""
new_tag_type_uuid = self._create_tag_type()
with self.rbac_utils.override_role(self):
self.contrail_client.delete_tag_type(new_tag_type_uuid)