*** Keywords ***
Post To Controller
- [Arguments] ${session} ${path} ${DATA}
+ [Arguments] ${session} ${path} ${DATA} ${rest_context}=${REST_CONTEXT}
[Documentation] Post request to Controller and checks response
- ${resp} Post Request ${session} ${REST_CONTEXT}:${path} data=${DATA} headers=${HEADERS_XML}
+ ${resp} Post Request ${session} ${rest_context}:${path} data=${DATA} headers=${HEADERS_XML}
Log ${resp.content}
Log ${session}
Log ${path}
Log ${DATA}
Should be Equal As Strings ${resp.status_code} 200
${content} Evaluate json.loads('''${resp.content}''') json
- ${content} Get From Dictionary ${content} output
- ${content} Get From Dictionary ${content} result
- Should Be True ${content}
+ ${output} Get From Dictionary ${content} output
+ ${result} Get From Dictionary ${output} result
+ Should Be True ${result} RPC result is False
Add Node
[Arguments] ${node} ${password}=${EMPTY} ${version}=version4 ${port}=64999 ${session}=session ${ip}=${EMPTY}
${resp} Get Connections ${node} ${session} ${domain}
Should Contain Connection ${resp} ${ip} ${port} ${mode} ${version} ${state}
-Add Binding
- [Arguments] ${sgt} ${prefix} ${node}=127.0.0.1 ${domain}=global ${session}=session
- [Documentation] Add binding via RPC to Master DB of node
- ${DATA} Add Entry Xml ${sgt} ${prefix} ${node} ${domain}
- Post To Controller ${session} add-entry ${DATA}
+Add Bindings
+ [Arguments] ${sgt} ${prefixes} ${origin}=LOCAL ${node}=127.0.0.1 ${session}=session ${domain}=global
+ [Documentation] Add/Update one or more bindings via RPC to Master DB of the node
+ ${DATA} Add Bindings Xml ${node} ${domain} ${sgt} ${prefixes} ${origin}
+ Post To Controller ${session} add-bindings ${DATA}
Get Bindings
[Arguments] ${node}=127.0.0.1 ${session}=session ${domain}=global ${scope}=all
[Return] ${resp}
Clean Bindings
- [Arguments] ${node}=127.0.0.1 ${session}=session ${domain}=global
+ [Arguments] ${node}=127.0.0.1 ${session}=session ${domain}=global ${scope}=local
[Documentation] Delete all bindings via RPC from Master DB of node
- ${resp} Get Bindings ${node} ${session} ${domain} local
+ ${resp} Get Bindings ${node} ${session} ${domain} ${scope}
@{bindings} Parse Bindings ${resp}
: FOR ${binding} IN @{bindings}
- \ Clean Binding Default ${binding} ${node} ${session} ${domain}
-
-Clean Binding Default
- [Arguments] ${binding} ${node} ${session} ${domain}
- [Documentation] Clean binding
- Clean Binding ${binding['sgt']} ${binding['ip-prefix']} ${node} ${session}
-
-Clean Binding At Most Be
- [Arguments] ${binding} ${node} ${session} ${domain}
- [Documentation] Clean binding
- Clean Binding ${binding} ${binding['binding']} ${node} ${session}
-
-Clean Binding
- [Arguments] ${sgt} ${prefixes} ${node} ${session} ${domain}=global
- [Documentation] Used for nester FOR loop
- : FOR ${prefix} IN @{prefixes}
- \ Delete Binding Default ${sgt} ${prefix} ${node} ${domain} ${session}
-
-Update Binding
- [Arguments] ${sgtOld} ${prefixOld} ${sgtNew} ${prefixNew} ${node}=127.0.0.1 ${session}=session
- ... ${domain}=global
- [Documentation] Updates value of binding via RPC in Master DB of node
- ${DATA} Update Binding Xml ${sgtOld} ${prefixOld} ${sgtNew} ${prefixNew} ${node}
- ... ${domain}
- Post To Controller ${session} update-entry ${DATA}
-
-Delete Binding Default
- [Arguments] ${sgt} ${prefix} ${node} ${domain} ${session}
- [Documentation] Delete binding via RPC
- Delete Binding ${sgt} ${prefix} ${node} ${domain} ${session}
-
-Delete Binding Be
- [Arguments] ${sgt} ${prefix} ${node} ${domain} ${session}
- [Documentation] Delete binding via RPC
- Delete Binding ${sgt['sgt']} ${prefix['ip-prefix']} ${node} ${domain} ${session}
-
-Delete Binding
- [Arguments] ${sgt} ${prefix} ${node}=127.0.0.1 ${domain}=global ${session}=session
- [Documentation] Delete binding via RPC from Master DB of node
- ${DATA} Delete Binding Xml ${sgt} ${prefix} ${node} ${domain}
- Post To Controller ${session} delete-entry ${DATA}
+ \ Delete Bindings ${binding['sgt']} ${binding['ip-prefix']} ${node} ${domain} ${session}
+
+Delete Bindings
+ [Arguments] ${sgt} ${prefixes} ${node}=127.0.0.1 ${domain}=global ${session}=session
+ [Documentation] Delete one or more bindings via RPC from Master DB of node
+ ${DATA} Delete Bindings Xml ${node} ${domain} ${sgt} @{prefixes}
+ Post To Controller ${session} delete-bindings ${DATA}
Add PeerGroup
[Arguments] ${name} ${peers}= ${node}=127.0.0.1 ${session}=session
Post To Controller ${session} delete-domain-filter ${DATA}
Should Contain Binding
- [Arguments] ${resp} ${sgt} ${prefix} ${db_source}=any
+ [Arguments] ${resp} ${sgt} ${prefix}
[Documentation] Tests if data contains specified binding
${out} Find Binding ${resp} ${sgt} ${prefix}
Should Be True ${out} Doesn't have ${sgt} ${prefix}
Should Not Contain Binding
- [Arguments] ${resp} ${sgt} ${prefix} ${db_source}=any
+ [Arguments] ${resp} ${sgt} ${prefix}
[Documentation] Tests if data doesn't contains specified binding
${out} Find Binding ${resp} ${sgt} ${prefix}
Should Not Be True ${out} Should't have ${sgt} ${prefix}
Should Not Be True ${out} Shouldn't have ${ip}:${port} ${mode} ${version}
Bindings Should Contain
- [Arguments] ${sgt} ${prefix} ${db_source}=any
+ [Arguments] ${sgt} ${prefix} ${domain}=global ${scope}=all
[Documentation] Retrieves bindings and verifies they contain given binding
- ${resp} Get Bindings
- Should Contain Binding ${resp} ${sgt} ${prefix} ${db_source}
+ ${resp} Get Bindings domain=${domain} scope=${scope}
+ Should Contain Binding ${resp} ${sgt} ${prefix}
Bindings Should Not Contain
- [Arguments] ${sgt} ${prefix} ${db_source}=any
+ [Arguments] ${sgt} ${prefix} ${domain}=global ${scope}=all
[Documentation] Retrieves bindings and verifies they do not contain given binding
- ${resp} Get Bindings
- Should Not Contain Binding ${resp} ${sgt} ${prefix} ${db_source}
+ ${resp} Get Bindings domain=${domain} scope=${scope}
+ Should Not Contain Binding ${resp} ${sgt} ${prefix}
Connections Should Contain
[Arguments] ${ip} ${port} ${mode} ${version} ${state}=none
\ ... ${PASSWORD}
\ Wait Until Keyword Succeeds 15 1 Verify Connection ${version} both
\ ... 127.0.0.${node}
- \ Add Binding ${node}0 10.10.10.${node}0/32 127.0.0.${node}
- \ Add Binding ${node}0 10.10.${node}0.0/24 127.0.0.${node}
- \ Add Binding ${node}0 10.${node}0.0.0/16 127.0.0.${node}
- \ Add Binding ${node}0 ${node}0.0.0.0/8 127.0.0.${node}
- Add Binding 10 10.10.10.10/32 127.0.0.1
- Add Binding 10 10.10.10.0/24 127.0.0.1
- Add Binding 10 10.10.0.0/16 127.0.0.1
- Add Binding 10 10.0.0.0/8 127.0.0.1
+ \ Add Bindings ${node}0 10.10.10.${node}0/32 127.0.0.${node}
+ \ Add Bindings ${node}0 10.10.${node}0.0/24 127.0.0.${node}
+ \ Add Bindings ${node}0 10.${node}0.0.0/16 127.0.0.${node}
+ \ Add Bindings ${node}0 ${node}0.0.0.0/8 127.0.0.${node}
+ Add Bindings 10 10.10.10.10/32 127.0.0.1
+ Add Bindings 10 10.10.10.0/24 127.0.0.1
+ Add Bindings 10 10.10.0.0/16 127.0.0.1
+ Add Bindings 10 10.0.0.0/8 127.0.0.1
Verify Snapshot Was Pushed
[Arguments] ${snapshot_string}=22-sxp-controller-one-node.xml
Delete All Sessions
Add Domain
- [Arguments] ${domain_name} ${node}=127.0.0.1 ${session}=session
- [Documentation] Add Domain via RPC
- ${DATA} Add Domain Xml ${node} ${domain_name}
+ [Arguments] ${domain_name} ${sgt}=None ${prefixes}='' ${origin}=LOCAL ${node}=127.0.0.1 ${session}=session
+ [Documentation] Add Domain with bindings via RPC
+ ${DATA} Add Domain Xml ${node} ${domain_name} ${sgt} ${prefixes} ${origin}
Post To Controller ${session} add-domain ${DATA}
Delete Domain
${DATA} Delete Domain Xml ${node} ${domain_name}
Post To Controller ${session} delete-domain ${DATA}
-Add Bindings
- [Arguments] ${sgt} ${prefixes} ${node}=127.0.0.1 ${session}=session ${domain}=global
- [Documentation] Add bindings via RPC to Master DB of node
- ${DATA} Add Bindings Xml ${node} ${domain} ${sgt} ${prefixes}
- Post To Controller ${session} add-bindings ${DATA}
-
-Delete Bindings
- [Arguments] ${sgt} ${prefixes} ${node}=127.0.0.1 ${session}=session ${domain}=global
- [Documentation] Delete bindings via RPC from Master DB of node
- ${DATA} Delete Bindings Xml ${node} ${domain} ${sgt} ${prefixes}
- Post To Controller ${session} delete-bindings ${DATA}
-
Add Bindings Range
[Arguments] ${sgt} ${start} ${size} ${node}=127.0.0.1
[Documentation] Add Bindings to Node specified by range