From 7edf080cc2a6f42be378864147157ec06a7ba050 Mon Sep 17 00:00:00 2001 From: eh552t Date: Mon, 30 Jul 2018 12:48:48 +0200 Subject: Fix CSIT tests for auth login and api changes Change-Id: I73146fd6ad81f8826014ef03ad3e5196b0ef952c Signed-off-by: eh552t Issue-ID: CLAMP-129 --- .../clamp/python-lib/CustomSeleniumLibrary.py | 20 ++++++++++++++++++++ test/csit/scripts/clamp/start_clamp_containers.sh | 2 +- .../csit/tests/clamp/APIs/01__Create_CL_Holmes.robot | 2 +- test/csit/tests/clamp/APIs/02__Create_CL_TCA.robot | 2 +- test/csit/tests/clamp/APIs/03__VariousApis.robot | 6 +++--- .../tests/clamp/UIs/01__Create_Holmes_model.robot | 19 +++++++++---------- test/csit/tests/clamp/UIs/02__Create_TCA_model.robot | 19 +++++++++---------- test/csit/tests/clamp/UIs/03__Verify_UI_Models.robot | 10 ++++++++++ .../clamp/UIs/04__Submit_deploy_chain_Holmes.robot | 14 +++++++++----- .../clamp/UIs/05__Submit_deploy_chain_TCA.robot | 14 +++++++++----- 10 files changed, 72 insertions(+), 36 deletions(-) create mode 100755 test/csit/scripts/clamp/python-lib/CustomSeleniumLibrary.py diff --git a/test/csit/scripts/clamp/python-lib/CustomSeleniumLibrary.py b/test/csit/scripts/clamp/python-lib/CustomSeleniumLibrary.py new file mode 100755 index 000000000..ad11b1152 --- /dev/null +++ b/test/csit/scripts/clamp/python-lib/CustomSeleniumLibrary.py @@ -0,0 +1,20 @@ +from Selenium2Library import Selenium2Library +from selenium.webdriver.common.keys import Keys +import time + +class CustomSeleniumLibrary(Selenium2Library): + def insert_into_prompt(self, text): + alert = None + try: + time.sleep(5) + listOfFields = text.split(" ") + allInOneString="" + for temp in listOfFields: + allInOneString=allInOneString+temp+Keys.TAB + + alert= self._current_browser().switch_to_alert() + alert.send_keys(allInOneString) + except WebDriverException: + raise RuntimeError('There were no alert') + + diff --git a/test/csit/scripts/clamp/start_clamp_containers.sh b/test/csit/scripts/clamp/start_clamp_containers.sh index dc0b4fe41..23b1705e5 100755 --- a/test/csit/scripts/clamp/start_clamp_containers.sh +++ b/test/csit/scripts/clamp/start_clamp_containers.sh @@ -32,7 +32,7 @@ TIME_OUT=600 INTERVAL=5 TIME=0 while [ "$TIME" -lt "$TIME_OUT" ]; do - response=$(curl --write-out '%{http_code}' --silent --output /dev/null -vk --key config/org.onap.clamp.keyfile https://localhost:8443/restservices/clds/v1/clds/healthcheck); echo $response + response=$(curl --write-out '%{http_code}' --silent --output /dev/null -vk --key config/org.onap.clamp.keyfile https://localhost:8443/restservices/clds/v1/healthcheck); echo $response if [ "$response" == "200" ]; then echo Clamp and its database well started in $TIME seconds diff --git a/test/csit/tests/clamp/APIs/01__Create_CL_Holmes.robot b/test/csit/tests/clamp/APIs/01__Create_CL_Holmes.robot index 1f5473833..ce4c8df66 100644 --- a/test/csit/tests/clamp/APIs/01__Create_CL_Holmes.robot +++ b/test/csit/tests/clamp/APIs/01__Create_CL_Holmes.robot @@ -17,7 +17,7 @@ Create the sessions *** Test Cases *** Get Requests health check ok Create the sessions - ${resp}= Get Request ${clamp_session} /restservices/clds/v1/clds/healthcheck + ${resp}= Get Request ${clamp_session} /restservices/clds/v1/healthcheck Should Be Equal As Strings ${resp.status_code} 200 Get Requests verify test template found diff --git a/test/csit/tests/clamp/APIs/02__Create_CL_TCA.robot b/test/csit/tests/clamp/APIs/02__Create_CL_TCA.robot index 213c231b8..87b474213 100644 --- a/test/csit/tests/clamp/APIs/02__Create_CL_TCA.robot +++ b/test/csit/tests/clamp/APIs/02__Create_CL_TCA.robot @@ -10,7 +10,7 @@ ${passw} password *** Test Cases *** Get Requests health check ok - ${resp}= Get Request ${clamp_session} /restservices/clds/v1/clds/healthcheck + ${resp}= Get Request ${clamp_session} /restservices/clds/v1/healthcheck Should Be Equal As Strings ${resp.status_code} 200 Get Requests verify test template found diff --git a/test/csit/tests/clamp/APIs/03__VariousApis.robot b/test/csit/tests/clamp/APIs/03__VariousApis.robot index 50dd78e16..f32728396 100644 --- a/test/csit/tests/clamp/APIs/03__VariousApis.robot +++ b/test/csit/tests/clamp/APIs/03__VariousApis.robot @@ -10,9 +10,9 @@ ${passw} password *** Test Cases *** Get Clamp properties - ${resp}= Get Request ${clamp_session} /restservices/clds/v1/clds/properties - Dictionary Should Contain Key ${resp.json()} global - Dictionary Should Contain Key ${resp.json()['global']} location + ${resp}= Get Request ${clamp_session} /restservices/clds/v1/clds/cldsInfo + Dictionary Should Contain Key ${resp.json()} userName + Dictionary Should Contain Key ${resp.json()} permissionReadCl Get Clamp Info ${resp}= Get Request ${clamp_session} /restservices/clds/v1/clds/cldsInfo diff --git a/test/csit/tests/clamp/UIs/01__Create_Holmes_model.robot b/test/csit/tests/clamp/UIs/01__Create_Holmes_model.robot index c9b7d8c06..305044cb0 100644 --- a/test/csit/tests/clamp/UIs/01__Create_Holmes_model.robot +++ b/test/csit/tests/clamp/UIs/01__Create_Holmes_model.robot @@ -3,7 +3,7 @@ Library Collections Library RequestsLibrary Library OperatingSystem Library json -Library Selenium2Library +Library ../../../scripts/clamp/python-lib/CustomSeleniumLibrary.py Library XvfbRobot *** Variables *** @@ -22,19 +22,23 @@ Create the sessions *** Test Cases *** Get Requests health check ok Create the sessions - ${resp}= Get Request ${clamp_session} /restservices/clds/v1/clds/healthcheck + ${resp}= Get Request ${clamp_session} /restservices/clds/v1/healthcheck Should Be Equal As Strings ${resp.status_code} 200 Open Browser # Next line is to be enabled for Headless tests only (jenkins?). To see the tests disable the line. Start Virtual Display 1920 1080 - Open Browser ${BASE_URL}/designer/index.html browser=firefox Set Selenium Speed ${SELENIUM_SPEED_SLOW} + Open Browser ${BASE_URL}/designer/index.html browser=firefox + +Reply to authentication popup + Run Keyword And Ignore Error Insert into prompt ${login} ${passw} + Confirm action + +Good Login to Clamp UI and Verify logged in Set Window Size 1920 1080 ${title}= Get Title Should Be Equal CLDS ${title} - -Good Login to Clamp UI and Verify logged in Wait Until Element Is Visible xpath=//*[@class="navbar-brand logo_name ng-binding"] timeout=60 Element Text Should Be xpath=//*[@class="navbar-brand logo_name ng-binding"] expected=Hello:admin @@ -88,8 +92,3 @@ Save Model from Menu Close Browser Close Browser - -Verify Holmes CL well created - ${resp}= Get Request ${clamp_session} /restservices/clds/v1/clds/model-names - Should Contain Match ${resp} *HolmesModel1* - Should Not Contain Match ${resp} *HolmesModel99* diff --git a/test/csit/tests/clamp/UIs/02__Create_TCA_model.robot b/test/csit/tests/clamp/UIs/02__Create_TCA_model.robot index 7ee275773..0dc0a8abb 100644 --- a/test/csit/tests/clamp/UIs/02__Create_TCA_model.robot +++ b/test/csit/tests/clamp/UIs/02__Create_TCA_model.robot @@ -3,7 +3,7 @@ Library Collections Library RequestsLibrary Library OperatingSystem Library json -Library Selenium2Library +Library ../../../scripts/clamp/python-lib/CustomSeleniumLibrary.py Library XvfbRobot *** Variables *** @@ -15,19 +15,23 @@ ${BASE_URL} https://localhost:8443 *** Test Cases *** Get Requests health check ok - ${resp}= Get Request ${clamp_session} /restservices/clds/v1/clds/healthcheck + ${resp}= Get Request ${clamp_session} /restservices/clds/v1/healthcheck Should Be Equal As Strings ${resp.status_code} 200 Open Browser # Next line is to be enabled for Headless tests only (jenkins?). To see the tests disable the line. Start Virtual Display 1920 1080 - Open Browser ${BASE_URL}/designer/index.html browser=firefox Set Selenium Speed ${SELENIUM_SPEED_SLOW} + Open Browser ${BASE_URL}/designer/index.html browser=firefox + +Reply to authentication popup + Run Keyword And Ignore Error Insert into prompt ${login} ${passw} + Confirm action + +Good Login to Clamp UI and Verify logged in Set Window Size 1920 1080 ${title}= Get Title Should Be Equal CLDS ${title} - -Good Login to Clamp UI and Verify logged in Wait Until Element Is Visible xpath=//*[@class="navbar-brand logo_name ng-binding"] timeout=60 Element Text Should Be xpath=//*[@class="navbar-brand logo_name ng-binding"] expected=Hello:admin @@ -88,8 +92,3 @@ Save Model from Menu Close Browser Close Browser - -Verify TCA CL well create - ${resp}= Get Request ${clamp_session} /restservices/clds/v1/clds/model-names - Should Contain Match ${resp} *TCAModel1* - Should Not Contain Match ${resp} *TCAModel99* diff --git a/test/csit/tests/clamp/UIs/03__Verify_UI_Models.robot b/test/csit/tests/clamp/UIs/03__Verify_UI_Models.robot index 9116964b6..1f086d178 100644 --- a/test/csit/tests/clamp/UIs/03__Verify_UI_Models.robot +++ b/test/csit/tests/clamp/UIs/03__Verify_UI_Models.robot @@ -9,6 +9,16 @@ ${login} admin ${passw} password *** Test Cases *** +Verify Holmes CL well created + ${resp}= Get Request ${clamp_session} /restservices/clds/v1/clds/model-names + Should Contain Match ${resp} *HolmesModel1* + Should Not Contain Match ${resp} *HolmesModel99* + +Verify TCA CL well create + ${resp}= Get Request ${clamp_session} /restservices/clds/v1/clds/model-names + Should Contain Match ${resp} *TCAModel1* + Should Not Contain Match ${resp} *TCAModel99* + Verify HolmesModel1 ${resp}= Get Request ${clamp_session} /restservices/clds/v1/clds/model/HolmesModel1 Should Contain Match ${resp} *templateHolmes1* diff --git a/test/csit/tests/clamp/UIs/04__Submit_deploy_chain_Holmes.robot b/test/csit/tests/clamp/UIs/04__Submit_deploy_chain_Holmes.robot index a6ccb9947..de10a27c5 100644 --- a/test/csit/tests/clamp/UIs/04__Submit_deploy_chain_Holmes.robot +++ b/test/csit/tests/clamp/UIs/04__Submit_deploy_chain_Holmes.robot @@ -3,7 +3,7 @@ Library Collections Library RequestsLibrary Library OperatingSystem Library json -Library Selenium2Library +Library ../../../scripts/clamp/python-lib/CustomSeleniumLibrary.py Library XvfbRobot *** Variables *** @@ -15,19 +15,23 @@ ${BASE_URL} https://localhost:8443 *** Test Cases *** Get Requests health check ok - ${resp}= Get Request ${clamp_session} /restservices/clds/v1/clds/healthcheck + ${resp}= Get Request ${clamp_session} /restservices/clds/v1/healthcheck Should Be Equal As Strings ${resp.status_code} 200 Open Browser # Next line is to be enabled for Headless tests only (jenkins?). To see the tests disable the line. Start Virtual Display 1920 1080 - Open Browser ${BASE_URL}/designer/index.html browser=firefox Set Selenium Speed ${SELENIUM_SPEED_SLOW} + Open Browser ${BASE_URL}/designer/index.html browser=firefox + +Reply to authentication popup + Run Keyword And Ignore Error Insert into prompt ${login} ${passw} + Confirm action + +Good Login to Clamp UI and Verify logged in Set Window Size 1920 1080 ${title}= Get Title Should Be Equal CLDS ${title} - -Good Login to Clamp UI and Verify logged in Wait Until Element Is Visible xpath=//*[@class="navbar-brand logo_name ng-binding"] timeout=60 Element Text Should Be xpath=//*[@class="navbar-brand logo_name ng-binding"] expected=Hello:admin diff --git a/test/csit/tests/clamp/UIs/05__Submit_deploy_chain_TCA.robot b/test/csit/tests/clamp/UIs/05__Submit_deploy_chain_TCA.robot index 6330ead92..2b95530ae 100644 --- a/test/csit/tests/clamp/UIs/05__Submit_deploy_chain_TCA.robot +++ b/test/csit/tests/clamp/UIs/05__Submit_deploy_chain_TCA.robot @@ -3,7 +3,7 @@ Library Collections Library RequestsLibrary Library OperatingSystem Library json -Library Selenium2Library +Library ../../../scripts/clamp/python-lib/CustomSeleniumLibrary.py Library XvfbRobot *** Variables *** @@ -15,19 +15,23 @@ ${BASE_URL} https://localhost:8443 *** Test Cases *** Get Requests health check ok - ${resp}= Get Request ${clamp_session} /restservices/clds/v1/clds/healthcheck + ${resp}= Get Request ${clamp_session} /restservices/clds/v1/healthcheck Should Be Equal As Strings ${resp.status_code} 200 Open Browser # Next line is to be enabled for Headless tests only (jenkins?). To see the tests disable the line. Start Virtual Display 1920 1080 - Open Browser ${BASE_URL}/designer/index.html browser=firefox Set Selenium Speed ${SELENIUM_SPEED_SLOW} + Open Browser ${BASE_URL}/designer/index.html browser=firefox + +Reply to authentication popup + Run Keyword And Ignore Error Insert into prompt ${login} ${passw} + Confirm action + +Good Login to Clamp UI and Verify logged in Set Window Size 1920 1080 ${title}= Get Title Should Be Equal CLDS ${title} - -Good Login to Clamp UI and Verify logged in Wait Until Element Is Visible xpath=//*[@class="navbar-brand logo_name ng-binding"] timeout=60 Element Text Should Be xpath=//*[@class="navbar-brand logo_name ng-binding"] expected=Hello:admin -- cgit 1.2.3-korg