X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=csit%2Fsuites%2Fgroupbasedpolicy%2FGBP%2FDevstack%2F02__neutron-mapper_test.robot;fp=csit%2Fsuites%2Fgroupbasedpolicy%2FGBP%2FDevstack%2F02__neutron-mapper_test.robot;h=30ad2804332700205c67bdb172ade2328cb205cf;hb=674eae99c92a91e591d474f81b665cec20e711fe;hp=0000000000000000000000000000000000000000;hpb=599002f4d824dcca0d14c20a66d67e0b3310d8cb;p=integration%2Ftest.git diff --git a/csit/suites/groupbasedpolicy/GBP/Devstack/02__neutron-mapper_test.robot b/csit/suites/groupbasedpolicy/GBP/Devstack/02__neutron-mapper_test.robot new file mode 100644 index 0000000000..30ad280433 --- /dev/null +++ b/csit/suites/groupbasedpolicy/GBP/Devstack/02__neutron-mapper_test.robot @@ -0,0 +1,92 @@ +*** Settings *** +Documentation Testing of Group Based Policy Neutron-Mapper +Suite Setup Devstack Suite Setup Tests +Suite Teardown Clean Suite +Library SSHLibrary +Library OperatingSystem +Library RequestsLibrary +Library String +Resource Variables.robot +Resource ../../../../variables/gbp/Constants.robot +Resource ../../../../libraries/Utils.robot +Resource ../../../../libraries/GBP/RestconfUtils.robot +Resource ../../../../libraries/GBP/AssertionUtils.robot +Resource ../../../../libraries/DevstackUtils.robot +Resource ../../../../libraries/OpenStackOperations.robot + +*** Variables *** +${NETWORK_NAME} net123 +${SUBNET_NAME} subnet123 +${CLIENT_SG} client_sg +${SERVER_SG} server_sg +${TENANTS_CONF_PATH} restconf/config/policy:tenants +${CLIENT_PORT_IP} 10.0.0.5 +${SERVER_PORT_IP} 10.0.0.6 +${CLIENT_PORT_NAME} client +${SERVER_PORT_NAME} server +${REMOTE_IP_PREFIX} 10.0.0.0/24 +${SUBNET_IP_PREFIX} 10.0.0.0/24 +${ROUTER_NAME} router123 +${TENANT_ID} +${SUBNET_ID} +${FLOOD_DOMAIN_ID} +${BRIDGE_DOMAIN_ID} +${L3_CONTEXT_ID} +${GROUP_RULE_ID} +${CLIENT_MAC_ADDR} +${SERVER_MAC_ADDR} +${CLIENT_SG_ID} +${SERVER_SG_ID} +${ROUTER_ID} + +*** Test Cases *** + +Test Resolve Tenant ID + [Documentation] Test reading tenant id from default security group + ${tenant_id} Get Tenant ID From Security Group + ${tenant_id}= To Uuid ${tenant_id} + Should Match Regexp ${tenant_id} ${UUID_PATTERN} + Set Global Variable ${TENANT_ID} ${tenant_id} + +Test Create Network + [Documentation] Create sec group and verify data generated in GBP + ${uuid} Create Network net123 verbose=FALSE + ${l2_fd_id} Should Match Regexp ${uuid} ${UUID_PATTERN} + ${l2_fd_path} Get L2 Flood Domain Path ${TENANT_ID} ${l2_fd_id} + ${l2_fd} Get Data From URI session ${l2_fd_path} headers=${headers} + ${l2_bd_id} Assert L2-Flood-Domain ${l2_fd} ${NETWORK_NAME} + ${l2_bd_path} Get L2 Bridge Domain Path ${TENANT_ID} ${l2_bd_id} + ${l2_bd} Get Data From URI session ${l2_bd_path} headers=${headers} + ${l3_ctx_id} Assert L2-Bridge-Domain ${l2_bd} ${NETWORK_NAME} + ${l3_ctx_path} Get L3 Context Path ${TENANT_ID} ${l3_ctx_id} + ${l3_ctx} Get Data From URI session ${l3_ctx_path} headers=${headers} + Assert L3-Context ${l3_ctx} ${NETWORK_NAME} + Set Global Variable ${FLOOD_DOMAIN_ID} ${l2_fd_id} + Set Global Variable ${BRIDGE_DOMAIN_ID} ${l2_bd_id} + Set Global Variable ${L3_CONTEXT_ID} ${l3_ctx_id} + +*** Keywords *** +Create Neutron Entity And Return ID + [Documentation] Designed for creating neutron entities and returing their IDs. + [Arguments] ${cmd} ${pattern}=${UUID_PATTERN} + ${output} Write Commands Until Prompt ${cmd} | grep -w id | awk '{print $4}' + Should Not Be Empty ${output} + ${id} Should Match Regexp ${output} ${pattern} + [Return] ${id} + +To Uuid + [Documentation] Insert dashes if missing to generate proper UUID string. + [Arguments] ${init_string} + Should Match Regexp ${init_string} ${UUID_NO_DASHES} + ${first} Get Substring ${init_string} 0 8 + ${second} Get Substring ${init_string} 8 12 + ${third} Get Substring ${init_string} 12 16 + ${fourth} Get Substring ${init_string} 16 20 + ${fifth} Get Substring ${init_string} 20 32 + [Return] ${first}-${second}-${third}-${fourth}-${fifth} + +Clean Suite + [Documentation] Clears Openstack. This is also helpful when debugging tests locally. + ${output} Write Commands Until Prompt neutron net-delete net123 + Should Match Regexp ${output} Deleted|Removed + Delete All Sessions