Files
neuron/ft/common.resource
T
2022-03-02 19:26:04 +08:00

170 lines
6.5 KiB
Plaintext

*** Settings ***
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
${NODE_UNKNOWN} 0
${NODE_DRIVER} 1
${NODE_WEB} 2
${NODE_MQTT} 3
${NODE_STREAM_PROCESSOR} 4
${NODE_APP} 5
${NODE_CTL_START} 0
${NODE_CTL_STOP} 1
${NODE_STATE_IDLE} 0
${NODE_STATE_INIT} 1
${NODE_STATE_READY} 2
${NODE_STATE_RUNNING} 3
${NODE_STATE_STOP} 4
${NODE_LINK_STATE_DISCONNECTED} 0
${NODE_LINK_STATE_CONNECTING} 1
${NODE_LINK_STATE_CONNECTED} 2
${TAG_ATTRIBUTE_READ} 1
${TAG_ATTRIBUTE_WRITE} 2
${TAG_ATTRIBUTE_SUBSCRIBE} 4
${TAG_ATTRIBUTE_RW} 3
${TAG_DATA_TYPE_BYTE} 2
${TAG_DATA_TYPE_INT8} 3
${TAG_DATA_TYPE_INT16} 4
${TAG_DATA_TYPE_INT32} 5
${TAG_DATA_TYPE_INT64} 6
${TAG_DATA_TYPE_UINT8} 7
${TAG_DATA_TYPE_UINT16} 8
${TAG_DATA_TYPE_UINT32} 9
${TAG_DATA_TYPE_UINT64} 10
${TAG_DATA_TYPE_FLOAT} 11
${TAG_DATA_TYPE_DOUBLE} 12
${TAG_DATA_TYPE_BOOL} 13
${TAG_DATA_TYPE_BIT} 14
${TAG_DATA_TYPE_STRING} 15
${PLUGIN_MODBUS_TCP} modbus-tcp-plugin
${PLUGIN_MQTT} mqtt-plugin
${MQTT_CMD_GET} get
${MQTT_CMD_SET} set
${MQTT_CMD_ADD} add
${MQTT_CMD_UPDATE} update
${MQTT_CMD_DELETE} delete
${MQTT_CMD_NONE}
${MQTT_CLIENTID} 123456
${TOPIC_PING_REQ} neuron/${MQTT_CLIENTID}/ping
${TOPIC_NODE_REQ} neuron/${MQTT_CLIENTID}/node/req
${TOPIC_GCONFIG_REQ} neuron/${MQTT_CLIENTID}/gconfig/req
${TOPIC_TAGS_REQ} neuron/${MQTT_CLIENTID}/tags/req
${TOPIC_PLUGIN_REQ} neuron/${MQTT_CLIENTID}/plugin/req
${TOPIC_SUBSCRIBE_REQ} neuron/${MQTT_CLIENTID}/subscribe/req
${TOPIC_READ_REQ} neuron/${MQTT_CLIENTID}/read/req
${TOPIC_WRITE_REQ} neuron/${MQTT_CLIENTID}/write/req
${TOPIC_TTYS_REQ} neuron/${MQTT_CLIENTID}/ttys/req
${TOPIC_SCHEMA_REQ} neuron/${MQTT_CLIENTID}/schema/plugin/req
${TOPIC_SETTING_REQ} neuron/${MQTT_CLIENTID}/node/setting/req
${TOPIC_CTR_REQ} neuron/${MQTT_CLIENTID}/node/ctl/req
${TOPIC_STATE_REQ} neuron/${MQTT_CLIENTID}/node/state/req
${TOPIC_STATUS_RES} neuron/${MQTT_CLIENTID}/status
${TOPIC_NODE_RES} neuron/${MQTT_CLIENTID}/node/resp
${TOPIC_GCONFIG_RES} neuron/${MQTT_CLIENTID}/gconfig/resp
${TOPIC_TAGS_RES} neuron/${MQTT_CLIENTID}/tags/resp
${TOPIC_PLUGIN_RES} neuron/${MQTT_CLIENTID}/plugin/resp
${TOPIC_SUBSCRIBE_RES} neuron/${MQTT_CLIENTID}/subscribe/resp
${TOPIC_READ_RES} neuron/${MQTT_CLIENTID}/read/resp
${TOPIC_WRITE_RES} neuron/${MQTT_CLIENTID}/write/resp
${TOPIC_TTYS_RES} neuron/${MQTT_CLIENTID}/ttys/resp
${TOPIC_SCHEMA_RES} neuron/${MQTT_CLIENTID}/schema/plugin/resp
${TOPIC_SETTING_RES} neuron/${MQTT_CLIENTID}/node/setting/resp
${TOPIC_CTR_RES} neuron/${MQTT_CLIENTID}/node/ctl/resp
${TOPIC_STATE_RES} neuron/${MQTT_CLIENTID}/node/state/resp
${MQTT_UUID} 123456-789abc-123456-aabbcc
${MQTT_CONFIG_HOST} 127.0.0.1
${MQTT_CONFIG_PORT} ${1883}
${MQTT_CONFIG} {"client-id": "${MQTT_CLIENTID}",
... "ssl": false, "host": "${MQTT_CONFIG_HOST}", "port": ${MQTT_CONFIG_PORT},
... "username": "", "password": "", "ca-path":"", "ca-file": ""}
${MODBUS_TCP_CONFIG} {"host": "127.0.0.1", "port": 60502, "connection_mode": 0}
*** Keywords ***
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} ${id} ${value}
${ret} = Compare Tag Value Bool ${tags} ${id} ${value}
Should Be Equal As Integers ${ret} 0
Compare Tag Value As Int
[Arguments] ${tags} ${id} ${value}
${ret} = Compare Tag Value Int ${tags} ${id} ${value}
Should Be Equal As Integers ${ret} 0
Compare Tag Value As Float
[Arguments] ${tags} ${id} ${value}
${ret} = Compare Tag Value Float ${tags} ${id} ${value}
Should Be Equal As Integers ${ret} 0
Compare Tag Value As String
[Arguments] ${tags} ${id} ${value}
${ret} = Compare Tag Value String ${tags} ${id} ${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}
Skip If Not Http API
Skip If $NEURON_API != "http" Current API is not `http`, just skip
Skip If Not MQTT API
Skip If $NEURON_API != "mqtt" Current API is not `mqtt`, just skip
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