Move orphaned api test - deux
According to changes [1,2], API tests' new home is under neutron/tests/api.
Change 92d2054f8a slipped through the cracks. It seems also that wrong
imports lead to tests silently dropped (i.e. not executed). This patch
rectifies the issue.
[1] https://review.openstack.org/#/c/169850/
[2] https://review.openstack.org/#/c/167320/
Change-Id: I64be376d7cff9512bd027720116dc039831e7955
diff --git a/neutron/tests/tempest/api/network/test_subnetpools.py b/neutron/tests/tempest/api/network/test_subnetpools.py
deleted file mode 100644
index 51e846e..0000000
--- a/neutron/tests/tempest/api/network/test_subnetpools.py
+++ /dev/null
@@ -1,200 +0,0 @@
-# Copyright 2015 Hewlett-Packard Development Company, L.P.
-# 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.
-
-import copy
-
-from tempest_lib.common.utils import data_utils
-
-from neutron.tests.tempest.api.network import base
-from neutron.tests.api.contrib import clients
-from neutron.tests.tempest import config
-from neutron.tests.tempest import test
-
-CONF = config.CONF
-SUBNETPOOL_NAME = 'smoke-subnetpool'
-SUBNET_NAME = 'smoke-subnet'
-
-
-class SubnetPoolsTest(base.BaseNetworkTest):
-
- min_prefixlen = '28'
- max_prefixlen = '31'
- ip_version = 4
- subnet_cidr = u'10.11.12.0/31'
- new_prefix = u'10.11.15.0/24'
- larger_prefix = u'10.11.0.0/16'
-
- """
- Tests the following operations in the Neutron API using the REST client for
- Neutron:
-
- create a subnetpool for a tenant
- list tenant's subnetpools
- show a tenant subnetpool details
- subnetpool update
- delete a subnetpool
-
- All subnetpool tests are run once with ipv4 and once with ipv6.
-
- v2.0 of the Neutron API is assumed.
-
- """
-
- @classmethod
- def resource_setup(cls):
- super(SubnetPoolsTest, cls).resource_setup()
- prefixes = [u'10.11.12.0/24']
- cls._subnetpool_data = {'subnetpool': {'min_prefixlen': '29',
- 'prefixes': prefixes}}
- try:
- creds = cls.isolated_creds.get_admin_creds()
- cls.os_adm = clients.Manager(credentials=creds)
- except NotImplementedError:
- msg = ("Missing Administrative Network API credentials "
- "in configuration.")
- raise cls.skipException(msg)
- cls.admin_client = cls.os_adm.network_client
-
- def _create_subnetpool(self, client, pool_values=None):
- name = data_utils.rand_name(SUBNETPOOL_NAME)
- subnetpool_data = copy.deepcopy(self._subnetpool_data)
- if pool_values:
- subnetpool_data['subnetpool'].update(pool_values)
- subnetpool_data['subnetpool']['name'] = name
- body = client.create_subnetpool(subnetpool_data)
- created_subnetpool = body['subnetpool']
- subnetpool_id = created_subnetpool['id']
- return name, subnetpool_id
-
- def _new_subnetpool_attributes(self):
- new_name = data_utils.rand_name(SUBNETPOOL_NAME)
- subnetpool_data = {'subnetpool': {'name': new_name,
- 'min_prefixlen': self.min_prefixlen,
- 'max_prefixlen': self.max_prefixlen}}
- return subnetpool_data
-
- def _check_equality_updated_subnetpool(self, expected_values,
- updated_pool):
- self.assertEqual(expected_values['name'],
- updated_pool['name'])
- self.assertEqual(expected_values['min_prefixlen'],
- updated_pool['min_prefixlen'])
- self.assertEqual(expected_values['max_prefixlen'],
- updated_pool['max_prefixlen'])
- # expected_values may not contains all subnetpool values
- if 'prefixes' in expected_values:
- self.assertEqual(expected_values['prefixes'],
- updated_pool['prefixes'])
-
- @test.attr(type='smoke')
- @test.idempotent_id('6e1781ec-b45b-4042-aebe-f485c022996e')
- def test_create_list_subnetpool(self):
- name, pool_id = self._create_subnetpool(self.client)
- body = self.client.list_subnetpools()
- subnetpools = body['subnetpools']
- self.addCleanup(self.client.delete_subnetpool, pool_id)
- self.assertIn(pool_id, [sp['id'] for sp in subnetpools],
- "Created subnetpool id should be in the list")
- self.assertIn(name, [sp['name'] for sp in subnetpools],
- "Created subnetpool name should be in the list")
-
- @test.attr(type='smoke')
- @test.idempotent_id('741d08c2-1e3f-42be-99c7-0ea93c5b728c')
- def test_get_subnetpool(self):
- name, pool_id = self._create_subnetpool(self.client)
- self.addCleanup(self.client.delete_subnetpool, pool_id)
- prefixlen = self._subnetpool_data['subnetpool']['min_prefixlen']
- body = self.client.get_subnetpool(pool_id)
- subnetpool = body['subnetpool']
- self.assertEqual(name, subnetpool['name'])
- self.assertEqual(pool_id, subnetpool['id'])
- self.assertEqual(prefixlen, subnetpool['min_prefixlen'])
- self.assertEqual(prefixlen, subnetpool['default_prefixlen'])
- self.assertFalse(subnetpool['shared'])
-
- @test.attr(type='smoke')
- @test.idempotent_id('764f1b93-1c4a-4513-9e7b-6c2fc5e9270c')
- def test_tenant_update_subnetpool(self):
- name, pool_id = self._create_subnetpool(self.client)
- subnetpool_data = self._new_subnetpool_attributes()
- self.client.update_subnetpool(pool_id, subnetpool_data)
-
- body = self.client.get_subnetpool(pool_id)
- subnetpool = body['subnetpool']
- self.addCleanup(self.client.delete_subnetpool, pool_id)
- self._check_equality_updated_subnetpool(subnetpool_data['subnetpool'],
- subnetpool)
- self.assertFalse(subnetpool['shared'])
-
- @test.attr(type='smoke')
- @test.idempotent_id('4b496082-c992-4319-90be-d4a7ce646290')
- def test_update_subnetpool_prefixes_append(self):
- # We can append new prefixes to subnetpool
- name, pool_id = self._create_subnetpool(self.client)
- old_prefixes = self._subnetpool_data['subnetpool']['prefixes']
- new_prefixes = old_prefixes[:]
- new_prefixes.append(self.new_prefix)
- subnetpool_data = {'subnetpool': {'prefixes': new_prefixes}}
- self.addCleanup(self.client.delete_subnetpool, pool_id)
- self.client.update_subnetpool(pool_id, subnetpool_data)
- body = self.client.get_subnetpool(pool_id)
- prefixes = body['subnetpool']['prefixes']
- self.assertIn(self.new_prefix, prefixes)
- self.assertIn(old_prefixes[0], prefixes)
-
- @test.attr(type='smoke')
- @test.idempotent_id('2cae5d6a-9d32-42d8-8067-f13970ae13bb')
- def test_update_subnetpool_prefixes_extend(self):
- # We can extend current subnetpool prefixes
- name, pool_id = self._create_subnetpool(self.client)
- old_prefixes = self._subnetpool_data['subnetpool']['prefixes']
- subnetpool_data = {'subnetpool': {'prefixes': [self.larger_prefix]}}
- self.addCleanup(self.client.delete_subnetpool, pool_id)
- self.client.update_subnetpool(pool_id, subnetpool_data)
- body = self.client.get_subnetpool(pool_id)
- prefixes = body['subnetpool']['prefixes']
- self.assertIn(self.larger_prefix, prefixes)
- self.assertNotIn(old_prefixes[0], prefixes)
-
- @test.attr(type='smoke')
- @test.idempotent_id('d70c6c35-913b-4f24-909f-14cd0d29b2d2')
- def test_admin_create_shared_subnetpool(self):
- pool_values = {'shared': 'True'}
- name, pool_id = self._create_subnetpool(self.admin_client,
- pool_values)
- # Shared subnetpool can be retrieved by tenant user.
- body = self.client.get_subnetpool(pool_id)
- self.addCleanup(self.admin_client.delete_subnetpool, pool_id)
- subnetpool = body['subnetpool']
- self.assertEqual(name, subnetpool['name'])
- self.assertTrue(subnetpool['shared'])
-
-
-class SubnetPoolsTestV6(SubnetPoolsTest):
-
- min_prefixlen = '48'
- max_prefixlen = '64'
- ip_version = 6
- subnet_cidr = '2001:db8:3::/64'
- new_prefix = u'2001:db8:5::/64'
- larger_prefix = u'2001:db8::/32'
-
- @classmethod
- def resource_setup(cls):
- super(SubnetPoolsTestV6, cls).resource_setup()
- min_prefixlen = '64'
- prefixes = [u'2001:db8:3::/48']
- cls._subnetpool_data = {'subnetpool': {'min_prefixlen': min_prefixlen,
- 'prefixes': prefixes}}
diff --git a/neutron/tests/tempest/api/network/test_subnetpools_negative.py b/neutron/tests/tempest/api/network/test_subnetpools_negative.py
deleted file mode 100644
index 5f66138..0000000
--- a/neutron/tests/tempest/api/network/test_subnetpools_negative.py
+++ /dev/null
@@ -1,120 +0,0 @@
-# Copyright 2015 Hewlett-Packard Development Company, L.P.
-# 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.
-
-import copy
-
-from tempest_lib.common.utils import data_utils
-from tempest_lib import exceptions as lib_exc
-
-from neutron.tests.tempest.api.network import base
-from neutron.tests.api.contrib import clients
-from neutron.tests.tempest import config
-from neutron.tests.tempest import test
-
-CONF = config.CONF
-SUBNETPOOL_NAME = 'smoke-subnetpool'
-
-
-class SubnetPoolsNegativeTestJSON(base.BaseNetworkTest):
-
- smaller_prefix = u'10.11.12.0/26'
-
- @classmethod
- def resource_setup(cls):
- super(SubnetPoolsNegativeTestJSON, cls).resource_setup()
- min_prefixlen = '29'
- prefixes = [u'10.11.12.0/24']
- name = data_utils.rand_name(SUBNETPOOL_NAME)
- cls._subnetpool_data = {'subnetpool': {'name': name,
- 'prefixes': prefixes,
- 'min_prefixlen': min_prefixlen}}
- try:
- creds = cls.isolated_creds.get_admin_creds()
- cls.os_adm = clients.Manager(credentials=creds)
- except NotImplementedError:
- msg = ("Missing Administrative Network API credentials "
- "in configuration.")
- raise cls.skipException(msg)
- cls.admin_client = cls.os_adm.network_client
-
- def _create_subnetpool(self, client, pool_values=None):
- subnetpool_data = copy.deepcopy(self._subnetpool_data)
- if pool_values:
- subnetpool_data['subnetpool'].update(pool_values)
- body = client.create_subnetpool(subnetpool_data)
- created_subnetpool = body['subnetpool']
- subnetpool_id = created_subnetpool['id']
- return subnetpool_id
-
- @test.attr(type=['negative', 'smoke'])
- @test.idempotent_id('0212a042-603a-4f46-99e0-e37de9374d30')
- def test_get_non_existent_subnetpool(self):
- non_exist_id = data_utils.rand_name('subnetpool')
- self.assertRaises(lib_exc.NotFound, self.client.get_subnetpool,
- non_exist_id)
-
- @test.attr(type=['negative', 'smoke'])
- @test.idempotent_id('dc9336e5-f28f-4658-a0b0-cc79e607007d')
- def test_tenant_get_not_shared_admin_subnetpool(self):
- pool_id = self._create_subnetpool(self.admin_client)
- self.addCleanup(self.admin_client.delete_subnetpool, pool_id)
- # None-shared admin subnetpool cannot be retrieved by tenant user.
- self.assertRaises(lib_exc.NotFound, self.client.get_subnetpool,
- pool_id)
-
- @test.attr(type=['negative', 'smoke'])
- @test.idempotent_id('5e1f2f86-d81a-498c-82ed-32a49f4dc4d3')
- def test_delete_non_existent_subnetpool(self):
- non_exist_id = data_utils.rand_name('subnetpool')
- self.assertRaises(lib_exc.NotFound, self.client.delete_subnetpool,
- non_exist_id)
-
- @test.attr(type=['negative', 'smoke'])
- @test.idempotent_id('d1143fe2-212b-4e23-a308-d18f7d8d78d6')
- def test_tenant_create_shared_subnetpool(self):
- # 'shared' subnetpool can only be created by admin.
- subnetpool_data = copy.deepcopy(self._subnetpool_data)
- subnetpool_data['subnetpool']['shared'] = 'True'
- self.assertRaises(lib_exc.Forbidden, self.client.create_subnetpool,
- subnetpool_data)
-
- @test.attr(type=['negative', 'smoke'])
- @test.idempotent_id('4be84d30-60ca-4bd3-8512-db5b36ce1378')
- def test_update_non_existent_subnetpool(self):
- non_exist_id = data_utils.rand_name('subnetpool')
- self.assertRaises(lib_exc.NotFound, self.client.update_subnetpool,
- non_exist_id, self._subnetpool_data)
-
- @test.attr(type=['negative', 'smoke'])
- @test.idempotent_id('e6cd6d87-6173-45dd-bf04-c18ea7ec7537')
- def test_update_subnetpool_not_modifiable_shared(self):
- # 'shared' attributes can be specified during creation.
- # But this attribute is not modifiable after creation.
- pool_id = self._create_subnetpool(self.admin_client)
- self.addCleanup(self.admin_client.delete_subnetpool, pool_id)
- subnetpool_data = {'subnetpool': {'shared': True}}
- self.assertRaises(lib_exc.BadRequest, self.client.update_subnetpool,
- pool_id, subnetpool_data)
-
- @test.attr(type=['negative', 'smoke'])
- @test.idempotent_id('62f7c43b-bff1-4def-8bb7-4754b840aaad')
- def test_update_subnetpool_prefixes_shrink(self):
- # Shrink current subnetpool prefixes is not supported
- pool_id = self._create_subnetpool(self.client)
- subnetpool_data = {'subnetpool': {'prefixes': [self.smaller_prefix]}}
- self.addCleanup(self.client.delete_subnetpool, pool_id)
- self.assertRaises(lib_exc.BadRequest,
- self.client.update_subnetpool,
- pool_id, subnetpool_data)