Skip to content

Latest commit

 

History

History
239 lines (145 loc) · 5.25 KB

validation.md

File metadata and controls

239 lines (145 loc) · 5.25 KB

aea.configurations.validation

Implementation of the configuration validation.

make_jsonschema_base_uri

def make_jsonschema_base_uri(base_uri_path: Path) -> str

Make the JSONSchema base URI, cross-platform.

Arguments:

  • base_uri_path: the path to the base directory.

Returns:

the string in URI form.

ExtraPropertiesError Objects

class ExtraPropertiesError(ValueError)

Extra properties exception.

__str__

def __str__() -> str

Get string representation of the object.

__repr__

def __repr__() -> str

Get string representation of the object.

CustomTypeChecker Objects

class CustomTypeChecker(TypeChecker)

Custom type checker to handle env variables.

is_type

def is_type(instance, type) -> bool

Check is instance of type.

own_additional_properties

def own_additional_properties(validator, aP, instance, schema) -> Iterator

Additional properties validator.

ConfigValidator Objects

class ConfigValidator()

Configuration validator implementation.

__init__

def __init__(schema_filename: str, env_vars_friendly: bool = False) -> None

Initialize the parser for configuration files.

Arguments:

  • schema_filename: the path to the JSON-schema file in 'aea/configurations/schemas'.
  • env_vars_friendly: whether or not it is env var friendly.

split_component_id_and_config

@staticmethod
def split_component_id_and_config(
        component_index: int,
        component_configuration_json: Dict) -> ComponentId

Split component id and configuration.

Arguments:

  • component_index: the position of the component configuration in the agent config file..
  • component_configuration_json: the JSON object to process.

Raises:

  • ValueError: if the component id cannot be extracted.

Returns:

the component id and the configuration object.

validate_component_configuration

@classmethod
def validate_component_configuration(cls,
                                     component_id: ComponentId,
                                     configuration: Dict,
                                     env_vars_friendly: bool = False) -> None

Validate the component configuration of an agent configuration file.

This check is to detect inconsistencies in the specified fields.

Arguments:

  • component_id: the component id.
  • configuration: the configuration dictionary.
  • env_vars_friendly: bool, if set True, will not raise errors over the env variable definitions.

Raises:

  • ValueError: if the configuration is not valid.

validate

def validate(json_data: Dict) -> None

Validate a JSON object against the right JSON schema.

Arguments:

  • json_data: the JSON data.

validate_agent_components_configuration

def validate_agent_components_configuration(
        component_configurations: Dict) -> None

Validate agent component configurations overrides.

Arguments:

  • component_configurations: the component configurations to validate.

required_fields

@property
def required_fields() -> List[str]

Get the required fields.

Returns:

list of required fields.

validate_data_with_pattern

def validate_data_with_pattern(data: dict,
                               pattern: dict,
                               excludes: Optional[List[Tuple[str]]] = None,
                               skip_env_vars: bool = False) -> List[str]

Validate data dict with pattern dict for attributes present and type match.

Arguments:

  • data: data dict to validate
  • pattern: dict with pattern to check over
  • excludes: list of tuples of str of paths to be skipped during the check
  • skip_env_vars: is set True will not check data type over env variables.

Returns:

list of str with error descriptions

filter_data

def filter_data(base: Any, updates: Any) -> Any

Return difference in values or SAME_MARK object if values are the same.