*** Settings ***
Documentation   AAI CSIT-style regression tests for CCVPN - new schema elements introduced in Casablanca release for CCVPN use case
Test Timeout    20s
Resource    ${EXECDIR}/robot/resources/aai/ccvpn-connectivities.robot
Resource    ${EXECDIR}/robot/resources/aai/ccvpn-vpn-bindings.robot

*** Variables ***
${connectivity_id}=  robot-connectivity-test-1
${vpn_id}=  robot-vpn-test-1
${connectivity_class}=  connectivity
${vpn_class}=  vpn-binding

*** Test Cases ***
Connectivity test case
    [Tags]    aai  csit  ccvpn  connectivity
    Confirm API Not Implemented Connectivity  ${connectivity_id}
    Confirm No Connectivity  ${connectivity_id}
    Create Connectivity If Not Exists  ${connectivity_id}
    Get Connectivity  ${connectivity_id}
    [Teardown]  Run Keywords  Delete Connectivity If Exists  ${connectivity_id}  AND  Confirm No Connectivity  ${connectivity_id}

VPN Binding test case
    [Tags]    aai  csit  ccvpn  vpn-binding
    Confirm No VPN Binding  ${vpn_id}
    Create VPN Binding If Not Exists  ${vpn_id}
    Get VPN Binding  ${vpn_id}
    [Teardown]  Run Keywords  Delete VPN Binding If Exists  ${vpn_id}  AND  Confirm No VPN Binding  ${vpn_id}

Connectivity to VPN Binding Relationship test case
    [Tags]    aai  csit  ccvpn  connectivity  vpn-binding  relationship
    Confirm No Connectivity  ${connectivity_id}
    Confirm No VPN Binding  ${vpn_id}
    Create Connectivity If Not Exists  ${connectivity_id}
    Create VPN Binding If Not Exists  ${vpn_id}
    Get Connectivity  ${connectivity_id}
    Get VPN Binding  ${vpn_id}
    ${vpnbinding_url}=  Get Valid VPN Binding URL  ${vpn_id}
    Add Connectivity Relationship  ${connectivity_id}  ${vpn_class}  ${vpnbinding_url}
    ${connectivity_rel}=  Get Connectivity RelationshipList  ${connectivity_id}
    ${connectivity_rel_txt}=  Catenate  ${connectivity_rel}
    Should Match Regexp    ${connectivity_rel_txt}     ${vpnbinding_url}
    Should Match Regexp    ${connectivity_rel_txt}     ${vpn_class}
    Get Connectivity With RelationshipList  ${connectivity_id}
    [Teardown]  Run Keywords  Delete Connectivity If Exists  ${connectivity_id}  AND  Delete VPN Binding If Exists  ${vpn_id}

VPN Binding Relationship to Connectivity test case
    [Tags]    aai  csit  ccvpn  connectivity  vpn-binding  relationship
    Confirm No Connectivity  ${connectivity_id}
    Confirm No VPN Binding  ${vpn_id}
    Create Connectivity If Not Exists  ${connectivity_id}
    Create VPN Binding If Not Exists  ${vpn_id}
    Get Connectivity  ${connectivity_id}
    Get VPN Binding  ${vpn_id}
    ${connectivity_url}=  Get Valid Connectivity URL  ${connectivity_id}
    Add VPN Binding Relationship  ${vpn_id}  ${connectivity_class}  ${connectivity_url}
    ${vpn_rel}=  Get VPN Binding RelationshipList  ${vpn_id}
    ${vpn_rel_txt}=  Catenate  ${vpn_rel}
    Should Match Regexp    ${vpn_rel_txt}     ${connectivity_url}
    Should Match Regexp    ${vpn_rel_txt}     ${connectivity_class}
    Get VPN Binding With RelationshipList  ${vpn_id}
    [Teardown]  Run Keywords  Delete Connectivity If Exists  ${connectivity_id}  AND  Delete VPN Binding If Exists  ${vpn_id}

All Teardowns test case
    [Tags]    teardowns
    Delete Connectivity If Exists  ${connectivity_id}
    Delete VPN Binding If Exists  ${vpn_id}
    Confirm No Connectivity  ${connectivity_id}
    Confirm No VPN Binding  ${vpn_id}

