def list_configs(self, request): """Gets a list of all config values.""" self.check_xsrf_token(self.request_state) response_message = [] for setting in config_defaults.DEFAULTS: setting_value = config_model.Config.get(setting) if isinstance(setting_value, basestring): response_message.append( config_messages.ConfigResponse(name=setting, string_value=setting_value)) if (isinstance(setting_value, int) and not isinstance(setting_value, bool) or isinstance(setting_value, float)): response_message.append( config_messages.ConfigResponse( name=setting, integer_value=setting_value)) if isinstance(setting_value, bool) and isinstance( setting_value, int): response_message.append( config_messages.ConfigResponse( name=setting, boolean_value=setting_value)) if isinstance(setting_value, list): response_message.append( config_messages.ConfigResponse(name=setting, list_value=setting_value)) return config_messages.ListConfigsResponse(configs=response_message)
def testConfigResponse(self): config = config_messages.ConfigResponse( name='test', string_value='test', integer_value=1, boolean_value=False, list_value=['test']) self.assertEqual(config.name, 'test') self.assertEqual(config.string_value, 'test') self.assertEqual(config.integer_value, 1) self.assertEqual(config.boolean_value, False) self.assertEqual(config.list_value, ['test'])
def get_config(self, request): """Gets the given config value.""" self.check_xsrf_token(self.request_state) if not request.config_type or not request.name: raise endpoints.BadRequestException(_FIELD_MISSING_MSG) try: setting_value = config_model.Config.get(request.name) except KeyError as error: raise endpoints.BadRequestException(str(error)) if request.config_type == config_messages.ConfigType.STRING: response_message = config_messages.ConfigResponse( string_value=setting_value) elif request.config_type == config_messages.ConfigType.INTEGER: response_message = config_messages.ConfigResponse( integer_value=setting_value) elif request.config_type == config_messages.ConfigType.BOOLEAN: response_message = config_messages.ConfigResponse( boolean_value=setting_value) elif request.config_type == config_messages.ConfigType.LIST: response_message = config_messages.ConfigResponse( list_value=setting_value) return response_message
def testListConfigsResponse(self): config = config_messages.ListConfigsResponse( configs=[config_messages.ConfigResponse(name='test')]) self.assertEqual(config.configs[0].name, 'test')