From 9062811d10f2ab660ce38f9bd20be9c52daa9479 Mon Sep 17 00:00:00 2001 From: Dean Troyer Date: Wed, 20 Nov 2013 18:02:09 -0600 Subject: Expand support for command extensions Allows client libraries to have complete access to the rest of the OSC ClientManager. In addition, extension libraries can define global options (for API version options/env vars) and define versioned API entry points similar to the in-repo commands. The changes to ClientManager exposed some issues in the existing object api tests that needed to be cleaned up. Change-Id: Ic9662edf34c5dd130a2f1a69d2454adefc1f8a95 --- openstackclient/tests/object/v1/fakes.py | 20 ++++++++++++++++ .../tests/object/v1/lib/test_container.py | 21 ++++++++--------- openstackclient/tests/object/v1/lib/test_object.py | 27 ++++++++++------------ openstackclient/tests/object/v1/test_container.py | 12 +--------- openstackclient/tests/object/v1/test_object.py | 18 +-------------- 5 files changed, 43 insertions(+), 55 deletions(-) (limited to 'openstackclient/tests/object') diff --git a/openstackclient/tests/object/v1/fakes.py b/openstackclient/tests/object/v1/fakes.py index fbc784aa..37c35d3b 100644 --- a/openstackclient/tests/object/v1/fakes.py +++ b/openstackclient/tests/object/v1/fakes.py @@ -13,6 +13,10 @@ # under the License. # +from openstackclient.tests import fakes +from openstackclient.tests import utils + + container_name = 'bit-bucket' container_bytes = 1024 container_count = 1 @@ -65,3 +69,19 @@ OBJECT_2 = { 'content_type': object_content_type_2, 'last_modified': object_modified_2, } + + +class FakeObjectv1Client(object): + def __init__(self, **kwargs): + self.endpoint = kwargs['endpoint'] + self.token = kwargs['token'] + + +class TestObjectv1(utils.TestCommand): + def setUp(self): + super(TestObjectv1, self).setUp() + + self.app.client_manager.object = FakeObjectv1Client( + endpoint=fakes.AUTH_URL, + token=fakes.AUTH_TOKEN, + ) diff --git a/openstackclient/tests/object/v1/lib/test_container.py b/openstackclient/tests/object/v1/lib/test_container.py index 3b9976a1..c3fdea72 100644 --- a/openstackclient/tests/object/v1/lib/test_container.py +++ b/openstackclient/tests/object/v1/lib/test_container.py @@ -19,8 +19,7 @@ import mock from openstackclient.object.v1.lib import container as lib_container from openstackclient.tests.common import test_restapi as restapi -from openstackclient.tests import fakes -from openstackclient.tests import utils +from openstackclient.tests.object.v1 import fakes as object_fakes fake_account = 'q12we34r' @@ -36,12 +35,10 @@ class FakeClient(object): self.token = fake_auth -class TestContainer(utils.TestCommand): +class TestContainer(object_fakes.TestObjectv1): def setUp(self): super(TestContainer, self).setUp() - self.app.client_manager = fakes.FakeClientManager() - self.app.client_manager.object = FakeClient() self.app.restapi = mock.MagicMock() @@ -53,7 +50,7 @@ class TestContainerList(TestContainer): data = lib_container.list_containers( self.app.restapi, - self.app.client_manager.object.endpoint, + fake_url, ) # Check expected values @@ -69,7 +66,7 @@ class TestContainerList(TestContainer): data = lib_container.list_containers( self.app.restapi, - self.app.client_manager.object.endpoint, + fake_url, marker='next', ) @@ -86,7 +83,7 @@ class TestContainerList(TestContainer): data = lib_container.list_containers( self.app.restapi, - self.app.client_manager.object.endpoint, + fake_url, limit=5, ) @@ -103,7 +100,7 @@ class TestContainerList(TestContainer): data = lib_container.list_containers( self.app.restapi, - self.app.client_manager.object.endpoint, + fake_url, end_marker='last', ) @@ -120,7 +117,7 @@ class TestContainerList(TestContainer): data = lib_container.list_containers( self.app.restapi, - self.app.client_manager.object.endpoint, + fake_url, prefix='foo/', ) @@ -147,7 +144,7 @@ class TestContainerList(TestContainer): data = lib_container.list_containers( self.app.restapi, - self.app.client_manager.object.endpoint, + fake_url, full_listing=True, ) @@ -171,7 +168,7 @@ class TestContainerShow(TestContainer): data = lib_container.show_container( self.app.restapi, - self.app.client_manager.object.endpoint, + fake_url, 'is-name', ) diff --git a/openstackclient/tests/object/v1/lib/test_object.py b/openstackclient/tests/object/v1/lib/test_object.py index 0104183e..ef93877a 100644 --- a/openstackclient/tests/object/v1/lib/test_object.py +++ b/openstackclient/tests/object/v1/lib/test_object.py @@ -19,8 +19,7 @@ import mock from openstackclient.object.v1.lib import object as lib_object from openstackclient.tests.common import test_restapi as restapi -from openstackclient.tests import fakes -from openstackclient.tests import utils +from openstackclient.tests.object.v1 import fakes as object_fakes fake_account = 'q12we34r' @@ -37,12 +36,10 @@ class FakeClient(object): self.token = fake_auth -class TestObject(utils.TestCommand): +class TestObject(object_fakes.TestObjectv1): def setUp(self): super(TestObject, self).setUp() - self.app.client_manager = fakes.FakeClientManager() - self.app.client_manager.object = FakeClient() self.app.restapi = mock.MagicMock() @@ -54,7 +51,7 @@ class TestObjectListObjects(TestObject): data = lib_object.list_objects( self.app.restapi, - self.app.client_manager.object.endpoint, + fake_url, fake_container, ) @@ -71,7 +68,7 @@ class TestObjectListObjects(TestObject): data = lib_object.list_objects( self.app.restapi, - self.app.client_manager.object.endpoint, + fake_url, fake_container, marker='next', ) @@ -89,7 +86,7 @@ class TestObjectListObjects(TestObject): data = lib_object.list_objects( self.app.restapi, - self.app.client_manager.object.endpoint, + fake_url, fake_container, limit=5, ) @@ -107,7 +104,7 @@ class TestObjectListObjects(TestObject): data = lib_object.list_objects( self.app.restapi, - self.app.client_manager.object.endpoint, + fake_url, fake_container, end_marker='last', ) @@ -125,7 +122,7 @@ class TestObjectListObjects(TestObject): data = lib_object.list_objects( self.app.restapi, - self.app.client_manager.object.endpoint, + fake_url, fake_container, delimiter='|', ) @@ -146,7 +143,7 @@ class TestObjectListObjects(TestObject): data = lib_object.list_objects( self.app.restapi, - self.app.client_manager.object.endpoint, + fake_url, fake_container, prefix='foo/', ) @@ -164,7 +161,7 @@ class TestObjectListObjects(TestObject): data = lib_object.list_objects( self.app.restapi, - self.app.client_manager.object.endpoint, + fake_url, fake_container, path='next', ) @@ -192,7 +189,7 @@ class TestObjectListObjects(TestObject): data = lib_object.list_objects( self.app.restapi, - self.app.client_manager.object.endpoint, + fake_url, fake_container, full_listing=True, ) @@ -216,7 +213,7 @@ class TestObjectShowObjects(TestObject): data = lib_object.show_object( self.app.restapi, - self.app.client_manager.object.endpoint, + fake_url, fake_container, fake_object, ) @@ -250,7 +247,7 @@ class TestObjectShowObjects(TestObject): data = lib_object.show_object( self.app.restapi, - self.app.client_manager.object.endpoint, + fake_url, fake_container, fake_object, ) diff --git a/openstackclient/tests/object/v1/test_container.py b/openstackclient/tests/object/v1/test_container.py index 2090b880..e4d90fd9 100644 --- a/openstackclient/tests/object/v1/test_container.py +++ b/openstackclient/tests/object/v1/test_container.py @@ -16,10 +16,8 @@ import copy import mock -from openstackclient.common import clientmanager from openstackclient.object.v1 import container from openstackclient.tests.object.v1 import fakes as object_fakes -from openstackclient.tests import utils AUTH_TOKEN = "foobar" @@ -32,18 +30,10 @@ class FakeClient(object): self.token = AUTH_TOKEN -class TestObject(utils.TestCommand): +class TestObject(object_fakes.TestObjectv1): def setUp(self): super(TestObject, self).setUp() - api_version = {"object-store": "1"} - self.app.client_manager = clientmanager.ClientManager( - token=AUTH_TOKEN, - url=AUTH_URL, - auth_url=AUTH_URL, - api_version=api_version, - ) - class TestObjectClient(TestObject): diff --git a/openstackclient/tests/object/v1/test_object.py b/openstackclient/tests/object/v1/test_object.py index 52b5ebd0..9987c2d4 100644 --- a/openstackclient/tests/object/v1/test_object.py +++ b/openstackclient/tests/object/v1/test_object.py @@ -16,34 +16,18 @@ import copy import mock -from openstackclient.common import clientmanager from openstackclient.object.v1 import object as obj from openstackclient.tests.object.v1 import fakes as object_fakes -from openstackclient.tests import utils AUTH_TOKEN = "foobar" AUTH_URL = "http://0.0.0.0" -class FakeClient(object): - def __init__(self, endpoint=None, **kwargs): - self.endpoint = AUTH_URL - self.token = AUTH_TOKEN - - -class TestObject(utils.TestCommand): +class TestObject(object_fakes.TestObjectv1): def setUp(self): super(TestObject, self).setUp() - api_version = {"object-store": "1"} - self.app.client_manager = clientmanager.ClientManager( - token=AUTH_TOKEN, - url=AUTH_URL, - auth_url=AUTH_URL, - api_version=api_version, - ) - class TestObjectClient(TestObject): -- cgit v1.2.1