Merge "Assert extensions match in config file and server"
diff --git a/neutron_tempest_plugin/api/test_extensions.py b/neutron_tempest_plugin/api/test_extensions.py
index 1462ae1..5b7fe67 100644
--- a/neutron_tempest_plugin/api/test_extensions.py
+++ b/neutron_tempest_plugin/api/test_extensions.py
@@ -11,31 +11,46 @@
# under the License.
from tempest.common import utils
+from tempest import config
from tempest.lib import decorators
from neutron_tempest_plugin.api import base
+CONF = config.CONF
+
+
class ExtensionsTest(base.BaseNetworkTest):
- def _test_list_extensions_includes(self, ext):
+ def _test_list_extensions_includes(self, exts):
body = self.client.list_extensions()
extensions = {ext_['alias'] for ext_ in body['extensions']}
self.assertNotEmpty(extensions, "Extension list returned is empty")
- ext_enabled = utils.is_extension_enabled(ext, "network")
- if ext_enabled:
- self.assertIn(ext, extensions)
- else:
- self.assertNotIn(ext, extensions)
+ for ext in exts:
+ ext_enabled = utils.is_extension_enabled(ext, "network")
+ if ext_enabled:
+ self.assertIn(ext, extensions)
+ else:
+ self.assertNotIn(ext, extensions)
@decorators.idempotent_id('262420b7-a4bb-4a3e-b4b5-e73bad18df8c')
def test_list_extensions_sorting(self):
- self._test_list_extensions_includes('sorting')
+ self._test_list_extensions_includes(['sorting'])
@decorators.idempotent_id('19db409e-a23f-445d-8bc8-ca3d64c84706')
def test_list_extensions_pagination(self):
- self._test_list_extensions_includes('pagination')
+ self._test_list_extensions_includes(['pagination'])
@decorators.idempotent_id('155b7bc2-e358-4dd8-bf3e-1774c084567f')
def test_list_extensions_project_id(self):
- self._test_list_extensions_includes('project-id')
+ self._test_list_extensions_includes(['project-id'])
+
+ @decorators.idempotent_id('c7597fac-2404-45b1-beb4-523c8b1d4604')
+ def test_list_extensions_includes_all(self):
+ extensions = CONF.network_feature_enabled.api_extensions
+ if not extensions:
+ raise self.skipException("Extension list is empty")
+ if extensions[0] == 'all':
+ raise self.skipException("No lists of enabled extensions provided")
+
+ self._test_list_extensions_includes(extensions)