Files
2022-07-15 13:51:02 +08:00

135 lines
4.7 KiB
Plaintext

*** Settings ***
Library Process
Library OperatingSystem
Library Keyword.Neuron.GrpConfig
Library Keyword.Neuron.Neuron
Library Keyword.Neuron.Node
Library Keyword.Neuron.Subscribe
Library Keyword.Neuron.Read
Library Keyword.Neuron.Tag
Library Keyword.Neuron.Tool
Resource error.resource
Resource simulator.resource
*** Variables ***
${test_data_dir} ft/data
${PLUGIN_MODBUS_TCP} modbus-tcp
${PLUGIN_MQTT} mqtt
${MQTT_CMD_NONE}
${MQTT_CLIENTID} 123456
${TOPIC_PING_REQ} neuron/${MQTT_CLIENTID}/ping
${TOPIC_READ_REQ} neuron/${MQTT_CLIENTID}/read/req
${TOPIC_WRITE_REQ} neuron/${MQTT_CLIENTID}/write/req
${TOPIC_STATUS_RES} neuron/${MQTT_CLIENTID}/status
${TOPIC_READ_RES} neuron/${MQTT_CLIENTID}/read/resp
${TOPIC_WRITE_RES} neuron/${MQTT_CLIENTID}/write/resp
${TOPIC_UPLOAD} neuron/${MQTT_CLIENTID}/upload
${MQTT_UUID} 123456-789abc-123456-aabbcc
${MQTT_CONFIG_HOST} 127.0.0.1
${MQTT_CONFIG_PORT} ${1883}
${MQTT_CONFIG} {"client-id": "${MQTT_CLIENTID}", "upload-topic": "", "heartbeat-topic": "", "format": 1,
... "ssl": false, "host": "${MQTT_CONFIG_HOST}", "port": ${MQTT_CONFIG_PORT},
... "username": "", "password": "", "ca":"", "cert":"", "key":"", "keypass":""}
${MODBUS_TCP_CONFIG} {"host": "127.0.0.1", "port": 60502, "timeout": 3000}
*** Variables ***
${neuron_process}
${MODBUS_PLUS_TCP_CONFIG} {"host": "127.0.0.1", "port": 60502, "connection_mode": 0, "timeout": 3000}
*** Keywords ***
Start Neuronx
Remove Persistence
${process} = Start Process ./neuron --log cwd=build stdout=neuron.log
Set Global Variable ${neuron_process} ${process}
Sleep 2
LOGIN
Stop Neuronx
${result} = Terminate Process ${neuron_process}
Should Be Empty ${result.stderr}
To Array
[Arguments] ${str_array}
${tmp} Array ${str_array}
[RETURN] ${tmp}[0]
Neuron Ready
Start Neuron
Sleep 3
Compare Tag Value As Bool
[Arguments] ${tags} ${name} ${value}
${ret} = Compare Tag Value Bool ${tags} ${name} ${value}
Should Be Equal As Integers ${ret} 0
Compare Tag Value As Int
[Arguments] ${tags} ${name} ${value}
${ret} = Compare Tag Value Int ${tags} ${name} ${value}
Should Be Equal As Integers ${ret} 0
Compare Tag Value As Float
[Arguments] ${tags} ${name} ${value}
${ret} = Compare Tag Value Float ${tags} ${name} ${value}
Should Be Equal As Integers ${ret} 0
Compare Tag Value As String
[Arguments] ${tags} ${name} ${value}
${ret} = Compare Tag Value String ${tags} ${name} ${value}
Should Be Equal As Integers ${ret} 0
Compare Tag Value As Strings
[Arguments] ${tags} ${name} ${value}
${ret} = Compare Tag Value Strings ${tags} ${name} ${value}
Should Be Equal As Integers ${ret} 0
Check Tag Error As Int
[Arguments] ${tags} ${name} ${value}
${ret} = Check Tag Error ${tags} ${name} ${value}
Should Be Equal As Integers ${ret} 0
#Import Neuron API Resource
#${api} = Get Variable Value ${NEURON_API} http
#IF $api.lower() not in ["mqtt", "http"]
#Fatal Error Neuron API should be `http` or `mqtt`, `${NEURON_API}` unsupported
#END
#Set Global Variable ${NEURON_API} ${api}
#Set Global Variable ${NEURON_API_RESOURCE} api_${api}.resource
#Log To Console Neuron API is `${NEURON_API}`, load resource `${NEURON_API_RESOURCE}`
#Import Resource ${NEURON_API_RESOURCE}
Copy Persistence Test Data
${data_set} = Get Variable Value ${DATASET} total-10k
${data_dir} = Set Variable ${test_data_dir}/persistence/${data_set}
Directory Should Exist ${data_dir}
Directory Should Exist build
Directory Should Not Exist build/persistence
${rc} = Run And Return Rc cp -r ${data_dir} build/persistence
Should Be Equal As Integers ${rc} 0