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
Example #2
0
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
                                             ])
Example #3
0
    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()
Example #4
0
 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)
Example #5
0
 def test_text_with_whitespaces(self):
     value = read_str_from_config({'key1': '  xyz  \n'}, 'key1')
     self.assertEquals('  xyz  \n', value)
Example #6
0
 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)
Example #7
0
 def test_no_key_with_default(self):
     value = read_str_from_config({'key1': 'xyz'}, 'key2', default='abc')
     self.assertEquals('abc', value)
Example #8
0
 def test_no_key_no_default(self):
     value = read_str_from_config({'key1': 'xyz'}, 'key2')
     self.assertIsNone(value)
Example #9
0
 def test_none_value_with_default(self):
     value = read_str_from_config({'key1': None}, 'key1', default='abc')
     self.assertEquals('abc', value)
Example #10
0
 def test_none_value_no_default(self):
     value = read_str_from_config({'key1': None}, 'key1')
     self.assertIsNone(value)
Example #11
0
 def test_normal_text(self):
     value = read_str_from_config({'key1': 'xyz'}, 'key1')
     self.assertEquals('xyz', value)