491 lines
23 KiB
Plaintext
491 lines
23 KiB
Plaintext
config_file:
|
|
- param.yaml
|
|
- items/jsonrpc/param.yaml
|
|
main:
|
|
name: Testium validation suite
|
|
steps:
|
|
- group:
|
|
name: Test preparation
|
|
steps:
|
|
- let:
|
|
condition: <| "$(os)" == "Linux" |>
|
|
name: Set test variables for Linux
|
|
values:
|
|
- terminal_prompt: $(linux_prompt)
|
|
- psep: /
|
|
- let:
|
|
condition: <| "$(os)" == "Windows" |>
|
|
name: Set test variables for Windows
|
|
values:
|
|
- terminal_prompt: $(windows_prompt)
|
|
- psep: \
|
|
- group:
|
|
name: Group of tests
|
|
steps:
|
|
- let:
|
|
name: jsonrpc test constants
|
|
values:
|
|
test: jsonrpc
|
|
test_path: items/$(test)
|
|
- group:
|
|
name: jsonrpc test
|
|
steps:
|
|
- sequence:
|
|
steps:
|
|
- console:
|
|
console_name: jrpces
|
|
doc: check if jrpc_echo_server.py is available
|
|
key: $(test)_PASS
|
|
name: json rpc echo server
|
|
steps:
|
|
- open:
|
|
protocol: terminal
|
|
- read_until:
|
|
expected: $(terminal_prompt)
|
|
no_fail: true
|
|
timeout: 1
|
|
- writeln: test -f /home/renish/workspace/testium/code/test/validation/items/jsonrpc/jrpc_echo_server.py
|
|
&& echo JRPC_OK
|
|
- read_until:
|
|
expected: JRPC_OK
|
|
no_fail: true
|
|
timeout: 2
|
|
- group:
|
|
condition: <| 'JRPC_OK' in r'''$(cn_json rpc echo server)''' |>
|
|
name: jsonrpc tests
|
|
steps:
|
|
- console:
|
|
console_name: jrpces
|
|
key: $(test)_PASS
|
|
name: Start the json rpc echo server
|
|
steps:
|
|
- writeln: python3 /home/renish/workspace/testium/code/test/validation/items/jsonrpc/jrpc_echo_server.py
|
|
-c /home/renish/workspace/testium/code/test/validation/items/jsonrpc/jrpces.ini
|
|
- read_until:
|
|
expected: ready
|
|
timeout: 5
|
|
- console:
|
|
console_name: jsonrpc_server
|
|
doc: Opening the RAW TCP console
|
|
key: $(test)_PASS
|
|
name: Open the raw tcp Console
|
|
skipped: $(skip_tcp)
|
|
steps:
|
|
- open:
|
|
protocol: rawtcp
|
|
tcp_host: localhost
|
|
tcp_port: 4321
|
|
- json_rpc:
|
|
console:
|
|
name: jsonrpc_server
|
|
key: $(test)_PASS
|
|
name: JSONRPC console Query waiting for reception
|
|
skipped: $(skip_tcp)
|
|
steps:
|
|
- query:
|
|
method: echo
|
|
params:
|
|
- Hello World
|
|
- a: 1
|
|
b: hello
|
|
timeout: 1
|
|
- json_rpc:
|
|
console:
|
|
name: jsonrpc_server
|
|
key: $(test)_PASS
|
|
name: JSONRPC console Query not waiting (only send)
|
|
skipped: $(skip_tcp)
|
|
steps:
|
|
- query:
|
|
id: 3095372
|
|
method: echo
|
|
no_wait: true
|
|
params:
|
|
- a: -1
|
|
b: olleh
|
|
- World Hello
|
|
timeout: 1
|
|
- sleep:
|
|
name: Small delay for the test
|
|
skipped: $(skip_tcp)
|
|
timeout: 1
|
|
- json_rpc:
|
|
console:
|
|
name: jsonrpc_server
|
|
key: $(test)_PASS
|
|
name: JSONRPC console Reception
|
|
skipped: $(skip_tcp)
|
|
steps:
|
|
- receive:
|
|
id: 3095372
|
|
timeout: 1
|
|
- console:
|
|
console_name: jsonrpc_server
|
|
doc: Opening the RAW TCP console
|
|
execute_on_stop: true
|
|
key: $(test)_PASS
|
|
name: Close the raw tcp console
|
|
skipped: $(skip_tcp)
|
|
steps:
|
|
- close: null
|
|
- json_rpc:
|
|
key: $(test)_PASS
|
|
name: JSONRPC UDP query waiting for reception
|
|
steps:
|
|
- open: null
|
|
- query:
|
|
method: echo
|
|
name: echo
|
|
params:
|
|
- Hello World
|
|
- a: 1
|
|
b: hello
|
|
timeout: 1
|
|
- close: null
|
|
timeout: 1
|
|
udp:
|
|
rcv_port: 8765
|
|
server: localhost
|
|
snd_port: 4323
|
|
- json_rpc:
|
|
key: $(test)_FAIL
|
|
name: Failing JSONRPC UDP query waiting for reception
|
|
(returning an error)
|
|
steps:
|
|
- open: null
|
|
- query:
|
|
method: echo2
|
|
params:
|
|
- Hello World
|
|
- a: 1
|
|
b: hello
|
|
timeout: 1
|
|
- close: null
|
|
timeout: 1
|
|
udp:
|
|
rcv_port: 8765
|
|
server: localhost
|
|
snd_port: 4323
|
|
- json_rpc:
|
|
key: $(test)_PASS
|
|
name: JSONRPC UDP query waiting for reception of
|
|
an expected error
|
|
steps:
|
|
- open: null
|
|
- query:
|
|
expected_result:
|
|
code: -32000
|
|
message: function not found
|
|
method: echo2
|
|
params:
|
|
- Hello World
|
|
- a: 1
|
|
b: hello
|
|
- close: null
|
|
timeout: 1
|
|
udp:
|
|
rcv_port: 8765
|
|
server: localhost
|
|
snd_port: 4323
|
|
- json_rpc:
|
|
doc: 'Failing JSONRPC UDP query waiting for reception
|
|
and checking result
|
|
|
|
and timeout elapses (wrong udp port)
|
|
|
|
'
|
|
key: $(test)_FAIL
|
|
name: Failing UDP JSONRPC query timeout elapses (wrong
|
|
udp port)
|
|
steps:
|
|
- open: null
|
|
- query:
|
|
method: echo
|
|
params:
|
|
- Hello World
|
|
- a: 1
|
|
b: hello
|
|
timeout: 0.5
|
|
- close: null
|
|
timeout: 1
|
|
udp:
|
|
rcv_port: 48393
|
|
server: localhost
|
|
snd_port: 4326
|
|
- json_rpc:
|
|
key: $(test)_PASS
|
|
name: JSONRPC UDP query not waiting (only send)
|
|
steps:
|
|
- open: null
|
|
- query:
|
|
id: 3095372
|
|
method: echo
|
|
no_wait: true
|
|
params:
|
|
- a: -1
|
|
b: olleh
|
|
- World Hello
|
|
timeout: 1
|
|
udp:
|
|
rcv_port: 8765
|
|
server: localhost
|
|
snd_port: 4323
|
|
- sleep:
|
|
name: Small delay for the test
|
|
timeout: 1
|
|
- json_rpc:
|
|
key: $(test)_PASS
|
|
name: JSONRPC UDP Reception
|
|
steps:
|
|
- receive:
|
|
id: 3095372
|
|
- close: null
|
|
timeout: 1
|
|
udp:
|
|
rcv_port: 8765
|
|
server: localhost
|
|
snd_port: 4323
|
|
- json_rpc:
|
|
key: $(test)_PASS
|
|
name: JSONRPC UDP query not waiting (only send)
|
|
steps:
|
|
- open: null
|
|
- query:
|
|
id: 3095372
|
|
method: echo2
|
|
no_wait: true
|
|
params:
|
|
- a: -1
|
|
b: olleh
|
|
- World Hello
|
|
timeout: 1
|
|
udp:
|
|
rcv_port: 8765
|
|
server: localhost
|
|
snd_port: 4323
|
|
- sleep:
|
|
name: Small delay for the test
|
|
timeout: 1
|
|
- json_rpc:
|
|
key: $(test)_FAIL
|
|
name: Failing JSONRPC UDP Reception (returning an
|
|
error)
|
|
steps:
|
|
- receive:
|
|
id: 3095372
|
|
timeout: 1
|
|
- close: null
|
|
timeout: 1
|
|
udp:
|
|
rcv_port: 8765
|
|
server: localhost
|
|
snd_port: 4323
|
|
- json_rpc:
|
|
doc: JSONRPC UDP query waiting for reception and
|
|
checking result
|
|
key: $(test)_PASS
|
|
name: UDP JSONRPC query waiting and checking
|
|
steps:
|
|
- open: null
|
|
- query:
|
|
expected_result:
|
|
- - Hello World
|
|
- a: 1
|
|
b: hello
|
|
- {}
|
|
method: echo
|
|
params:
|
|
- Hello World
|
|
- a: 1
|
|
b: hello
|
|
timeout: 1
|
|
- close: null
|
|
timeout: 1
|
|
udp:
|
|
rcv_port: 48393
|
|
server: localhost
|
|
snd_port: 4323
|
|
- json_rpc:
|
|
doc: JSONRPC UDP query waiting for reception and
|
|
checking result
|
|
key: $(test)_FAIL
|
|
name: Failing UDP JSONRPC query waiting and checking
|
|
steps:
|
|
- open: null
|
|
- query:
|
|
expected_result:
|
|
- []
|
|
- {}
|
|
method: echo
|
|
params:
|
|
- Hello World
|
|
- a: 1
|
|
b: hello
|
|
timeout: 1
|
|
- close: null
|
|
timeout: 1
|
|
udp:
|
|
rcv_port: 48393
|
|
server: localhost
|
|
snd_port: 4323
|
|
- json_rpc:
|
|
doc: JSONRPC UDP query not waiting, with the purpose
|
|
to check the result at reception
|
|
key: $(test)_PASS
|
|
name: UDP JSONRPC query not waiting (for checking)
|
|
steps:
|
|
- open: null
|
|
- query:
|
|
id: 3095372
|
|
method: echo
|
|
no_wait: true
|
|
params:
|
|
- a: -1
|
|
b: olleh
|
|
- World Hello
|
|
timeout: 1
|
|
udp:
|
|
rcv_port: 9876
|
|
server: localhost
|
|
snd_port: 4323
|
|
- sleep:
|
|
name: Small delay for the test
|
|
timeout: 1
|
|
- json_rpc:
|
|
doc: JSONRPC UDP Reception and checking result
|
|
key: $(test)_PASS
|
|
name: UDP JSONRPC reception checking
|
|
steps:
|
|
- receive:
|
|
expected_result:
|
|
- - a: -1
|
|
b: olleh
|
|
- World Hello
|
|
- {}
|
|
id: 3095372
|
|
timeout: 1
|
|
- close: null
|
|
timeout: 1
|
|
udp:
|
|
rcv_port: 9876
|
|
server: localhost
|
|
snd_port: 4323
|
|
- json_rpc:
|
|
doc: JSONRPC UDP Reception and checking result
|
|
key: $(test)_FAIL
|
|
name: Failing UDP JSONRPC reception checking
|
|
steps:
|
|
- receive:
|
|
expected_result:
|
|
- - a: -1
|
|
b: ollhe
|
|
- World Hello
|
|
- {}
|
|
id: 3095372
|
|
timeout: 1
|
|
- close: null
|
|
timeout: 1
|
|
udp:
|
|
rcv_port: 9876
|
|
server: localhost
|
|
snd_port: 4323
|
|
- json_rpc:
|
|
doc: 'JSONRPC UDP query waiting for reception and
|
|
checking result with
|
|
|
|
replacing $(result) and evaluating string.
|
|
|
|
'
|
|
key: $(test)_PASS
|
|
name: UDP JSONRPC query waiting and evaluating result
|
|
steps:
|
|
- open: null
|
|
- query:
|
|
expected_result: 1
|
|
method: echo
|
|
params:
|
|
- Hello World
|
|
- a: 1
|
|
b: hello
|
|
process_result: $(result)[0][1]['a']
|
|
timeout: 1
|
|
- close: null
|
|
timeout: 1
|
|
udp:
|
|
rcv_port: 48393
|
|
server: localhost
|
|
snd_port: 4323
|
|
- json_rpc:
|
|
doc: 'JSONRPC UDP query waiting for reception and
|
|
checking result with
|
|
|
|
replacing $(result) and evaluating string.
|
|
|
|
'
|
|
key: $(test)_FAIL
|
|
name: Failing UDP JSONRPC query waiting and evaluating
|
|
result
|
|
steps:
|
|
- open: null
|
|
- query:
|
|
expected_result: $(result)[0][1]['a'] == 0
|
|
method: echo
|
|
params:
|
|
- Hello World
|
|
- a: 1
|
|
b: hello
|
|
timeout: 1
|
|
- close: null
|
|
timeout: 1
|
|
udp:
|
|
rcv_port: 48393
|
|
server: localhost
|
|
snd_port: 4323
|
|
- console:
|
|
console_name: jrpces
|
|
doc: check if the jsonrpc echo server is installed
|
|
execute_on_stop: true
|
|
key: $(test)_PASS
|
|
name: Stop json rpc echo server
|
|
steps:
|
|
- close:
|
|
protocol: terminal
|
|
filename: /home/renish/workspace/testium/code/test/validation/items/jsonrpc/test.tum
|
|
- sequence:
|
|
steps:
|
|
- report:
|
|
export:
|
|
- text:
|
|
key: $(test)_PASS
|
|
path: $(validation_report_path)$(psep)$(test)_PASS.txt
|
|
- html:
|
|
key: $(test)_PASS
|
|
path: $(validation_report_path)$(psep)$(test)_PASS.html
|
|
- junit:
|
|
key: $(test)_PASS
|
|
path: $(validation_report_path)$(psep)$(test)_PASS.junit
|
|
name: Expected PASS $(test) test
|
|
- report:
|
|
export:
|
|
- text:
|
|
key: $(test)_FAIL
|
|
path: $(validation_report_path)$(psep)$(test)_FAIL.txt
|
|
- html:
|
|
key: $(test)_FAIL
|
|
path: $(validation_report_path)$(psep)$(test)_FAIL.html
|
|
- junit:
|
|
key: $(test)_FAIL
|
|
path: $(validation_report_path)$(psep)$(test)_FAIL.junit
|
|
name: Expected FAIL $(test) test
|
|
filename: /home/renish/workspace/testium/code/test/validation/items/report.tum
|
|
report:
|
|
enabled: true
|
|
export:
|
|
junit:
|
|
file_name: $(validation_report_file).junit
|
|
path: $(validation_report_path)
|
|
sqlite:
|
|
file_name: $(validation_report_file).sqlite
|
|
path: $(validation_report_path)
|
|
log_stored: true
|