def read_short(file_path, json_object): config = ShortConfig() config.name = _read_name(file_path, json_object) config.allowed_users = json_object.get('allowed_users') config.admin_users = json_object.get('admin_users') config.group = read_str_from_config(json_object, 'group', blank_to_none=True) hidden = read_bool_from_config('hidden', json_object, default=False) if hidden: return None if config.allowed_users is None: config.allowed_users = ANY_USER elif (config.allowed_users == '*') or ('*' in config.allowed_users): config.allowed_users = ANY_USER if config.admin_users is None: config.admin_users = ANY_USER elif (config.admin_users == '*') or ('*' in config.admin_users): config.admin_users = ANY_USER return config
def _parse_xsrf_protection(security): return model_helper.read_str_from_config(security, 'xsrf_protection', default=XSRF_PROTECTION_TOKEN, allowed_values=[ XSRF_PROTECTION_TOKEN, XSRF_PROTECTION_HEADER, XSRF_PROTECTION_DISABLED ])
def _reload(self): config = self._original_config self.param = config.get('param') self.same_arg_param = read_bool_from_config('same_arg_param', config, default=False) self.env_var = config.get('env_var') self.no_value = read_bool_from_config('no_value', config, default=False) self.description = replace_auth_vars(config.get('description'), self._username, self._audit_name) self.required = read_bool_from_config('required', config, default=False) self.min = config.get('min') self.max = config.get('max') self.max_length = config.get('max_length') self.secure = read_bool_from_config('secure', config, default=False) self.separator = config.get('separator', ',') self.multiselect_argument_type = read_str_from_config( config, 'multiselect_argument_type', default='single_argument', allowed_values=[ 'single_argument', 'argument_per_value', 'repeat_param_value' ]) self.default = _resolve_default(config.get('default'), self._username, self._audit_name, self._working_dir) self.file_dir = _resolve_file_dir(config, 'file_dir') self._list_files_dir = _resolve_list_files_dir(self.file_dir, self._working_dir) self.file_extensions = _resolve_file_extensions( config, 'file_extensions') self.file_type = _resolve_parameter_file_type(config, 'file_type', self.file_extensions) self.file_recursive = read_bool_from_config('file_recursive', config, default=False) self.excluded_files_matcher = _resolve_excluded_files( config, 'excluded_files', self._list_files_dir) self.type = self._read_type(config) self.constant = read_bool_from_config('constant', config, default=False) self._validate_config() values_provider = self._create_values_provider(config.get('values'), self.type, self.constant) self._values_provider = values_provider self._reload_values()
def test_text_when_blank_to_none_and_blank_and_default(self): value = read_str_from_config({'key1': ' \t \n'}, 'key1', blank_to_none=True, default='abc') self.assertEquals('abc', value)
def test_text_with_whitespaces(self): value = read_str_from_config({'key1': ' xyz \n'}, 'key1') self.assertEquals(' xyz \n', value)
def test_text_when_blank_to_none_and_blank(self): value = read_str_from_config({'key1': ' \t \n'}, 'key1', blank_to_none=True) self.assertIsNone(value)
def test_no_key_with_default(self): value = read_str_from_config({'key1': 'xyz'}, 'key2', default='abc') self.assertEquals('abc', value)
def test_no_key_no_default(self): value = read_str_from_config({'key1': 'xyz'}, 'key2') self.assertIsNone(value)
def test_none_value_with_default(self): value = read_str_from_config({'key1': None}, 'key1', default='abc') self.assertEquals('abc', value)
def test_none_value_no_default(self): value = read_str_from_config({'key1': None}, 'key1') self.assertIsNone(value)
def test_normal_text(self): value = read_str_from_config({'key1': 'xyz'}, 'key1') self.assertEquals('xyz', value)