def get_resources(cls): """ Returns Ext Resources """ exts = [] plugin = manager.QuantumManager.get_plugin() for resource_name in ['router', 'floatingip']: collection_name = resource_name + "s" params = RESOURCE_ATTRIBUTE_MAP.get(collection_name, dict()) member_actions = {} if resource_name == 'router': member_actions = {'add_router_interface': 'PUT', 'remove_router_interface': 'PUT'} quota.QUOTAS.register_resource_by_name(resource_name) controller = base.create_resource(collection_name, resource_name, plugin, params, member_actions=member_actions) ex = extensions.ResourceExtension(collection_name, controller, member_actions=member_actions) exts.append(ex) return exts
def get_resources(cls): """ Returns Ext Resources """ controller = QuotaSetsController(QuantumManager.get_plugin()) return [ extensions.ResourceExtension(Quotasv2.get_alias(), controller, collection_actions={'tenant': 'GET'}) ]
def get_resources(self): resource = base.create_resource('packet_filters', 'packet_filter', QuantumManager.get_plugin(), PACKET_FILTER_ATTR_MAP) qresource = quota.CountableResource('packet_filter', quota._count_resource, 'quota_packet_filter') quota.QUOTAS.register_resource(qresource) return [extensions.ResourceExtension('packet_filters', resource)]
def test_resource_can_be_added_as_extension(self): res_ext = extensions.ResourceExtension( 'tweedles', self.ResourceExtensionController()) test_app = _setup_extensions_test_app(SimpleExtensionManager(res_ext)) index_response = test_app.get("/tweedles") self.assertEqual(200, index_response.status_int) self.assertEqual("resource index", index_response.body) show_response = test_app.get("/tweedles/25266") self.assertEqual({'data': {'id': "25266"}}, show_response.json)
def get_resources(cls): """ Returns Ext Resources """ parent_resource = dict(member_name="tenant", collection_name="extensions/csco/tenants") controller = CredentialController(QuantumManager.get_plugin()) return [ extensions.ResourceExtension('credentials', controller, parent=parent_resource) ]
def get_resources(cls): controller = UdpChannelsController(QuantumManager.get_plugin()) parent_resource = dict(member_name="network", collection_name="extensions/udp/tenants/" +\ ":(tenant_id)/networks") return [ extensions.ResourceExtension('channels', controller, parent=parent_resource) ]
def test_resource_extension_for_get_custom_collection_action(self): controller = self.ResourceExtensionController() collections = {'custom_collection_action': "GET"} res_ext = extensions.ResourceExtension('tweedles', controller, collection_actions=collections) test_app = _setup_extensions_test_app(SimpleExtensionManager(res_ext)) response = test_app.get("/tweedles/custom_collection_action") self.assertEqual(200, response.status_int) self.assertEqual(jsonutils.loads(response.body)['collection'], "value")
def test_resource_extension_with_custom_member_action(self): controller = self.ResourceExtensionController() member = {'custom_member_action': "GET"} res_ext = extensions.ResourceExtension('tweedles', controller, member_actions=member) test_app = setup_extensions_test_app(SimpleExtensionManager(res_ext)) response = test_app.get("/tweedles/some_id/custom_member_action") self.assertEqual(200, response.status_int) self.assertEqual(json.loads(response.body)['member_action'], "value")
def get_resources(cls): """ Returns Ext Resource """ parent_resource = dict(member_name="tenant", collection_name="extensions/csco/tenants") member_actions = {'schedule_host': "PUT", 'associate_port': "PUT", 'detach_port': "PUT"} controller = NovatenantsController(QuantumManager.get_plugin()) return [extensions.ResourceExtension('novatenants', controller, parent=parent_resource, member_actions=member_actions)]
def test_resource_extension_for_delete_custom_collection_action(self): controller = self.ResourceExtensionController() collections = {'custom_collection_action': "DELETE"} res_ext = extensions.ResourceExtension('tweedles', controller, collection_actions=collections) test_app = setup_extensions_test_app(SimpleExtensionManager(res_ext)) response = test_app.delete("/tweedles/custom_collection_action") self.assertEqual(200, response.status_int) self.assertEqual(json.loads(response.body)['collection'], 'value')
def get_resources(cls): controller = PortsMetadataController(QuantumManager.get_plugin()) parent_resource = { "member_name": "network", "collection_name": "extensions/attributes/tenants/:(tenant_id)/networks" } return [ extensions.ResourceExtension('ports', controller, parent=parent_resource) ]
def test_resource_ext_for_nested_resource_custom_collection_action(self): controller = self.ResourceExtensionController() collections = {'custom_collection_action': "GET"} parent = dict(collection_name='beetles', member_name='beetle') res_ext = extensions.ResourceExtension('tweedles', controller, collection_actions=collections, parent=parent) test_app = _setup_extensions_test_app(SimpleExtensionManager(res_ext)) response = test_app.get("/beetles/beetle_id" "/tweedles/custom_collection_action") self.assertEqual(200, response.status_int) self.assertEqual(jsonutils.loads(response.body)['collection'], "value")
def get_resources(cls): """ Returns all defined resources """ parent_resource = dict(member_name="tenant", collection_name="extensions/csco/tenants") member_actions = { 'associate_portprofile': "PUT", 'disassociate_portprofile': "PUT" } controller = PortprofilesController(QuantumManager.get_plugin()) return [ extensions.ResourceExtension('portprofiles', controller, parent=parent_resource, member_actions=member_actions) ]
def test_exceptions_notimplemented(self): controller = self.ResourceExtensionController() member = {'notimplemented_function': "GET"} res_ext = extensions.ResourceExtension('tweedles', controller, member_actions=member) test_app = _setup_extensions_test_app(SimpleExtensionManager(res_ext)) # Ideally we would check for a 501 code here but webtest doesn't take # anything that is below 200 or above 400 so we can't actually check # it. It thows AppError instead. try: response = ( test_app.get("/tweedles/some_id/notimplemented_function")) # Shouldn't be reached self.assertTrue(False) except AppError: pass
def get_resources(cls): """ Returns Ext Resources """ exts = [] plugin = manager.QuantumManager.get_plugin() for resource_name in ['security_group', 'security_group_rule']: collection_name = resource_name.replace('_', '-') + "s" params = RESOURCE_ATTRIBUTE_MAP.get(resource_name + "s", dict()) quota.QUOTAS.register_resource_by_name(resource_name) controller = base.create_resource(collection_name, resource_name, plugin, params, allow_bulk=True) ex = extensions.ResourceExtension(collection_name, controller) exts.append(ex) return exts
def get_resources(self): resources = [] resource = extensions.ResourceExtension('foxnsocks', FoxInSocksController()) resources.append(resource) return resources