mirror of
https://github.com/emqx/neuron.git
synced 2026-10-17 04:40:42 +08:00
1351 lines
69 KiB
Plaintext
1351 lines
69 KiB
Plaintext
*** Settings ***
|
|
Resource resource/api.resource
|
|
Resource resource/common.resource
|
|
Resource resource/error.resource
|
|
Suite Setup Start Neuronx
|
|
Suite Teardown Stop Neuronx
|
|
|
|
|
|
*** Variables ***
|
|
${ATTR_RW} ${${TAG_ATTRIBUTE_RW}}
|
|
${ATTR_RD} ${${TAG_ATTRIBUTE_READ}}
|
|
${TYPE_I16} ${${TAG_TYPE_INT16}}
|
|
${TYPE_U16} ${${TAG_TYPE_UINT16}}
|
|
${TYPE_BIT} ${${TAG_TYPE_BIT}}
|
|
|
|
${g_plugin} ${PLUGIN_MODBUS_TCP}
|
|
${g_template} template-modbus
|
|
${g_node} modbus
|
|
${g_long_str} ${{'a'*200}}
|
|
&{g_tag1} name=tag1 address=1!400001 attribute=${${ATTR_RW}} type=${${TYPE_U16}} precision=${1} decimal=${0}
|
|
&{g_tag2} name=tag2 address=1!400009 attribute=${${ATTR_RD}} type=${${TYPE_BIT}}
|
|
${g_tag_bad_type} ${{{**$g_tag1, 'address':'0!000001'}}}
|
|
${g_tag_bad_addr} ${{{**$g_tag2, 'address':'F!400009'}}}
|
|
@{g_tags} ${g_tag1} ${g_tag2}
|
|
&{g_group1} name=group1 interval=${2000} tags=${g_tags}
|
|
@{g_groups} ${g_group1}
|
|
@{g_empty}
|
|
|
|
|
|
*** Test Cases ***
|
|
Create a template with a plugin that does not exist, it should fail.
|
|
${res} = Add Template ${g_template} no-such-plugin ${g_empty}
|
|
Check Response Status ${res} 404
|
|
Check Error Code ${res} ${NEU_ERR_PLUGIN_NOT_FOUND}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Create a template with too long name, it should fail.
|
|
${res} = Add Template ${g_long_str} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_TEMPLATE_NAME_TOO_LONG}
|
|
|
|
[Teardown] Del Template ${g_long_str}
|
|
|
|
|
|
Create a template with too long plugin name, it should fail.
|
|
${res} = Add Template ${g_template} ${g_long_str} ${g_groups}
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_PLUGIN_NAME_TOO_LONG}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Create a template having no group, it should success.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_empty}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Create a template having one group, it should success.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Create a template with invalid group interval, it should fail.
|
|
${group} = Create Dictionary name=group1 interval=10 tags=${g_tags}
|
|
${groups} = Create List ${group}
|
|
|
|
${res} = Add Template ${g_template} ${g_plugin} ${groups}
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_GROUP_PARAMETER_INVALID}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Create a template with too long group name, it should fail.
|
|
${group} = Create Dictionary name=${g_long_str} interval=${2000} tags=${g_tags}
|
|
${groups} = Create List ${group}
|
|
|
|
${res} = Add Template ${g_template} ${g_plugin} ${groups}
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_GROUP_NAME_TOO_LONG}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Create a template with invalid tag type, it should fail.
|
|
${tags} = Create List ${g_tag_bad_type}
|
|
${group} = Create Dictionary name=group1 interval=${2000} tags=${tags}
|
|
${groups} = Create List ${group}
|
|
|
|
${res} = Add Template ${g_template} ${g_plugin} ${groups}
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_TAG_TYPE_NOT_SUPPORT}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Create a template with invalid tag address, it should fail.
|
|
${tags} = Create List ${g_tag_bad_addr}
|
|
${group} = Create Dictionary name=group1 interval=${2000} tags=${tags}
|
|
${groups} = Create List ${group}
|
|
|
|
${res} = Add Template ${g_template} ${g_plugin} ${groups}
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_TAG_ADDRESS_FORMAT_INVALID}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Create a template with occupied name, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_empty}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_empty}
|
|
Check Response Status ${res} 409
|
|
Check Error Code ${res} ${NEU_ERR_TEMPLATE_EXIST}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Create a template with north plugin, it should fail.
|
|
${res} = Add Template ${g_template} MQTT ${g_empty}
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_PLUGIN_NOT_SUPPORT_TEMPLATE}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Get nonexistent template, it should fail.
|
|
${res} = Get Template ${g_template}
|
|
Check Response Status ${res} 404
|
|
Check Error Code ${res} ${NEU_ERR_TEMPLATE_NOT_FOUND}
|
|
|
|
|
|
Get a template using too long name query parameter, it should fail.
|
|
${res} = Get Template ${g_long_str}
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_PARAM_IS_WRONG}
|
|
|
|
|
|
Get an existent template having no groups, it should success.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_empty}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Get Template ${g_template}
|
|
Check Response Status ${res} 200
|
|
Should Be Equal As Strings ${res}[name] ${g_template}
|
|
Should Be Equal As Strings ${res}[plugin] ${g_plugin}
|
|
Should Be Empty ${res}[groups]
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Get an existent template having one group, it should success.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Get Template ${g_template}
|
|
Check Response Status ${res} 200
|
|
Should Have Only One Group ${res}[groups] ${g_group1}[name] ${g_group1}[interval]
|
|
Should Match Test Tags ${res}[groups][0][tags]
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Get all templates when there is none, it should return empty result.
|
|
${res} = Get Templates
|
|
Check Response Status ${res} 200
|
|
Should Be Empty ${res}[templates]
|
|
|
|
|
|
Get all templates, it should success.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_empty}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Get Templates
|
|
Check Response Status ${res} 200
|
|
List Length Should Be ${res}[templates] 1
|
|
Set Local Variable ${info} ${res}[templates][0]
|
|
Should Be Equal As Strings ${info}[name] ${g_template}
|
|
Should Be Equal As Strings ${info}[plugin] ${g_plugin}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Delete a nonexistent template, it should fail.
|
|
${res} = Del Template ${g_template}
|
|
Check Response Status ${res} 404
|
|
Check Error Code ${res} ${NEU_ERR_TEMPLATE_NOT_FOUND}
|
|
|
|
|
|
Delete a template using too long name query parameter, it should fail.
|
|
${res} = Del Template ${g_long_str}
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_PARAM_IS_WRONG}
|
|
|
|
|
|
Delete an existent template, it should success.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_empty}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Del Template ${g_template}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
When a template is created, its data should be persisted.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
Restart Neuron
|
|
|
|
${res} = Get Template ${g_template}
|
|
Check Response Status ${res} 200
|
|
Should Have Only One Group ${res}[groups] ${g_group1}[name] ${g_group1}[interval]
|
|
Should Match Test Tags ${res}[groups][0][tags]
|
|
|
|
Del Template ${g_template}
|
|
|
|
Restart Neuron
|
|
|
|
${res} = Get Template ${g_template}
|
|
Check Response Status ${res} 404
|
|
Check Error Code ${res} ${NEU_ERR_TEMPLATE_NOT_FOUND}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Instantiate a node from a nonexistent template, it should fail.
|
|
${res} = Inst Template ${g_template} ${g_node}
|
|
Check Response Status ${res} 404
|
|
Check Error Code ${res} ${NEU_ERR_TEMPLATE_NOT_FOUND}
|
|
|
|
[Teardown] Run Keywords Del Node ${g_node}
|
|
... AND Del Template ${g_template}
|
|
|
|
|
|
Instantiate a node with conflicting name from an existent template, it should fail.
|
|
${res} = Add Node ${g_node} ${g_plugin}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Inst Template ${g_template} ${g_node}
|
|
Check Response Status ${res} 409
|
|
Check Error Code ${res} ${NEU_ERR_NODE_EXIST}
|
|
|
|
[Teardown] Run Keywords Del Node ${g_node}
|
|
... AND Del Template ${g_template}
|
|
|
|
|
|
Instantiate a new node from an existent template, it should success.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Inst Template ${g_template} ${g_node}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
Should Match Test Template ${g_node}
|
|
|
|
[Teardown] Run Keywords Del Node ${g_node}
|
|
... AND Del Template ${g_template}
|
|
|
|
|
|
Instantiated node should be persisted.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Inst Template ${g_template} ${g_node}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
Restart Neuron
|
|
|
|
Should Match Test Template ${g_node}
|
|
|
|
[Teardown] Run Keywords Del Node ${g_node}
|
|
... AND Del Template ${g_template}
|
|
|
|
|
|
Instantiate a batch with a nonexistent template, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${inst1} = Create Dictionary name=${g_template} node=node1
|
|
${inst2} = Create Dictionary name=not-exist-tmpl node=node2
|
|
${res} = Inst Templates ${inst1} ${inst2}
|
|
Check Response Status ${res} 404
|
|
Check Error Code ${res} ${NEU_ERR_TEMPLATE_NOT_FOUND}
|
|
|
|
[Teardown] Run Keywords Del Node node1
|
|
... AND Del Node node2
|
|
... AND Del Template ${g_template}
|
|
|
|
|
|
Instantiate a batch with conflicting name from an existent template, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${inst1} = Create Dictionary name=${g_template} node=node
|
|
${inst2} = Create Dictionary name=${g_template} node=node
|
|
${res} = Inst Templates ${inst1} ${inst2}
|
|
Check Response Status ${res} 409
|
|
Check Error Code ${res} ${NEU_ERR_NODE_EXIST}
|
|
|
|
[Teardown] Run Keywords Del Node node
|
|
... AND Del Node node
|
|
... AND Del Template ${g_template}
|
|
|
|
|
|
Instantiate a batch from existent templates, it should success.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${inst1} = Create Dictionary name=${g_template} node=node1
|
|
${inst2} = Create Dictionary name=${g_template} node=node2
|
|
${res} = Inst Templates ${inst1} ${inst2}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
Should Match Test Template node1
|
|
Should Match Test Template node2
|
|
|
|
[Teardown] Run Keywords Del Node node1
|
|
... AND Del Node node2
|
|
... AND Del Template ${g_template}
|
|
|
|
|
|
Instantiated batch should be persisted.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${inst1} = Create Dictionary name=${g_template} node=node1
|
|
${inst2} = Create Dictionary name=${g_template} node=node2
|
|
${res} = Inst Templates ${inst1} ${inst2}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
Restart Neuron
|
|
|
|
Should Match Test Template node1
|
|
Should Match Test Template node2
|
|
|
|
[Teardown] Run Keywords Del Node node1
|
|
... AND Del Node node2
|
|
... AND Del Template ${g_template}
|
|
|
|
|
|
Add group to nonexistent template, it should fail.
|
|
${res} = Add Template Group ${g_template} ${g_group1}[name] ${2000}
|
|
Check Response Status ${res} 404
|
|
Check Error Code ${res} ${NEU_ERR_TEMPLATE_NOT_FOUND}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Add group with conflicting name to existing template, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Add Template Group ${g_template} ${g_group1}[name] ${2000}
|
|
Check Response Status ${res} 409
|
|
Check Error Code ${res} ${NEU_ERR_GROUP_EXIST}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Add group with invalid interval to existing template, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_empty}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Add Template Group ${g_template} ${g_group1}[name] ${10}
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_GROUP_PARAMETER_INVALID}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Add group using too long template name in request, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_empty}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Add Template Group ${g_long_str} ${g_group1}[name] ${2000}
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_TEMPLATE_NAME_TOO_LONG}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Add group with too long name to existing template, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_empty}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Add Template Group ${g_template} ${g_long_str} ${2000}
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_GROUP_NAME_TOO_LONG}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Add group to existing template, it should success.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_empty}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Add Template Group ${g_template} ${g_group1}[name] ${g_group1}[interval]
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Get Template Groups ${g_template}
|
|
Check Response Status ${res} 200
|
|
Should Have Only One Group ${res}[groups] ${g_group1}[name] ${g_group1}[interval]
|
|
Group Tag Count Should Be ${res}[groups][0] 0
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Get groups from nonexistent template, it should fail.
|
|
${res} = Get Template Groups ${g_template}
|
|
Check Response Status ${res} 404
|
|
Check Error Code ${res} ${NEU_ERR_TEMPLATE_NOT_FOUND}
|
|
|
|
|
|
Get groups using too long name query parameter, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Get Template Groups ${g_long_str}
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_PARAM_IS_WRONG}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Get groups when there are no groups, it should return empty result.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_empty}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Get Template Groups ${g_template}
|
|
Check Response Status ${res} 200
|
|
Should Be Empty ${res}[groups]
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Get groups from existent template having one group, it should success.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Get Template Groups ${g_template}
|
|
Check Response Status ${res} 200
|
|
Should Have Only One Group ${res}[groups] ${g_group1}[name] ${g_group1}[interval]
|
|
Group Tag Count Should Be ${res}[groups][0] 2
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Update group interval when template does not exist, it should fail.
|
|
${res} = Put Template Group ${g_template} ${g_group1}[name] interval=${1000}
|
|
Check Response Status ${res} 404
|
|
Check Error Code ${res} ${NEU_ERR_TEMPLATE_NOT_FOUND}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Update group using too long template name in request, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Put Template Group ${g_long_str} ${g_group1}[name] interval=${2000}
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_TEMPLATE_NAME_TOO_LONG}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Update group using too long group name in request, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Put Template Group ${g_template} ${g_long_str} interval=${2000}
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_GROUP_NAME_TOO_LONG}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Update group interval when group does not exist, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_empty}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Put Template Group ${g_template} ${g_group1}[name] interval=${1000}
|
|
Check Response Status ${res} 404
|
|
Check Error Code ${res} ${NEU_ERR_GROUP_NOT_EXIST}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Update group interval to invalid value, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Put Template Group ${g_template} ${g_group1}[name] interval=${10}
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_GROUP_PARAMETER_INVALID}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Update group interval, it should success.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Put Template Group ${g_template} ${g_group1}[name] interval=${1000}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Get Template Groups ${g_template}
|
|
Check Response Status ${res} 200
|
|
Should Have Only One Group ${res}[groups] ${g_group1}[name] ${1000}
|
|
Group Tag Count Should Be ${res}[groups][0] 2
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Update group with empty new name, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Put Template Group ${g_template} ${g_group1}[name] new_name=${EMPTY}
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_BODY_IS_WRONG}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Update group with too long new name, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Put Template Group ${g_template} ${g_group1}[name] new_name=${g_long_str}
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_GROUP_NAME_TOO_LONG}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Update group name to conflicting group name, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Add Template Group ${g_template} grp ${1000}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
|
|
${res} = Put Template Group ${g_template} ${g_group1}[name] new_name=grp
|
|
Check Response Status ${res} 409
|
|
Check Error Code ${res} ${NEU_ERR_GROUP_EXIST}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Update group name, it should success.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Put Template Group ${g_template} ${g_group1}[name] new_name=grp
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Get Template Groups ${g_template}
|
|
Check Response Status ${res} 200
|
|
Should Have Only One Group ${res}[groups] grp ${g_group1}[interval]
|
|
Group Tag Count Should Be ${res}[groups][0] 2
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Update group with at least name or interval, otherwise it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Put Template Group ${g_template} ${g_group1}[name]
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_BODY_IS_WRONG}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Update group name and interval, it should success.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Put Template Group ${g_template} ${g_group1}[name] new_name=grp interval=${1000}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Get Template Groups ${g_template}
|
|
Check Response Status ${res} 200
|
|
Should Have Only One Group ${res}[groups] grp ${1000}
|
|
Group Tag Count Should Be ${res}[groups][0] 2
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Delete group from nonexistent template, it should fail.
|
|
${res} = Del Template Group ${g_template} ${g_group1}[name]
|
|
Check Response Status ${res} 404
|
|
Check Error Code ${res} ${NEU_ERR_TEMPLATE_NOT_FOUND}
|
|
|
|
|
|
Delete nonexistent group from existent template, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_empty}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Del Template Group ${g_template} ${g_group1}[name]
|
|
Check Response Status ${res} 404
|
|
Check Error Code ${res} ${NEU_ERR_GROUP_NOT_EXIST}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Delete group using too long template name in request, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Del Template Group ${g_long_str} ${g_group1}[name]
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_TEMPLATE_NAME_TOO_LONG}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Delete group using too long group name in request, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Del Template Group ${g_template} ${g_long_str}
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_GROUP_NAME_TOO_LONG}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Delete group from existent template, it should success.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Del Template Group ${g_template} ${g_group1}[name]
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Get Template Groups ${g_template}
|
|
Check Response Status ${res} 200
|
|
Should Be Empty ${res}[groups]
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Template groups should be persisted.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_empty}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Add Template Group ${g_template} ${g_group1}[name] ${g_group1}[interval]
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
Restart Neuron
|
|
|
|
${res} = Get Template Groups ${g_template}
|
|
Check Response Status ${res} 200
|
|
Should Have Only One Group ${res}[groups] ${g_group1}[name] ${g_group1}[interval]
|
|
Group Tag Count Should Be ${res}[groups][0] 0
|
|
|
|
${res} = Put Template Group ${g_template} ${g_group1}[name] new_name=grp interval=${1000}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
Restart Neuron
|
|
|
|
${res} = Get Template Groups ${g_template}
|
|
Check Response Status ${res} 200
|
|
Should Have Only One Group ${res}[groups] grp ${1000}
|
|
Group Tag Count Should Be ${res}[groups][0] 0
|
|
|
|
${res} = Del Template Group ${g_template} grp
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
Restart Neuron
|
|
|
|
${res} = Get Template Groups ${g_template}
|
|
Check Response Status ${res} 200
|
|
Should Be Empty ${res}[groups]
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Add tag to nonexistent template, it should fail.
|
|
${res} = Add Template Tags ${g_template} ${g_group1}[name] ${g_tag1}
|
|
#Check Response Status ${res} 404
|
|
Check Error Code ${res} ${NEU_ERR_TEMPLATE_NOT_FOUND}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Add tag to nonexistent template group, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_empty}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Add Template Tags ${g_template} ${g_group1}[name] ${g_tag1}
|
|
#Check Response Status ${res} 404
|
|
Check Error Code ${res} ${NEU_ERR_GROUP_NOT_EXIST}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Add tag with conflicting name to existing template group, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Add Template Tags ${g_template} ${g_group1}[name] ${g_tag1}
|
|
#Check Response Status ${res} 409
|
|
Check Error Code ${res} ${NEU_ERR_TAG_NAME_CONFLICT}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Add tag using too long template name in request, it should fail.
|
|
Add Template And One Group ${g_template} ${g_plugin} ${g_group1}[name] ${g_group1}[interval]
|
|
|
|
${res} = Add Template Tags ${g_long_str} ${g_group1}[name] ${g_tag1}
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_TEMPLATE_NAME_TOO_LONG}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Add tag using too long group name in request, it should fail.
|
|
Add Template And One Group ${g_template} ${g_plugin} ${g_group1}[name] ${g_group1}[interval]
|
|
|
|
${res} = Add Template Tags ${g_template} ${g_long_str} ${g_tag1}
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_GROUP_NAME_TOO_LONG}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Add tag with too long name to existing template group, it should fail.
|
|
Add Template And One Group ${g_template} ${g_plugin} ${g_group1}[name] ${g_group1}[interval]
|
|
|
|
&{tag} = New Tag From ${g_tag1} name=${g_long_str}
|
|
${res} = Add Template Tags ${g_template} ${g_group1}[name] ${tag}
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_TAG_NAME_TOO_LONG}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Add tag with invalid type to existing template group, it should fail.
|
|
Add Template And One Group ${g_template} ${g_plugin} ${g_group1}[name] ${g_group1}[interval]
|
|
|
|
${res} = Add Template Tags ${g_template} ${g_group1}[name] ${g_tag_bad_type}
|
|
#Check Response Status ${res} 206
|
|
Check Error Code ${res} ${NEU_ERR_TAG_TYPE_NOT_SUPPORT}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Add tag with invalid address to existing template group, it should fail.
|
|
Add Template And One Group ${g_template} ${g_plugin} ${g_group1}[name] ${g_group1}[interval]
|
|
|
|
${res} = Add Template Tags ${g_template} ${g_group1}[name] ${g_tag_bad_addr}
|
|
#Check Response Status ${res} 206
|
|
Check Error Code ${res} ${NEU_ERR_TAG_ADDRESS_FORMAT_INVALID}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Add tag to existing template group, it should success.
|
|
Add Template And One Group ${g_template} ${g_plugin} ${g_group1}[name] ${g_group1}[interval]
|
|
|
|
${res} = Add Template Tags ${g_template} ${g_group1}[name] ${g_tag1}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Add many tags to existing template group, it should success.
|
|
Add Template And One Group ${g_template} ${g_plugin} ${g_group1}[name] ${g_group1}[interval]
|
|
|
|
${res} = Add Template Tags ${g_template} ${g_group1}[name] @{g_tags}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Get Template Tags ${g_template} ${g_group1}[name]
|
|
Check Response Status ${res} 200
|
|
Should Match Test Tags ${res}[tags]
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Get tags from nonexistent template, it should fail.
|
|
${res} = Get Template Tags ${g_template} ${g_group1}[name]
|
|
Check Response Status ${res} 404
|
|
Check Error Code ${res} ${NEU_ERR_TEMPLATE_NOT_FOUND}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Get tags from nonexistent template group, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_empty}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Get Template Tags ${g_template} ${g_group1}[name]
|
|
Check Response Status ${res} 404
|
|
Check Error Code ${res} ${NEU_ERR_GROUP_NOT_EXIST}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Get tags using too long template name query parameter, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Get Template Tags ${g_long_str} ${g_group1}[name]
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_PARAM_IS_WRONG}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Get tags using too long group name query parameter, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Get Template Tags ${g_template} ${g_long_str}
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_PARAM_IS_WRONG}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Get tags when there are none from existent template group, it should return empty result.
|
|
Add Template And One Group ${g_template} ${g_plugin} ${g_group1}[name] ${g_group1}[interval]
|
|
|
|
${res} = Get Template Tags ${g_template} ${g_group1}[name]
|
|
Check Response Status ${res} 200
|
|
Should Be Empty ${res}[tags]
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Get tags from existent template group, it should return the tags.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Get Template Tags ${g_template} ${g_group1}[name]
|
|
Check Response Status ${res} 200
|
|
Should Match Test Tags ${res}[tags]
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Get tags using too long tag name query parameter, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Grep Template Tags ${g_template} ${g_group1}[name] ${g_long_str}
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_PARAM_IS_WRONG}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Get tags by name pattern when there is no match, it should return empty result.
|
|
Add Template And One Group ${g_template} ${g_plugin} ${g_group1}[name] ${g_group1}[interval]
|
|
|
|
${res} = Grep Template Tags ${g_template} ${g_group1}[name] ${g_tag1}[name]
|
|
Check Response Status ${res} 200
|
|
Should Be Empty ${res}[tags]
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Get tags by name pattern when there is one match, it should return the matched tag.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Grep Template Tags ${g_template} ${g_group1}[name] ${g_tag1}[name]
|
|
Check Response Status ${res} 200
|
|
List Length Should Be ${res}[tags] 1
|
|
Should Match Test Tag1 ${res}[tags][0]
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Get tags by name pattern, it should return all matched tags.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Grep Template Tags ${g_template} ${g_group1}[name] tag
|
|
Check Response Status ${res} 200
|
|
Should Match Test Tags ${res}[tags]
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Update tag when template does not exist, it should fail.
|
|
${res} = Add Template Tags ${g_template} ${g_group1}[name] ${g_tag1}
|
|
#Check Response Status ${res} 404
|
|
Check Error Code ${res} ${NEU_ERR_TEMPLATE_NOT_FOUND}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Update tag when template group does not exist, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_empty}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Put Template Tags ${g_template} ${g_group1}[name] ${g_tag1}
|
|
#Check Response Status ${res} 404
|
|
Check Error Code ${res} ${NEU_ERR_GROUP_NOT_EXIST}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Update tag when template tag does not exist, it should fail.
|
|
Add Template And One Group ${g_template} ${g_plugin} ${g_group1}[name] ${g_group1}[interval]
|
|
|
|
${res} = Put Template Tags ${g_template} ${g_group1}[name] ${g_tag1}
|
|
#Check Response Status ${res} 404
|
|
Check Error Code ${res} ${NEU_ERR_TAG_NOT_EXIST}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Update tag using too long template name in request, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Put Template Tags ${g_long_str} ${g_group1}[name] ${g_tag1}
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_TEMPLATE_NAME_TOO_LONG}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Update tag using too long group name in request, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Put Template Tags ${g_template} ${g_long_str} ${g_tag1}
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_GROUP_NAME_TOO_LONG}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Update tag name to invalid value, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
&{tag} = New Tag From ${g_tag1} name=${g_long_str}
|
|
${res} = Put Template Tags ${g_template} ${g_group1}[name] ${tag}
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_TAG_NAME_TOO_LONG}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Update tag type to invalid value, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Put Template Tags ${g_template} ${g_group1}[name] ${g_tag_bad_type}
|
|
#Check Response Status ${res} 206
|
|
Check Error Code ${res} ${NEU_ERR_TAG_TYPE_NOT_SUPPORT}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Update tag address to invalid value, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Put Template Tags ${g_template} ${g_group1}[name] ${g_tag_bad_addr}
|
|
#Check Response Status ${res} 206
|
|
Check Error Code ${res} ${NEU_ERR_TAG_ADDRESS_FORMAT_INVALID}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Update one tag, it should success.
|
|
&{tag} = New Tag From ${g_tag1} address=1!400002
|
|
Add Template And Tags ${g_template} ${g_plugin} ${g_group1}[name] ${g_group1}[interval] ${tag} ${g_tag2}
|
|
|
|
${res} = Put Template Tags ${g_template} ${g_group1}[name] ${g_tag1}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Get Template Tags ${g_template} ${g_group1}[name]
|
|
Check Response Status ${res} 200
|
|
Should Match Test Tags ${res}[tags]
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Update many tags, it should success.
|
|
&{tag1} = New Tag From ${g_tag1} type=${${TAG_TYPE_INT16}}
|
|
&{tag2} = New Tag From ${g_tag2} address=1!400008
|
|
Add Template And Tags ${g_template} ${g_plugin} ${g_group1}[name] ${g_group1}[interval] ${tag1} ${tag2}
|
|
|
|
${res} = Put Template Tags ${g_template} ${g_group1}[name] @{g_tags}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Get Template Tags ${g_template} ${g_group1}[name]
|
|
Check Response Status ${res} 200
|
|
Should Match Test Tags ${res}[tags]
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Delete tag when template does not exist, it should fail.
|
|
${res} = Del Template Tags ${g_template} ${g_group1}[name] ${g_tag1}[name]
|
|
Check Response Status ${res} 404
|
|
Check Error Code ${res} ${NEU_ERR_TEMPLATE_NOT_FOUND}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Delete tag when template group does not exist, it should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_empty}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Del Template Tags ${g_template} ${g_group1}[name] ${g_tag1}[name]
|
|
Check Response Status ${res} 404
|
|
Check Error Code ${res} ${NEU_ERR_GROUP_NOT_EXIST}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Delete tag when template tag does not exist, it trivially success.
|
|
Add Template And One Group ${g_template} ${g_plugin} ${g_group1}[name] ${g_group1}[interval]
|
|
|
|
${res} = Del Template Tags ${g_template} ${g_group1}[name] ${g_tag1}[name]
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Delete tag using too long template name in request, it should should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Del Template Tags ${g_long_str} ${g_group1}[name] ${g_tag1}[name]
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_TEMPLATE_NAME_TOO_LONG}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Delete tag using too long group name in request, it should should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Del Template Tags ${g_template} ${g_long_str} ${g_tag1}[name]
|
|
Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_GROUP_NAME_TOO_LONG}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Delete tag using too long tag name in request, it should should fail.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Del Template Tags ${g_template} ${g_group1}[name] ${g_tag1}[name] ${g_long_str}
|
|
#Check Response Status ${res} 400
|
|
Check Error Code ${res} ${NEU_ERR_TAG_NAME_TOO_LONG}
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Delete one tag, it should keep other tags untouched.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Del Template Tags ${g_template} ${g_group1}[name] ${g_tag1}[name]
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Get Template Tags ${g_template} ${g_group1}[name]
|
|
Check Response Status ${res} 200
|
|
List Length Should Be ${res}[tags] 1
|
|
Should Match Test Tag2 ${res}[tags][0]
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Delete all tags, it should success.
|
|
${res} = Add Template ${g_template} ${g_plugin} ${g_groups}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Del Template Tags ${g_template} ${g_group1}[name] ${g_tag1}[name] ${g_tag2}[name]
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Get Template Tags ${g_template} ${g_group1}[name]
|
|
Check Response Status ${res} 200
|
|
List Length Should Be ${res}[tags] 0
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
Template tags should be persisted.
|
|
Add Template And One Group ${g_template} ${g_plugin} ${g_group1}[name] ${g_group1}[interval]
|
|
|
|
&{tag1} = New Tag From ${g_tag1} address=1!400002
|
|
&{tag2} = New Tag From ${g_tag2} address=1!400008
|
|
${res} = Add Template Tags ${g_template} ${g_group1}[name] ${tag1} ${tag2}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
Restart Neuron
|
|
|
|
${res} = Get Template Tags ${g_template} ${g_group1}[name]
|
|
Check Response Status ${res} 200
|
|
List Length Should Be ${res}[tags] 2
|
|
Should Be Equal As Tags ${res}[tags][0] ${tag1}
|
|
Should Be Equal As Tags ${res}[tags][1] ${tag2}
|
|
|
|
Restart Neuron
|
|
|
|
${res} = Put Template Tags ${g_template} ${g_group1}[name] @{g_tags}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Get Template Tags ${g_template} ${g_group1}[name]
|
|
Check Response Status ${res} 200
|
|
Should Match Test Tags ${res}[tags]
|
|
|
|
${res} = Del Template Tags ${g_template} ${g_group1}[name] ${g_tag1}[name]
|
|
|
|
Restart Neuron
|
|
|
|
${res} = Get Template Tags ${g_template} ${g_group1}[name]
|
|
Check Response Status ${res} 200
|
|
List Length Should Be ${res}[tags] 1
|
|
Should Match Test Tag2 ${res}[tags][0]
|
|
|
|
${res} = Del Template Tags ${g_template} ${g_group1}[name] ${g_tag2}[name]
|
|
|
|
Restart Neuron
|
|
|
|
${res} = Get Template Tags ${g_template} ${g_group1}[name]
|
|
Check Response Status ${res} 200
|
|
Should Be Empty ${res}[tags]
|
|
|
|
[Teardown] Del Template ${g_template}
|
|
|
|
|
|
*** Keywords ***
|
|
Restart Neuron
|
|
${result} = Terminate Process ${neuron_process}
|
|
Should Be Empty ${result.stderr}
|
|
|
|
${process} = Start Process ./neuron --log --disable_auth cwd=build stdout=neuron.log
|
|
Set Global Variable ${neuron_process} ${process}
|
|
Sleep 1
|
|
|
|
|
|
Should Be Equal As Tags
|
|
[Arguments] ${tag1} ${tag2}
|
|
Should Be Equal As Strings ${tag1}[name] ${tag2}[name]
|
|
Should Be Equal As Strings ${tag1}[address] ${tag2}[address]
|
|
Should Be Equal As Integers ${tag1}[attribute] ${tag2}[attribute]
|
|
Should Be Equal As Integers ${tag1}[type] ${tag2}[type]
|
|
|
|
IF 'decimal' in $tag1 and 'decimal' in $tag2
|
|
Should Be Equal As Integers ${tag1}[decimal] ${tag2}[decimal]
|
|
ELSE IF 'decimal' in $tag1
|
|
Should Be Equal As Integers ${tag1}[decimal] 0
|
|
ELSE IF 'decimal' in $tag2
|
|
Should Be Equal As Integers ${tag2}[decimal] 0
|
|
END
|
|
|
|
IF 'precision' in $tag1 and 'precision' in $tag2
|
|
Should Be Equal As Integers ${tag1}[precision] ${tag2}[precision]
|
|
ELSE IF 'precision' in $tag1
|
|
Should Be Equal As Integers ${tag1}[precision] 0
|
|
ELSE IF 'precision' in $tag2
|
|
Should Be Equal As Integers ${tag2}[precision] 0
|
|
END
|
|
|
|
IF 'description' in $tag1 and 'description' in $tag2
|
|
Should Be Equal As Strings ${tag1}[description] ${tag2}[description]
|
|
ELSE IF 'description' in $tag1
|
|
Should Be Equal As Strings ${tag1}[description] ${EMPTY}
|
|
ELSE IF 'description' in $tag2
|
|
Should Be Equal As Strings ${tag2}[description] ${EMPTY}
|
|
END
|
|
|
|
|
|
Should Match Test Tag1
|
|
[Arguments] ${tag}
|
|
Should Be Equal As Tags ${tag} ${g_tag1}
|
|
|
|
|
|
Should Match Test Tag2
|
|
[Arguments] ${tag}
|
|
Should Be Equal As Tags ${tag} ${g_tag2}
|
|
|
|
|
|
Should Match Test Tags
|
|
[Arguments] ${tags}
|
|
List Length Should Be ${tags} 2
|
|
Should Match Test Tag1 ${tags}[0]
|
|
Should Match Test Tag2 ${tags}[1]
|
|
|
|
|
|
Should Have Only One 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]
|
|
|
|
|
|
Group Tag Count Should Be
|
|
[Arguments] ${group} ${count}
|
|
Should Be Equal As Integers ${count} ${group}[tag_count]
|
|
|
|
|
|
Should Match Test Template
|
|
[Arguments] ${node_name}
|
|
${res}= Get Nodes ${NODE_DRIVER}
|
|
Check Response Status ${res} 200
|
|
${nodes}= Evaluate list(filter(lambda x: x['name'] == '${node_name}', $res['nodes']))
|
|
List Length Should Be ${nodes} 1
|
|
Set Local Variable ${node} ${nodes}[0]
|
|
Should Be Equal As Strings ${node}[name] ${node_name}
|
|
Should Be Equal As Strings ${node}[plugin] ${g_plugin}
|
|
|
|
${res}= Get Group ${node_name}
|
|
Check Response Status ${res} 200
|
|
Should Have Only One Group ${res}[groups] ${g_group1}[name] ${g_group1}[interval]
|
|
Group Tag Count Should Be ${res}[groups][0] 2
|
|
|
|
${res}= Get Tags ${node_name} ${g_group1}[name]
|
|
Check Response Status ${res} 200
|
|
Should Match Test Tags ${res}[tags]
|
|
|
|
|
|
New Tag From
|
|
[Arguments] ${tag} &{updates}
|
|
${copy} Evaluate {**$tag, **$updates}
|
|
[Return] ${copy}
|
|
|
|
|
|
Add Template And One Group
|
|
[Arguments] ${tmpl} ${plugin} ${group} ${interval}
|
|
${res} = Add Template ${tmpl} ${plugin} ${g_empty}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
${res} = Add Template Group ${tmpl} ${group} ${interval}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|
|
|
|
|
|
Add Template And Tags
|
|
[Arguments] ${tmpl} ${plugin} ${group} ${interval} @{tags}
|
|
Add Template And One Group ${tmpl} ${plugin} ${group} ${interval}
|
|
|
|
${res} = Add Template Tags ${tmpl} ${group} @{tags}
|
|
Check Response Status ${res} 200
|
|
Check Error Code ${res} ${NEU_ERR_SUCCESS}
|