mirror of
https://github.com/emqx/neuron.git
synced 2026-10-26 20:09:48 +08:00
test: add group update functionality tests
This commit is contained in:
@@ -5,6 +5,8 @@ Resource resource/error.resource
|
||||
Suite Setup Start Neuronx
|
||||
Suite Teardown Stop Neuronx
|
||||
|
||||
*** Variables ***
|
||||
${g_long_str} ${{'a'*200}}
|
||||
|
||||
*** Test Cases ***
|
||||
Add group under non-existent node, it should return failure
|
||||
@@ -65,3 +67,143 @@ Add group under app node, it should return failure
|
||||
Check Error Code ${res} ${NEU_ERR_GROUP_NOT_ALLOW}
|
||||
[Teardown] Del Node mqtt
|
||||
|
||||
Update group with nonexistent node, it should fail.
|
||||
${res} = Update Group modbus-node group interval=${1000}
|
||||
Check Response Status ${res} 404
|
||||
Check Error Code ${res} ${NEU_ERR_NODE_NOT_EXIST}
|
||||
|
||||
[Teardown] Del Node modbus-node
|
||||
|
||||
Update group using too long node name, it should fail.
|
||||
${res} = Update Group ${g_long_str} group interval=${1000}
|
||||
Check Response Status ${res} 400
|
||||
Check Error Code ${res} ${NEU_ERR_NODE_NAME_TOO_LONG}
|
||||
|
||||
[Teardown] Del Node modbus-node
|
||||
|
||||
Update group with nonexistent group, it should fail.
|
||||
Add Node modbus-node ${PLUGIN-MODBUS-TCP}
|
||||
|
||||
${res} = Update Group modbus-node group interval=${1000}
|
||||
Check Response Status ${res} 404
|
||||
Check Error Code ${res} ${NEU_ERR_GROUP_NOT_EXIST}
|
||||
|
||||
[Teardown] Del Node modbus-node
|
||||
|
||||
Update group using to long group name, it should fail.
|
||||
Add Node modbus-node ${PLUGIN-MODBUS-TCP}
|
||||
|
||||
${res} = Update Group modbus-node ${g_long_str} interval=${1000}
|
||||
Check Response Status ${res} 400
|
||||
Check Error Code ${res} ${NEU_ERR_GROUP_NAME_TOO_LONG}
|
||||
|
||||
[Teardown] Del Node modbus-node
|
||||
|
||||
Update group with too small interval, it should fail.
|
||||
Add Node modbus-node ${PLUGIN-MODBUS-TCP}
|
||||
Add Group modbus-node group 1000
|
||||
|
||||
${res} = Update Group modbus-node group interval=${10}
|
||||
Check Response Status ${res} 400
|
||||
Check Error Code ${res} ${NEU_ERR_GROUP_PARAMETER_INVALID}
|
||||
|
||||
[Teardown] Del Node modbus-node
|
||||
|
||||
Update group with too large interval, it should fail.
|
||||
Add Node modbus-node ${PLUGIN-MODBUS-TCP}
|
||||
Add Group modbus-node group 1000
|
||||
|
||||
${res} = Update Group modbus-node group interval=${100000000000}
|
||||
Check Response Status ${res} 400
|
||||
Check Error Code ${res} ${NEU_ERR_GROUP_PARAMETER_INVALID}
|
||||
|
||||
[Teardown] Del Node modbus-node
|
||||
|
||||
Update group interval, it should success.
|
||||
Add Node modbus-node ${PLUGIN-MODBUS-TCP}
|
||||
Add Group modbus-node group 1000
|
||||
|
||||
${res} = Update Group modbus-node group interval=${2000}
|
||||
Check Response Status ${res} 200
|
||||
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
||||
|
||||
${res} = Get Group modbus-node
|
||||
Set Local Variable ${groups} ${res}[groups]
|
||||
Should Match Group ${groups} group ${2000}
|
||||
|
||||
[Teardown] Del Node modbus-node
|
||||
|
||||
Update group with empty new name, it should fail.
|
||||
Add Node modbus-node ${PLUGIN-MODBUS-TCP}
|
||||
Add Group modbus-node group 1000
|
||||
|
||||
${res} = Update Group modbus-node group new_name=${EMPTY}
|
||||
Check Response Status ${res} 400
|
||||
Check Error Code ${res} ${NEU_ERR_BODY_IS_WRONG}
|
||||
|
||||
[Teardown] Del Node modbus-node
|
||||
|
||||
Update group with too long new name, it should fail.
|
||||
Add Node modbus-node ${PLUGIN-MODBUS-TCP}
|
||||
Add Group modbus-node group 1000
|
||||
|
||||
${res} = Update Group modbus-node group new_name=${g_long_str}
|
||||
Check Response Status ${res} 400
|
||||
Check Error Code ${res} ${NEU_ERR_GROUP_NAME_TOO_LONG}
|
||||
|
||||
[Teardown] Del Node modbus-node
|
||||
|
||||
Update group name, it should success.
|
||||
Add Node modbus-node ${PLUGIN-MODBUS-TCP}
|
||||
Add Group modbus-node group 1000
|
||||
|
||||
${res} = Update Group modbus-node group new_name=grp
|
||||
Check Response Status ${res} 200
|
||||
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
||||
|
||||
${res} = Get Group modbus-node
|
||||
Set Local Variable ${groups} ${res}[groups]
|
||||
Should Match Group ${groups} grp ${1000}
|
||||
|
||||
[Teardown] Del Node modbus-node
|
||||
|
||||
Update group name and interval, it should success.
|
||||
Add Node modbus-node ${PLUGIN-MODBUS-TCP}
|
||||
Add Group modbus-node group 1000
|
||||
|
||||
${res} = Update Group modbus-node group new_name=grp interval=${2000}
|
||||
Check Response Status ${res} 200
|
||||
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
||||
|
||||
${res} = Get Group modbus-node
|
||||
Set Local Variable ${groups} ${res}[groups]
|
||||
Should Match Group ${groups} grp ${2000}
|
||||
|
||||
[Teardown] Del Node modbus-node
|
||||
|
||||
Update group name, subscriptions should be updated.
|
||||
Add Node mqtt-node ${PLUGIN-MQTT}
|
||||
Add Node modbus-node ${PLUGIN-MODBUS-TCP}
|
||||
Add Group modbus-node group 1000
|
||||
Subscribe Group mqtt-node modbus-node group
|
||||
|
||||
${res} = Update Group modbus-node group new_name=grp
|
||||
Check Response Status ${res} 200
|
||||
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
||||
|
||||
${res} = Get Subscribe Group mqtt-node
|
||||
Check Response Status ${res} 200
|
||||
Set Local Variable ${groups} ${res}[groups]
|
||||
List Length Should Be ${groups} 1
|
||||
Should Be Equal As Strings ${groups}[0][driver] modbus-node
|
||||
Should Be Equal As Strings ${groups}[0][group] grp
|
||||
|
||||
[Teardown] Del Node modbus-node
|
||||
|
||||
*** Keywords ***
|
||||
|
||||
Should Match Group
|
||||
[Arguments] ${groups} ${name} ${interval}
|
||||
List Length Should Be ${groups} 1
|
||||
Should Be Equal As Strings ${name} ${groups}[0][name]
|
||||
Should Be Equal As Integers ${interval} ${groups}[0][interval]
|
||||
|
||||
@@ -117,6 +117,14 @@ Add Group
|
||||
${res} = Object response body
|
||||
[RETURN] ${res}[0]
|
||||
|
||||
Update Group
|
||||
[Arguments] ${node} ${group} &{updates}
|
||||
${dict} = Evaluate {"node":$node, "group":$group, **$updates}
|
||||
${data} = Evaluate json.dumps(${dict}) json
|
||||
PUT /api/v2/group ${data}
|
||||
${res} = Object response body
|
||||
[RETURN] ${res}[0]
|
||||
|
||||
Del Group
|
||||
[Arguments] ${node} ${group}
|
||||
DELETE /api/v2/group {"node": "${node}", "group": "${group}"}
|
||||
|
||||
Reference in New Issue
Block a user