From 07fd31290bbdf30d2fc35ee340f957a0133762d1 Mon Sep 17 00:00:00 2001 From: Peter Bandzi Date: Thu, 9 Apr 2015 10:39:48 +0200 Subject: Add ODL tests from ODL integration suites Tests are from https://github.com/opendaylight/integration Most of test suites and libs are removed. As they requires either additioanl features in ODL or mininet environment atached to ODL. For neutron test suite there are 3 tests added which delete created networks, subnets, ports. JIRA: FUNCTEST-5 Change-Id: I96b41b5df394795bf10aec2bbb0c5de0e63b950c Signed-off-by: Peter Bandzi --- .../CI/suites/openstack/neutron/010__networks.txt | 58 ++++++++++++++++++++++ .../CI/suites/openstack/neutron/020__subnets.txt | 58 ++++++++++++++++++++++ .../ODL/CI/suites/openstack/neutron/030__ports.txt | 58 ++++++++++++++++++++++ .../suites/openstack/neutron/040__delete_ports.txt | 37 ++++++++++++++ .../openstack/neutron/050__delete_subnets.txt | 37 ++++++++++++++ .../openstack/neutron/060__delete_networks.txt | 37 ++++++++++++++ .../ODL/CI/suites/openstack/neutron/__init__.txt | 27 ++++++++++ 7 files changed, 312 insertions(+) create mode 100644 testcases/Controllers/ODL/CI/suites/openstack/neutron/010__networks.txt create mode 100644 testcases/Controllers/ODL/CI/suites/openstack/neutron/020__subnets.txt create mode 100644 testcases/Controllers/ODL/CI/suites/openstack/neutron/030__ports.txt create mode 100644 testcases/Controllers/ODL/CI/suites/openstack/neutron/040__delete_ports.txt create mode 100644 testcases/Controllers/ODL/CI/suites/openstack/neutron/050__delete_subnets.txt create mode 100644 testcases/Controllers/ODL/CI/suites/openstack/neutron/060__delete_networks.txt create mode 100644 testcases/Controllers/ODL/CI/suites/openstack/neutron/__init__.txt (limited to 'testcases/Controllers/ODL/CI/suites') diff --git a/testcases/Controllers/ODL/CI/suites/openstack/neutron/010__networks.txt b/testcases/Controllers/ODL/CI/suites/openstack/neutron/010__networks.txt new file mode 100644 index 000000000..ac5080a2e --- /dev/null +++ b/testcases/Controllers/ODL/CI/suites/openstack/neutron/010__networks.txt @@ -0,0 +1,58 @@ +*** Settings *** +Documentation Checking Network created in OpenStack are pushed to OpenDaylight +Suite Setup Create Session OSSession http://${OPENSTACK}:9696 headers=${X-AUTH} +Suite Teardown Delete All Sessions +Library SSHLibrary +Library Collections +Library OperatingSystem +Library ../../../libraries/RequestsLibrary.py +Library ../../../libraries/Common.py +Variables ../../../variables/Variables.py + +*** Variables *** +${ODLREST} /controller/nb/v2/neutron/networks +${OSREST} /v2.0/networks +${postNet} {"network":{"name":"odl_network","admin_state_up":true}} + +*** Test Cases *** +Check OpenStack Networks + [Documentation] Checking OpenStack Neutron for known networks + [Tags] Network Neutron OpenStack + Log ${X-AUTH} + ${resp} get OSSession ${OSREST} + Should be Equal As Strings ${resp.status_code} 200 + ${OSResult} To Json ${resp.content} + Set Suite Variable ${OSResult} + Log ${OSResult} + +Check OpenDaylight Networks + [Documentation] Checking OpenDaylight Neutron API for Known Networks + [Tags] Network Neutron OpenDaylight + Create Session ODLSession http://${CONTROLLER}:${PORT} headers=${HEADERS} auth=${AUTH} + ${resp} get ODLSession ${ODLREST} + Should be Equal As Strings ${resp.status_code} 200 + ${ODLResult} To Json ${resp.content} + Set Suite Variable ${ODLResult} + Log ${ODLResult} + +Create Network + [Documentation] Create new network in OpenStack + [Tags] Create Network OpenStack Neutron + Log ${postNet} + ${resp} post OSSession ${OSREST} data=${postNet} + Should be Equal As Strings ${resp.status_code} 201 + ${result} To JSON ${resp.content} + ${result} Get From Dictionary ${result} network + ${NETID} Get From Dictionary ${result} id + Log ${result} + Log ${NETID} + Set Global Variable ${NETID} + sleep 2 + +Check Network + [Documentation] Check Network created in OpenDaylight + [Tags] Check Network OpenDaylight + ${resp} get ODLSession ${ODLREST}/${NetID} + Should be Equal As Strings ${resp.status_code} 200 + + diff --git a/testcases/Controllers/ODL/CI/suites/openstack/neutron/020__subnets.txt b/testcases/Controllers/ODL/CI/suites/openstack/neutron/020__subnets.txt new file mode 100644 index 000000000..5e0c417d8 --- /dev/null +++ b/testcases/Controllers/ODL/CI/suites/openstack/neutron/020__subnets.txt @@ -0,0 +1,58 @@ +*** Settings *** +Documentation Checking Subnets created in OpenStack are pushed to OpenDaylight +Suite Setup Create Session OSSession http://${OPENSTACK}:9696 headers=${X-AUTH} +Suite Teardown Delete All Sessions +Library SSHLibrary +Library Collections +Library OperatingSystem +Library ../../../libraries/RequestsLibrary.py +Library ../../../libraries/Common.py +Variables ../../../variables/Variables.py + +*** Variables *** +${ODLREST} /controller/nb/v2/neutron/subnets +${OSREST} /v2.0/subnets +${data} {"subnet":{"name":"odl_subnet","network_id":"${NETID}","ip_version":4,"cidr":"172.16.64.0/24","allocation_pools":[{"start":"172.16.64.20","end":"172.16.64.120"}]}} + +*** Test Cases *** +Check OpenStack Subnets + [Documentation] Checking OpenStack Neutron for known Subnets + [Tags] Subnets Neutron OpenStack + Log ${X-AUTH} + ${resp} get OSSession ${OSREST} + Should be Equal As Strings ${resp.status_code} 200 + ${OSResult} To Json ${resp.content} + Set Suite Variable ${OSResult} + Log ${OSResult} + +Check OpenDaylight subnets + [Documentation] Checking OpenDaylight Neutron API for Known Subnets + [Tags] Subnets Neutron OpenDaylight + Create Session ODLSession http://${CONTROLLER}:${PORT} headers=${HEADERS} auth=${AUTH} + ${resp} get ODLSession ${ODLREST} + Should be Equal As Strings ${resp.status_code} 200 + ${ODLResult} To Json ${resp.content} + Set Suite Variable ${ODLResult} + Log ${ODLResult} + +Create New subnet + [Documentation] Create new subnet in OpenStack + [Tags] Create Subnet OpenStack Neutron + Log ${data} + ${resp} post OSSession ${OSREST} data=${data} + Should be Equal As Strings ${resp.status_code} 201 + ${result} To JSON ${resp.content} + ${result} Get From Dictionary ${result} subnet + ${SUBNETID} Get From Dictionary ${result} id + Log ${result} + Log ${SUBNETID} + Set Global Variable ${SUBNETID} + sleep 2 + +Check New subnet + [Documentation] Check new subnet created in OpenDaylight + [Tags] Check subnet OpenDaylight + ${resp} get ODLSession ${ODLREST}/${SUBNETID} + Should be Equal As Strings ${resp.status_code} 200 + + diff --git a/testcases/Controllers/ODL/CI/suites/openstack/neutron/030__ports.txt b/testcases/Controllers/ODL/CI/suites/openstack/neutron/030__ports.txt new file mode 100644 index 000000000..5aafd51d6 --- /dev/null +++ b/testcases/Controllers/ODL/CI/suites/openstack/neutron/030__ports.txt @@ -0,0 +1,58 @@ +*** Settings *** +Documentation Checking Port created in OpenStack are pushed to OpenDaylight +Suite Setup Create Session OSSession http://${OPENSTACK}:9696 headers=${X-AUTH} +Suite Teardown Delete All Sessions +Library SSHLibrary +Library Collections +Library OperatingSystem +Library ../../../libraries/RequestsLibrary.py +Library ../../../libraries/Common.py +Variables ../../../variables/Variables.py + +*** Variables *** +${ODLREST} /controller/nb/v2/neutron/ports +${OSREST} /v2.0/ports +${data} {"port":{"name":"odl_port","network_id":"${NETID}","admin_state_up": true}} + +*** Test Cases *** +Check OpenStack ports + [Documentation] Checking OpenStack Neutron for known ports + [Tags] Ports Neutron OpenStack + Log ${X-AUTH} + ${resp} get OSSession ${OSREST} + Should be Equal As Strings ${resp.status_code} 200 + ${OSResult} To Json ${resp.content} + Set Suite Variable ${OSResult} + Log ${OSResult} + +Check OpenDaylight ports + [Documentation] Checking OpenDaylight Neutron API for Known Ports + [Tags] Ports Neutron OpenDaylight + Create Session ODLSession http://${CONTROLLER}:${PORT} headers=${HEADERS} auth=${AUTH} + ${resp} get ODLSession ${ODLREST} + Should be Equal As Strings ${resp.status_code} 200 + ${ODLResult} To Json ${resp.content} + Set Suite Variable ${ODLResult} + Log ${ODLResult} + +Create New Port + [Documentation] Create new port in OpenStack + [Tags] Create port OpenStack Neutron + Log ${data} + ${resp} post OSSession ${OSREST} data=${data} + Should be Equal As Strings ${resp.status_code} 201 + ${result} To JSON ${resp.content} + ${result} Get From Dictionary ${result} port + ${PORTID} Get From Dictionary ${result} id + Log ${result} + Log ${PORTID} + Set Global Variable ${PORTID} + sleep 2 + +Check New Port + [Documentation] Check new port created in OpenDaylight + [Tags] Check subnet OpenDaylight + ${resp} get ODLSession ${ODLREST}/${PORTID} + Should be Equal As Strings ${resp.status_code} 200 + + diff --git a/testcases/Controllers/ODL/CI/suites/openstack/neutron/040__delete_ports.txt b/testcases/Controllers/ODL/CI/suites/openstack/neutron/040__delete_ports.txt new file mode 100644 index 000000000..5aca2c869 --- /dev/null +++ b/testcases/Controllers/ODL/CI/suites/openstack/neutron/040__delete_ports.txt @@ -0,0 +1,37 @@ +*** Settings *** +Documentation Checking Port deleted in OpenStack are deleted also in OpenDaylight +Suite Setup Create Session OSSession http://${OPENSTACK}:9696 headers=${X-AUTH} +Suite Teardown Delete All Sessions +Library SSHLibrary +Library Collections +Library OperatingSystem +Library ../../../libraries/RequestsLibrary.py +Library ../../../libraries/Common.py +Variables ../../../variables/Variables.py + +*** Variables *** +${ODLREST} /controller/nb/v2/neutron/ports +${OSREST} /v2.0/ports/${PORTID} +${data} {"port":{"network_id":"${NETID}","admin_state_up": true}} + +*** Test Cases *** +Delete New Port + [Documentation] Delete previously created port in OpenStack + [Tags] Delete port OpenStack Neutron + Log ${data} + ${resp} delete OSSession ${OSREST} + Should be Equal As Strings ${resp.status_code} 204 + Log ${resp.content} + sleep 2 + +Check Port Deleted + [Documentation] Check port deleted in OpenDaylight + [Tags] Check port deleted OpenDaylight + Create Session ODLSession http://${CONTROLLER}:${PORT} headers=${HEADERS} auth=${AUTH} + ${resp} get ODLSession ${ODLREST} + Should be Equal As Strings ${resp.status_code} 200 + ${ODLResult} To Json ${resp.content} + Set Suite Variable ${ODLResult} + Log ${ODLResult} + ${resp} get ODLSession ${ODLREST}/${PORTID} + Should be Equal As Strings ${resp.status_code} 404 diff --git a/testcases/Controllers/ODL/CI/suites/openstack/neutron/050__delete_subnets.txt b/testcases/Controllers/ODL/CI/suites/openstack/neutron/050__delete_subnets.txt new file mode 100644 index 000000000..04c73cc2e --- /dev/null +++ b/testcases/Controllers/ODL/CI/suites/openstack/neutron/050__delete_subnets.txt @@ -0,0 +1,37 @@ +*** Settings *** +Documentation Checking Subnets deleted in OpenStack are deleted also in OpenDaylight +Suite Setup Create Session OSSession http://${OPENSTACK}:9696 headers=${X-AUTH} +Suite Teardown Delete All Sessions +Library SSHLibrary +Library Collections +Library OperatingSystem +Library ../../../libraries/RequestsLibrary.py +Library ../../../libraries/Common.py +Variables ../../../variables/Variables.py + +*** Variables *** +${ODLREST} /controller/nb/v2/neutron/subnets +${OSREST} /v2.0/subnets/${SUBNETID} +${data} {"subnet":{"network_id":"${NETID}","ip_version":4,"cidr":"172.16.64.0/24","allocation_pools":[{"start":"172.16.64.20","end":"172.16.64.120"}]}} + +*** Test Cases *** +Delete New subnet + [Documentation] Delete previously created subnet in OpenStack + [Tags] Delete Subnet OpenStack Neutron + Log ${data} + ${resp} delete OSSession ${OSREST} + Should be Equal As Strings ${resp.status_code} 204 + Log ${resp.content} + sleep 2 + +Check New subnet deleted + [Documentation] Check subnet deleted in OpenDaylight + [Tags] Check subnet deleted OpenDaylight + Create Session ODLSession http://${CONTROLLER}:${PORT} headers=${HEADERS} auth=${AUTH} + ${resp} get ODLSession ${ODLREST} + Should be Equal As Strings ${resp.status_code} 200 + ${ODLResult} To Json ${resp.content} + Set Suite Variable ${ODLResult} + Log ${ODLResult} + ${resp} get ODLSession ${ODLREST}/${SUBNETID} + Should be Equal As Strings ${resp.status_code} 404 diff --git a/testcases/Controllers/ODL/CI/suites/openstack/neutron/060__delete_networks.txt b/testcases/Controllers/ODL/CI/suites/openstack/neutron/060__delete_networks.txt new file mode 100644 index 000000000..31963ec97 --- /dev/null +++ b/testcases/Controllers/ODL/CI/suites/openstack/neutron/060__delete_networks.txt @@ -0,0 +1,37 @@ +*** Settings *** +Documentation Checking Network deleted in OpenStack are deleted also in OpenDaylight +Suite Setup Create Session OSSession http://${OPENSTACK}:9696 headers=${X-AUTH} +Suite Teardown Delete All Sessions +Library SSHLibrary +Library Collections +Library OperatingSystem +Library ../../../libraries/RequestsLibrary.py +Library ../../../libraries/Common.py +Variables ../../../variables/Variables.py + +*** Variables *** +${ODLREST} /controller/nb/v2/neutron/networks +${OSREST} /v2.0/networks/${NETID} +${postNet} {"network":{"name":"odl_network","admin_state_up":true}} + +*** Test Cases *** +Delete Network + [Documentation] Delete network in OpenStack + [Tags] Delete Network OpenStack Neutron + Log ${postNet} + ${resp} delete OSSession ${OSREST} + Should be Equal As Strings ${resp.status_code} 204 + Log ${resp.content} + sleep 2 + +Check Network deleted + [Documentation] Check Network deleted in OpenDaylight + [Tags] Check Network OpenDaylight + Create Session ODLSession http://${CONTROLLER}:${PORT} headers=${HEADERS} auth=${AUTH} + ${resp} get ODLSession ${ODLREST} + Should be Equal As Strings ${resp.status_code} 200 + ${ODLResult} To Json ${resp.content} + Set Suite Variable ${ODLResult} + Log ${ODLResult} + ${resp} get ODLSession ${ODLREST}/${NetID} + Should be Equal As Strings ${resp.status_code} 404 diff --git a/testcases/Controllers/ODL/CI/suites/openstack/neutron/__init__.txt b/testcases/Controllers/ODL/CI/suites/openstack/neutron/__init__.txt new file mode 100644 index 000000000..4112b32ce --- /dev/null +++ b/testcases/Controllers/ODL/CI/suites/openstack/neutron/__init__.txt @@ -0,0 +1,27 @@ +*** Settings *** +Documentation Test suite for Neutron Plugin +Suite Setup Start Suite +Suite Teardown Stop Suite +Library SSHLibrary +Library Collections +Library ../../../libraries/RequestsLibrary.py +Library ../../../libraries/Common.py +Variables ../../../variables/Variables.py + +*** Variables *** +${UserInfo}= {"auth": {"tenantName": "admin", "passwordCredentials": {"username": "admin", "password": "octopus"}}} + +** Keywords *** +Start Suite + Create Session KeyStoneSession http://${OPENSTACK}:5000 headers=${HEADERS} + ${resp} post KeyStoneSession /v2.0/tokens ${UserInfo} + Should Be Equal As Strings ${resp.status_code} 200 + ${result} To JSON ${resp.content} + ${result} Get From Dictionary ${result} access + ${result} Get From Dictionary ${result} token + ${TOKEN} Get From Dictionary ${result} id + ${X-AUTH} Create Dictionary X-Auth-Token ${TOKEN} Content-Type application/json + Set Global Variable ${X-AUTH} +Stop Suite + Delete All Sessions + -- cgit 1.2.3-korg