def get_resources(cls): """Returns Ext Resources.""" exts = [] parent = dict(member_name="agent", collection_name="agents") controller = resource.Resource(RouterSchedulerController(), base.FAULT_MAP) exts.append( extensions.ResourceExtension(L3_ROUTERS, controller, parent)) controller = resource.Resource(FirewallSchedulerController(), base.FAULT_MAP) exts.append(extensions.ResourceExtension(FIREWALLS, controller, parent)) parent = dict(member_name="router", collection_name="routers") controller = resource.Resource(L3AgentsHostingRouterController(), base.FAULT_MAP) exts.append(extensions.ResourceExtension(L3_AGENTS, controller, parent)) parent = dict(member_name="firewall", collection_name="firewalls") controller = resource.Resource(L3AgentsHostingFirewallController(), base.FAULT_MAP) exts.append(extensions.ResourceExtension(L3_AGENTS, controller, parent)) return exts
def get_resources(self): exts = [] controller = resource.Resource(BNPSwitchController(), base.FAULT_MAP) exts.append(extensions.ResourceExtension( 'bnp-switches', controller)) return exts
def get_resources(cls): """Returns Ext Resources.""" exts = [] parent = dict(member_name="agent", collection_name="agents") controller = resource.Resource(BgpDrSchedulerController(), base.FAULT_MAP) exts.append( extensions.ResourceExtension(BGP_DRINSTANCES, controller, parent)) parent = dict(member_name="bgp_speaker", collection_name="bgp-speakers") controller = resource.Resource(BgpDrAgentController(), base.FAULT_MAP) exts.append( extensions.ResourceExtension(BGP_DRAGENTS, controller, parent)) return exts
def get_resources(cls): """Returns Ext Resources.""" exts = [] parent = dict(member_name=ciscohostingdevicemanager.DEVICE, collection_name=ciscohostingdevicemanager.DEVICES) controller = resource.Resource( RouterHostingDeviceSchedulerController(), base.FAULT_MAP) exts.append(extensions.ResourceExtension( DEVICE_L3_ROUTERS, controller, parent, path_prefix="/dev_mgr")) parent = dict(member_name="router", collection_name=l3.ROUTERS) controller = resource.Resource( HostingDevicesHostingRouterController(), base.FAULT_MAP) exts.append(extensions.ResourceExtension(L3_ROUTER_DEVICES, controller, parent)) return exts
def get_resources(cls): """Returns Ext Resources.""" exts = [] action_status = { 'index': 200, 'show': 204, 'update': 201, 'update_all': 200, 'delete': 204, 'delete_all': 204 } controller = api_resource.Resource(TaggingController(), faults.FAULT_MAP, action_status=action_status) collection_methods = {"delete_all": "DELETE", "update_all": "PUT"} exts = [] for collection_name, member_name in TAG_SUPPORTED_RESOURCES.items(): if 'security_group' in collection_name: collection_name = collection_name.replace('_', '-') parent = { 'member_name': member_name, 'collection_name': collection_name } exts.append( extensions.ResourceExtension( TAGS, controller, parent, collection_methods=collection_methods)) return exts
def test_mapped_neutron_error_with_xml(self): msg = u'\u7f51\u7edc' class TestException(n_exc.NeutronException): message = msg expected_res = { 'body': { 'NeutronError': { 'type': 'TestException', 'message': msg, 'detail': '' } } } controller = mock.MagicMock() controller.test.side_effect = TestException() faults = {TestException: exc.HTTPGatewayTimeout} resource = webtest.TestApp( wsgi_resource.Resource(controller, faults=faults)) environ = { 'wsgiorg.routing_args': (None, { 'action': 'test', 'format': 'xml' }) } res = resource.get('', extra_environ=environ, expect_errors=True) self.assertEqual(res.status_int, exc.HTTPGatewayTimeout.code) self.assertEqual(wsgi.XMLDeserializer().deserialize(res.body), expected_res)
def get_resources(cls): """Returns Ext Resources.""" exts = [] parent = dict(member_name="agent", collection_name="agents") controller = resource.Resource(NetworkSchedulerController(), base.FAULT_MAP) exts.append(extensions.ResourceExtension(DHCP_NETS, controller, parent)) parent = dict(member_name="network", collection_name="networks") controller = resource.Resource(DhcpAgentsHostingNetworkController(), base.FAULT_MAP) exts.append( extensions.ResourceExtension(DHCP_AGENTS, controller, parent)) return exts
def test_unmapped_neutron_error_with_json(self): msg = u'\u7f51\u7edc' class TestException(n_exc.NeutronException): message = msg expected_res = { 'body': { 'NeutronError': { 'type': 'TestException', 'message': msg, 'detail': '' } } } controller = mock.MagicMock() controller.test.side_effect = TestException() resource = webtest.TestApp(wsgi_resource.Resource(controller)) environ = { 'wsgiorg.routing_args': (None, { 'action': 'test', 'format': 'json' }) } res = resource.get('', extra_environ=environ, expect_errors=True) self.assertEqual(exc.HTTPInternalServerError.code, res.status_int) self.assertEqual(expected_res, wsgi.JSONDeserializer().deserialize(res.body))
def get_resources(self): exts = [] controller = resource.Resource(BNPCredentialController(), base.FAULT_MAP) exts.append(extensions.ResourceExtension('bnp-credentials', controller)) return exts
def get_resources(cls): """Returns Ext Resources.""" exts = [] action_status = { 'index': 200, 'show': 204, 'update': 201, 'update_all': 200, 'delete': 204, 'delete_all': 204 } controller = api_resource.Resource(TagExtController(), base.FAULT_MAP, action_status=action_status) collection_methods = {"delete_all": "DELETE", "update_all": "PUT"} exts = [] for collection_name, member_name in TAG_SUPPORTED_RESOURCES.items(): parent = { 'member_name': member_name, 'collection_name': collection_name } exts.append( extensions.ResourceExtension( tag_base.TAGS, controller, parent, collection_methods=collection_methods)) return exts
def test_mapped_neutron_error_localized(self, mock_translation): gettextutils.install('blaa', lazy=True) msg_translation = 'Translated error' mock_translation.return_value = msg_translation msg = _('Unmapped error') class TestException(q_exc.NeutronException): message = msg controller = mock.MagicMock() controller.test.side_effect = TestException() faults = {TestException: exc.HTTPGatewayTimeout} resource = webtest.TestApp( wsgi_resource.Resource(controller, faults=faults)) environ = { 'wsgiorg.routing_args': (None, { 'action': 'test', 'format': 'json' }) } res = resource.get('', extra_environ=environ, expect_errors=True) self.assertEqual(res.status_int, exc.HTTPGatewayTimeout.code) self.assertIn(msg_translation, str(wsgi.JSONDeserializer().deserialize(res.body)))
def test_no_route_args(self): controller = mock.MagicMock() resource = webtest.TestApp(wsgi_resource.Resource(controller)) environ = {} res = resource.get('', extra_environ=environ, expect_errors=True) self.assertEqual(res.status_int, exc.HTTPInternalServerError.code)
def get_resources(cls): """Returns Ext Resources.""" exts = [] parent = dict(member_name="agent", collection_name="agents") controller = resource.Resource(HostingDeviceSchedulerController(), base.FAULT_MAP) exts.append( extensions.ResourceExtension(CFG_AGENT_HOSTING_DEVICES, controller, parent)) parent = dict(member_name=ciscohostingdevicemanager.DEVICE, collection_name=ciscohostingdevicemanager.DEVICES) controller = resource.Resource( CfgAgentsHandlingHostingDeviceController(), base.FAULT_MAP) exts.append( extensions.ResourceExtension(HOSTING_DEVICE_CFG_AGENTS, controller, parent, PATH_PREFIX)) return exts
def test_http_error(self): controller = mock.MagicMock() controller.test.side_effect = exc.HTTPGatewayTimeout() resource = webtest.TestApp(wsgi_resource.Resource(controller)) environ = {'wsgiorg.routing_args': (None, {'action': 'test'})} res = resource.get('', extra_environ=environ, expect_errors=True) self.assertEqual(res.status_int, exc.HTTPGatewayTimeout.code)
def test_status_204(self): controller = mock.MagicMock() controller.test = lambda request: {'foo': 'bar'} resource = webtest.TestApp(wsgi_resource.Resource(controller)) environ = {'wsgiorg.routing_args': (None, {'action': 'delete'})} res = resource.delete('', extra_environ=environ, expect_errors=True) self.assertEqual(res.status_int, 204)
def create_resource(collection, resource, plugin, params, allow_bulk=False, member_actions=None, parent=None, allow_pagination=False, allow_sorting=False): controller = Controller(plugin, collection, resource, params, allow_bulk, member_actions=member_actions, parent=parent, allow_pagination=allow_pagination, allow_sorting=allow_sorting) return wsgi_resource.Resource(controller, FAULT_MAP)
def get_resources(cls): """Returns Ext Resources.""" exts = [] parent = dict(member_name=agent_apidef.RESOURCE_NAME, collection_name=agent_apidef.COLLECTION_NAME) controller = resource.Resource(NetworkSchedulerController(), faults.FAULT_MAP) exts.append(extensions.ResourceExtension( apidef.DHCP_NETS, controller, parent)) parent = dict(member_name=net_apidef.RESOURCE_NAME, collection_name=net_apidef.COLLECTION_NAME) controller = resource.Resource(DhcpAgentsHostingNetworkController(), faults.FAULT_MAP) exts.append(extensions.ResourceExtension( apidef.DHCP_AGENTS, controller, parent)) return exts
def get_resources(cls): """Returns Ext Resources.""" controller = resource.Resource( QuotaSetsController(manager.NeutronManager.get_plugin()), faults=base.FAULT_MAP) return [extensions.ResourceExtension( Quotasv2.get_alias(), controller, collection_actions={'tenant': 'GET'})]
def test_status_200(self): controller = mock.MagicMock() controller.test = lambda request: {'foo': 'bar'} resource = webtest.TestApp(wsgi_resource.Resource(controller)) environ = {'wsgiorg.routing_args': (None, {'action': 'test'})} res = resource.get('', extra_environ=environ) self.assertEqual(200, res.status_int)
def test_post_with_body(self): controller = mock.MagicMock() controller.test = lambda request, body: {'foo': 'bar'} resource = webtest.TestApp(wsgi_resource.Resource(controller)) environ = {'wsgiorg.routing_args': (None, {'action': 'test'})} res = resource.post('', params='{"key": "val"}', extra_environ=environ) self.assertEqual(res.status_int, 200)
def _make_request_with_side_effect(side_effect): controller = mock.MagicMock() controller.test.side_effect = side_effect resource = webtest.TestApp(wsgi_resource.Resource(controller)) routing_args = {'action': 'test'} environ = {'wsgiorg.routing_args': (None, routing_args)} res = resource.get('', extra_environ=environ, expect_errors=True) return res
def get_resources(cls): """Returns Extension Resources.""" controller = resource.Resource( DetailQuotaSetsController(directory.get_plugin()), faults=faults.FAULT_MAP) return [extensions.ResourceExtension( RESOURCE_COLLECTION, controller, member_actions={'details': 'GET'}, collection_actions={'tenant': 'GET'})]
def test_action_status(self): controller = mock.MagicMock() controller.test = lambda request: {'foo': 'bar'} action_status = {'test_200': 200, 'test_201': 201, 'test_204': 204} resource = webtest.TestApp( wsgi_resource.Resource(controller, action_status=action_status)) for action in action_status: environ = {'wsgiorg.routing_args': (None, {'action': action})} res = resource.get('', extra_environ=environ) self.assertEqual(action_status[action], res.status_int)
def get_resources(cls): """Returns Ext Resources.""" controller = resource.Resource( QuotaSetsController(directory.get_plugin()), faults=faults.FAULT_MAP) return [extensions.ResourceExtension( Quotasv2.get_alias(), controller, member_actions={DEFAULT_QUOTAS_ACTION: 'GET'}, collection_actions={'tenant': 'GET'})]
def get_resources(cls): """Returns Ext Resources.""" exts = [] parent = dict(member_name="agent", collection_name="agents") controller = resource.Resource(ProfilerController(), base.FAULT_MAP) exts.append(extensions.ResourceExtension( PROFILERS, controller)) return exts
def get_resources(cls): """Returns Ext Resources.""" exts = [] parent = dict(member_name="agent", collection_name="agents") controller = resource.Resource(LoadBalancerSchedulerController(), base.FAULT_MAP) exts.append(extensions.ResourceExtension( LOADBALANCERS, controller, parent)) parent = dict(member_name="loadbalancer", collection_name="loadbalancers") controller = resource.Resource( LbaasAgentHostingLoadBalancerController(), base.FAULT_MAP) exts.append(extensions.ResourceExtension( LOADBALANCER_AGENT, controller, parent, path_prefix=loadbalancerv2.LOADBALANCERV2_PREFIX)) return exts
def get_resources(cls): """Returns Extension Resources.""" controller = resource.Resource(SettingsController( directory.get_plugin()), faults=base.FAULT_MAP) collection = "%s/%s" % (Wrs_tenant.get_alias(), RESOURCE_COLLECTION) return [ extensions.ResourceExtension(collection, controller, collection_actions={'tenant': 'GET'}) ]
def get_resources(cls): """Returns Ext Resources.""" exts = [] parent = dict(member_name="agent", collection_name="agents") controller = resource.Resource(PoolSchedulerController(), base.FAULT_MAP) exts.append(extensions.ResourceExtension( LOADBALANCER_POOLS, controller, parent)) parent = dict(member_name="pool", collection_name="pools") controller = resource.Resource(LbaasAgentHostingPoolController(), base.FAULT_MAP) exts.append(extensions.ResourceExtension( LOADBALANCER_AGENT, controller, parent, path_prefix=plugin_const. COMMON_PREFIXES[plugin_const.LOADBALANCER])) return exts
def _test_error_log_level(self, map_webob_exc, expect_log_info=False, use_fault_map=True): class TestException(n_exc.NeutronException): message = 'Test Exception' controller = mock.MagicMock() controller.test.side_effect = TestException() faults = {TestException: map_webob_exc} if use_fault_map else {} resource = webtest.TestApp(wsgi_resource.Resource(controller, faults)) environ = {'wsgiorg.routing_args': (None, {'action': 'test'})} with mock.patch.object(wsgi_resource, 'LOG') as log: res = resource.get('', extra_environ=environ, expect_errors=True) self.assertEqual(res.status_int, map_webob_exc.code) self.assertEqual(expect_log_info, log.info.called) self.assertNotEqual(expect_log_info, log.exception.called)
def test_unhandled_error_with_xml(self): expected_res = {'body': {'NeutronError': _('Request Failed: internal server error ' 'while processing your request.')}} controller = mock.MagicMock() controller.test.side_effect = Exception() resource = webtest.TestApp(wsgi_resource.Resource(controller)) environ = {'wsgiorg.routing_args': (None, {'action': 'test', 'format': 'xml'})} res = resource.get('', extra_environ=environ, expect_errors=True) self.assertEqual(res.status_int, exc.HTTPInternalServerError.code) self.assertEqual(wsgi.XMLDeserializer().deserialize(res.body), expected_res)