Merge "Fix CSIT tests for auth login and api changes"
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 0000000..ad11b11
--- /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 dc0b4fe..23b1705 100755
--- a/test/csit/scripts/clamp/start_clamp_containers.sh
+++ b/test/csit/scripts/clamp/start_clamp_containers.sh
@@ -32,7 +32,7 @@
 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 1f54738..ce4c8df 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 @@
 *** 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 213c231..87b4742 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 @@
 
 *** 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 50dd78e..f327283 100644
--- a/test/csit/tests/clamp/APIs/03__VariousApis.robot
+++ b/test/csit/tests/clamp/APIs/03__VariousApis.robot
@@ -10,9 +10,9 @@
 
 *** 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 c9b7d8c..305044c 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     RequestsLibrary
 Library     OperatingSystem
 Library     json
-Library     Selenium2Library
+Library     ../../../scripts/clamp/python-lib/CustomSeleniumLibrary.py
 Library     XvfbRobot
 
 *** Variables ***
@@ -22,19 +22,23 @@
 *** 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 @@
 
 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 7ee2757..0dc0a8a 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     RequestsLibrary
 Library     OperatingSystem
 Library     json
-Library     Selenium2Library
+Library     ../../../scripts/clamp/python-lib/CustomSeleniumLibrary.py
 Library     XvfbRobot
 
 *** Variables ***
@@ -15,19 +15,23 @@
 
 *** 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 @@
 
 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 9116964..1f086d1 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 @@
 ${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 a6ccb99..de10a27 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     RequestsLibrary
 Library     OperatingSystem
 Library     json
-Library     Selenium2Library
+Library     ../../../scripts/clamp/python-lib/CustomSeleniumLibrary.py
 Library     XvfbRobot
 
 *** Variables ***
@@ -15,19 +15,23 @@
 
 *** 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 6330ead..2b95530 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     RequestsLibrary
 Library     OperatingSystem
 Library     json
-Library     Selenium2Library
+Library     ../../../scripts/clamp/python-lib/CustomSeleniumLibrary.py
 Library     XvfbRobot
 
 *** Variables ***
@@ -15,19 +15,23 @@
 
 *** 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