Add new context plugin to support different API versions
Services context plugin allows to path API version to clients and service name to validate if service is available. Co-Authored-By: Andrey Kurilin <andr.kurilin@gmail.com> Related blueprint: different-api-versions Change-Id: Iebc9bef0797c4afcdc8758e7819eeff43b92bf0f
This commit is contained in:
parent
f53de140fa
commit
f252b1adfa
@ -31,11 +31,21 @@ class OpenStackScenario(scenario.Scenario):
|
||||
def __init__(self, context=None, admin_clients=None, clients=None):
|
||||
super(OpenStackScenario, self).__init__(context)
|
||||
if context:
|
||||
api_info = {}
|
||||
if "api_versions" in context.get("config", {}):
|
||||
api_versions = context["config"]["api_versions"]
|
||||
for service in api_versions:
|
||||
api_info[service] = {
|
||||
"version": api_versions[service].get("version"),
|
||||
"service_type": api_versions[service].get(
|
||||
"service_type")}
|
||||
if "admin" in context:
|
||||
self._admin_clients = osclients.Clients(
|
||||
context["admin"]["endpoint"])
|
||||
context["admin"]["endpoint"], api_info)
|
||||
if "user" in context:
|
||||
self._clients = osclients.Clients(context["user"]["endpoint"])
|
||||
self._clients = osclients.Clients(context["user"]["endpoint"],
|
||||
api_info)
|
||||
|
||||
if admin_clients:
|
||||
if hasattr(self, "_admin_clients"):
|
||||
raise ValueError(
|
||||
|
@ -37,7 +37,7 @@ class OpenStackScenarioTestCase(test.TestCase):
|
||||
scenario = base_scenario.OpenStackScenario(self.context)
|
||||
self.assertEqual(self.context, scenario.context)
|
||||
self.osclients.mock.assert_called_once_with(
|
||||
self.context["admin"]["endpoint"])
|
||||
self.context["admin"]["endpoint"], {})
|
||||
|
||||
self.assertRaises(
|
||||
ValueError, base_scenario.OpenStackScenario,
|
||||
@ -55,7 +55,7 @@ class OpenStackScenarioTestCase(test.TestCase):
|
||||
scenario = base_scenario.OpenStackScenario(self.context)
|
||||
self.assertEqual(self.context, scenario.context)
|
||||
self.osclients.mock.assert_called_once_with(
|
||||
self.context["user"]["endpoint"])
|
||||
self.context["user"]["endpoint"], {})
|
||||
|
||||
self.assertRaises(
|
||||
ValueError, base_scenario.OpenStackScenario,
|
||||
|
Loading…
x
Reference in New Issue
Block a user