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