From 5b2f2f801b04e2c7d3c05da19e49a26bac2960ea Mon Sep 17 00:00:00 2001 From: Nikolas Hermanns Date: 2016年3月17日 18:07:33 +0100 Subject: [PATCH] [Tempest] test_create_bgpvpn_as_non_admin_fail This test shows that only admin tenants can create bgpvpns. Change-Id: Ie09bb37f787227187c0492bf945f29ee6c082d1b --- .../services/bgpvpn/bgpvpn_client.py | 3 +++ networking_bgpvpn_tempest/tests/api/test_bgpvpn.py | 9 ++++++++- networking_bgpvpn_tempest/tests/base.py | 6 ++++-- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/networking_bgpvpn_tempest/services/bgpvpn/bgpvpn_client.py b/networking_bgpvpn_tempest/services/bgpvpn/bgpvpn_client.py index 053ad7a5..fb8f0ab4 100644 --- a/networking_bgpvpn_tempest/services/bgpvpn/bgpvpn_client.py +++ b/networking_bgpvpn_tempest/services/bgpvpn/bgpvpn_client.py @@ -15,6 +15,9 @@ from tempest.lib.services.network import base +# This is the representation of the bgpvpn +# client of networking-bgpvpn + BGPVPN_OBJECT_PATH = '/bgpvpn/bgpvpns' BGPVPN_RESOURCE_PATH = '/bgpvpn/bgpvpns/%s' diff --git a/networking_bgpvpn_tempest/tests/api/test_bgpvpn.py b/networking_bgpvpn_tempest/tests/api/test_bgpvpn.py index c1f7244c..ca7c1955 100644 --- a/networking_bgpvpn_tempest/tests/api/test_bgpvpn.py +++ b/networking_bgpvpn_tempest/tests/api/test_bgpvpn.py @@ -14,6 +14,8 @@ # under the License. from networking_bgpvpn_tempest.tests.base import BaseBgpvpnTest as base +from tempest.lib import exceptions +from tempest import test class BgpvpnTest(base): @@ -29,4 +31,9 @@ class BgpvpnTest(base): """ def test_create_bgpvpn(self): - self.create_bgpvpn() + self.create_bgpvpn(self.bgpvpn_admin_client) + + @test.attr(type=['negative']) + def test_create_bgpvpn_as_non_admin_fail(self): + self.assertRaises(exceptions.Forbidden, + self.create_bgpvpn, self.bgpvpn_client) diff --git a/networking_bgpvpn_tempest/tests/base.py b/networking_bgpvpn_tempest/tests/base.py index 322a8f76..c9c7f4ee 100644 --- a/networking_bgpvpn_tempest/tests/base.py +++ b/networking_bgpvpn_tempest/tests/base.py @@ -35,6 +35,8 @@ class BaseBgpvpnTest(test.BaseNetworkTest): """ credentials = ['primary', 'admin'] + bgpvpn_client = None + bgpvpn_admin_client = None @classmethod def resource_cleanup(cls): @@ -70,11 +72,11 @@ class BaseBgpvpnTest(test.BaseNetworkTest): if not CONF.service_available.bgpvpn: raise cls.skipException("Bgpvpn support is required") - def create_bgpvpn(self, **kwargs): + def create_bgpvpn(self, client, **kwargs): if 'name' not in kwargs: kwargs['name'] = data_utils.rand_name('test-bgpvpn-') - body = self.bgpvpn_admin_client.create_bgpvpn(**kwargs) + body = client.create_bgpvpn(**kwargs) bgpvpn = body['bgpvpn'] self.bgpvpns.append(bgpvpn) return bgpvpn

AltStyle によって変換されたページ (->オリジナル) /