{ "$defs": { "config_file":{ "desciption": "The list of the configuration files", "type": "array", "items": { "type": "string" } }, "cons_open" : { "type":"object", "properties": { "protocol" : { "enum": ["telnet", "ssh", "serial", "rawtcp", "terminal"] }, "telnet_host" : {"type": "string"}, "telnet_port" : {"type": "string"}, "ssh_host": {"type": "string"}, "ssh_user": {"type": "string"}, "ssh_pwd": {"type": "string"}, "serial_port": {"type": "string"}, "serial_baudrate": {"type": "integer"}, "buffered": {"type": "boolean"}, "tcp_host" : {"type": "string"}, "tcp_port" : {"type": "string"}, "terminal_path": {"type":"string"}, "shell": {"type":"string"} }, "required":["protocol"], "additionalProperties": false }, "cons_read": { "type":"object", "properties": { "protocol" : { "enum": ["telnet", "ssh", "serial", "rawtcp", "terminal"] }, "expected" : {"type": "string"}, "timeout": {"type": "number"}, "mute": {"type": "boolean"} }, "required":["expected"], "additionalProperties": false }, "console" : { "description": "The let items", "type": "object", "properties":{ "name": { "type": "string" }, "stop_on_failure":{ "type": "boolean"}, "execute_on_stop":{ "type": "boolean"}, "skipped":{ "type": "boolean"}, "no_fail":{ "type": "boolean"}, "doc":{ "type": "string"}, "key":{ "type": "string"}, "report":{ "type": "string"}, "condition":{ "type": "string"}, "process_result":{ "type": "string"}, "expeted_result":{ "type": "string"}, "store_result":{ "type": "string"}, "console_name": {"type":"string" }, "steps": { "type": "array", "items": { "type": "object", "properties":{ "open": { "$ref": "#/$defs/cons_open" }, "write": { "type": "string" }, "writeln": { "type": "string" }, "read_until": { "$ref": "#/$defs/cons_read" }, "close": { "type": "null"} }, "additionalProperties": false } } }, "additionalProperties": false, "required": ["steps", "console_name"] }, "json_rpc_console": { "type":"object", "properties": { "name" : {"type": "string"}, "prompt" : {"type": "string"} }, "required":["name"], "additionalProperties": false }, "json_rpc_udp": { "type":"object", "properties": { "server" : {"type": "string"}, "udp_snd_port" : {"type": "integer"}, "udp_rcv_port" : {"type": "integer"}, "bufsize" : {"type": "integer"} }, "required":["name"], "additionalProperties": false }, "json_rpc_query": { "type":"object", "properties": { "method" : { "type": "string"}, "params" : { "type": "array"}, "id" : {"type": "integer"}, "no_wait" : {"type": "boolean"} }, "required":["method"], "additionalProperties": false }, "json_rpc_receive": { "type":"object", "properties": { "id" : {"type": "integer"}, "timeout" : {"type": "number"} }, "required":["id"], "additionalProperties": false }, "json_rpc" : { "description": "The json_rpc items", "type": "object", "properties":{ "name": { "type": "string" }, "stop_on_failure":{ "type": "boolean"}, "execute_on_stop":{ "type": "boolean"}, "skipped":{ "type": "boolean"}, "no_fail":{ "type": "boolean"}, "doc":{ "type": "string"}, "key":{ "type": "string"}, "report":{ "type": "string"}, "condition":{ "type": "string"}, "process_result":{ "type": "string"}, "expeted_result":{ "type": "string"}, "store_result":{ "type": "string"}, "expected" : {"type": "string"}, "udp" : { "$ref": "#/defs/json_rpc_udp"}, "console" : { "$ref": "#/$defs/json_rpc_console"}, "timeout": {"type": "number"}, "version": {"enum": ["1.0", "2.0"]}, "steps": { "type": "array", "items": { "type": "object", "properties":{ "open": { "type": "null"}, "query": { "$ref": "#/$defs/json_rpc_query" }, "receive": { "$ref": "#/$defs/json_rpc_receive" }, "writeln": { "type": "string" }, "read_until": { "$ref": "#/$defs/cons_read" }, "close": { "type": "null"} }, "additionalProperties": false } } }, "additionalProperties": false, "required": ["steps"] }, "group" : { "description": "The group items", "type": "object", "properties":{ "name": { "type": "string" }, "stop_on_failure":{ "type": "boolean"}, "execute_on_stop":{ "type": "boolean"}, "skipped":{ "type": "boolean"}, "no_fail":{ "type": "boolean"}, "doc":{ "type": "string"}, "key":{ "type": "string"}, "report":{ "type": "string"}, "condition":{ "type": "string"}, "process_result":{ "type": "string"}, "expeted_result":{ "type": "string"}, "store_result":{ "type": "string"}, "steps": { "type": "array", "items": { "type": "object", "properties":{ "let": { "$ref": "#/$defs/let" }, "check": { "$ref": "#/$defs/check" }, "dialog_message": { "$ref": "#/$defs/dialog_txt" }, "dialog_note": { "$ref": "#/$defs/dialog_txt" }, "dialog_value": { "$ref": "#/$defs/dialog_txt" }, "lua_func": { "$ref": "#/$defs/func" }, "py_func": { "$ref": "#/$defs/func" }, "console": { "$ref": "#/$defs/console" }, "json_rpc": { "$ref": "#/$defs/json_rpc" }, "group": { "$ref": "#/$defs/group" } }, "additionalProperties": false } } }, "additionalProperties": false, "required": ["steps"] }, "main" : { "description": "The Main items", "type": "object", "properties":{ "name": { "type": "string" }, "stop_on_failure":{ "type": "boolean"}, "execute_on_stop":{ "type": "boolean"}, "skipped":{ "type": "boolean"}, "no_fail":{ "type": "boolean"}, "doc":{ "type": "string"}, "key":{ "type": "string"}, "report":{ "type": "string"}, "condition":{ "type": "string"}, "process_result":{ "type": "string"}, "expeted_result":{ "type": "string"}, "store_result":{ "type": "string"}, "version": { "type": "string"}, "steps": { "type": "array", "items": { "type": "object", "properties":{ "let": { "$ref": "#/$defs/let" }, "check": { "$ref": "#/$defs/check" }, "dialog_message": { "$ref": "#/$defs/dialog_txt" }, "dialog_note": { "$ref": "#/$defs/dialog_txt" }, "dialog_value": { "$ref": "#/$defs/dialog_txt" }, "lua_func": { "$ref": "#/$defs/func" }, "py_func": { "$ref": "#/$defs/func" }, "console": { "$ref": "#/$defs/console" }, "json_rpc": { "$ref": "#/$defs/json_rpc" }, "group": { "$ref": "#/$defs/group" } }, "additionalProperties": false } } }, "additionalProperties": false, "required": ["steps"] }, "sleep" : { "description": "Sleep for X time [secondes", "type": "object", "properties":{ "name": { "type": "string" }, "stop_on_failure":{ "type": "boolean"}, "execute_on_stop":{ "type": "boolean"}, "skipped":{ "type": "boolean"}, "no_fail":{ "type": "boolean"}, "doc":{ "type": "string"}, "key":{ "type": "string"}, "report":{ "type": "string"}, "condition":{ "type": "string"}, "process_result":{ "type": "string"}, "expeted_result":{ "type": "string"}, "store_result":{ "type": "string"}, "dialog": { "type": "boolean"}, "timeout": { "type": "number"} }, "additionalProperties": false, "required": ["timeout"] }, "let" : { "description": "The let items", "type": "object", "properties":{ "name": { "type": "string" }, "stop_on_failure":{ "type": "boolean"}, "execute_on_stop":{ "type": "boolean"}, "skipped":{ "type": "boolean"}, "no_fail":{ "type": "boolean"}, "doc":{ "type": "string"}, "key":{ "type": "string"}, "report":{ "type": "string"}, "condition":{ "type": "string"}, "process_result":{ "type": "string"}, "expeted_result":{ "type": "string"}, "store_result":{ "type": "string"}, "values": { "type": "array", "items": {"type": "object" } } }, "additionalProperties": false, "required": ["values"] }, "check" : { "description": "The let items", "type": "object", "properties":{ "name": { "type": "string" }, "stop_on_failure":{ "type": "boolean"}, "execute_on_stop":{ "type": "boolean"}, "skipped":{ "type": "boolean"}, "no_fail":{ "type": "boolean"}, "doc":{ "type": "string"}, "key":{ "type": "string"}, "report":{ "type": "string"}, "condition":{ "type": "string"}, "process_result":{ "type": "string"}, "expeted_result":{ "type": "string"}, "store_result":{ "type": "string"}, "values": { "type": "array", "items": { "type": "string" } } }, "additionalProperties": false, "required": ["values"] }, "dialog_txt" : { "description": "The let items", "type": "object", "properties":{ "name": { "type": "string" }, "stop_on_failure":{ "type": "boolean"}, "execute_on_stop":{ "type": "boolean"}, "skipped":{ "type": "boolean"}, "no_fail":{ "type": "boolean"}, "doc":{ "type": "string"}, "key":{ "type": "string"}, "report":{ "type": "string"}, "condition":{ "type": "string"}, "process_result":{ "type": "string"}, "expeted_result":{ "type": "string"}, "store_result":{ "type": "string"}, "question": { "type": "string" } }, "additionalProperties": false, "required": ["question"] }, "func" : { "description": "The py_fun and lua_func items", "type": "object", "properties":{ "name": { "type": "string" }, "stop_on_failure":{ "type": "boolean"}, "execute_on_stop":{ "type": "boolean"}, "skipped":{ "type": "boolean"}, "no_fail":{ "type": "boolean"}, "doc":{ "type": "string"}, "key":{ "type": "string"}, "report":{ "type": "string"}, "condition":{ "type": "string"}, "process_result":{ "type": "string"}, "expeted_result":{ "type": "string"}, "store_result":{ "type": "string"}, "file": { "type": "string"}, "func_name": { "type": "string"}, "context_id": { "type": "string"}, "param" : { "type": "array", "items": { "type": "string" } } }, "additionalProperties": false, "required": ["file", "func_name"] }, "report_export": { "type": "object", "properties": { "path": {"type":"string"}, "file_name": {"type":"string"}, "pattern": {"type":"string"}, "key": {"type":"string"} } }, "report":{ "desciption": "The list of the configuration files", "type": "object", "properties": { "enabled": {"type":"boolean"}, "log_stored": {"type":"boolean"}, "export": { "type": "object", "properties":{ "html": { "$ref": "#/$defs/report_export" }, "sqlite": { "$ref": "#/$defs/report_export" }, "junit": { "$ref": "#/$defs/report_export" } } } } } }, "type": "object", "properties": { "config_file" : { "$ref": "#/$defs/config_file" }, "main": { "$ref": "#/$defs/group" }, "report" : { "$ref": "#/$defs/report" } }, "required" : ["main"], "additionalProperties": false }