def _base_test(self, expect, key): class FakeAPI(object): """Fake API and ensure request url is correct.""" def get(self, *args, **kwargs): assert ('GET', args[0]) == expect def json_request(self, *args, **kwargs): assert args == expect ret = key and {key: []} or {} return {}, {key: ret} manager = ResourceManager(FakeAPI()) self.m.StubOutWithMock(manager, '_resolve_stack_id') manager._resolve_stack_id('teststack').AndReturn('teststack/abcd1234') self.m.ReplayAll() return manager
def test_get_event_with_unicode_resource_name(self): fields = {'stack_id': 'teststack', 'resource_name': u'\u5de5\u4f5c'} class FakeAPI(object): """Fake API and ensure request url is correct.""" def json_request(self, *args, **kwargs): expect = ('GET', '/stacks/teststack%2Fabcd1234/resources' '/%E5%B7%A5%E4%BD%9C') assert args == expect return {}, {'resource': []} manager = ResourceManager(FakeAPI()) Resource.__init__ = MagicMock() Resource.__init__.return_value = None self.m.StubOutWithMock(manager, '_resolve_stack_id') manager._resolve_stack_id('teststack').AndReturn('teststack/abcd1234') self.m.ReplayAll() manager.get(**fields)
def test_list_nested(self): fields = {'stack_id': 'teststack', 'nested_depth': '99'} expect = ('/stacks/teststack/resources?nested_depth=99') key = 'resources' class FakeResponse(object): def json(self): return {key: {}} class FakeClient(object): def get(self, *args, **kwargs): assert args[0] == expect return FakeResponse() manager = ResourceManager(FakeClient()) self.m.StubOutWithMock(manager, '_resolve_stack_id') manager._resolve_stack_id('teststack').AndReturn('teststack/abcd1234') self.m.ReplayAll() manager.list(**fields)