+
+Output Topo Should Be Complete
+ [Arguments] ${node_count}=-1 ${supporting-node_count}=-1 ${node-ref_count}=-1 ${tp_count}=-1 ${tp-ref_count}=-1 ${link_count}=-1
+ ... ${link-ref_count}=-1
+ [Documentation] Verifies that the output topology contains the expected amount of essential elements
+ ${resp} Wait Until Keyword Succeeds 5x 250ms Basic Request Get ${OVERLAY_TOPO_URL}
+ Should Contain ${resp.content} <topology-id>${OUTPUT_TOPO_NAME}</topology-id>
+ Run Keyword If ${node_count}>-1 Should Contain X Times ${resp.content} <node> ${node_count}
+ Run Keyword If ${supporting-node_count}>-1 Should Contain X Times ${resp.content} <supporting-node> ${supporting-node_count}
+ Run Keyword If ${node-ref_count}>-1 Should Contain X Times ${resp.content} <node-ref> ${node-ref_count}
+ Run Keyword If ${link_count}>-1 Should Contain X Times ${resp.content} <link> ${link_count}
+ Run Keyword If ${link-ref_count}>-1 Should Contain X Times ${resp.content} <link-ref> ${link-ref_count}
+ Run Keyword If ${tp_count}>-1 Should Contain X Times ${resp.content} <termination-point> ${tp_count}
+ Run Keyword If ${tp-ref_count}>-1 Should Contain X Times ${resp.content} <tp-ref> ${tp-ref_count}
+ Log ---- Output Topo ----
+ Log ${resp.content}
+ [Return] ${resp}
+
+Set Global Variable If It Does Not Exist
+ [Arguments] ${name} ${value}
+ ${status} ${message} = Run Keyword And Ignore Error Variable Should Exist ${name}
+ Run Keyword If "${status}" == "FAIL" Set Global Variable ${name} ${value}