Add CLAMP GET functions

Issue-ID: INT-808
Change-Id: I0f018725b9590bb8098c7687c62e95d77dbc195d
Signed-off-by: Brian Freeman <bf1936@att.com>
diff --git a/robot/assets/keys/org.onap.clamp.cert.pem b/robot/assets/keys/org.onap.clamp.cert.pem
new file mode 100755
index 0000000..09dc57c
--- /dev/null
+++ b/robot/assets/keys/org.onap.clamp.cert.pem
@@ -0,0 +1,60 @@
+Bag Attributes
+    localKeyID: A9 72 E9 4A 4F 99 8B BE 47 F9 D7 B4 0A DA 99 D3 C5 FA DB C7 
+    friendlyName: clamp@clamp.onap.org
+subject=/C=US/O=ONAP/OU=clamp@clamp.onap.org/OU=OSAAF/CN=clamp
+issuer=/C=US/O=ONAP/OU=OSAAF/CN=intermediateCA_1
+-----BEGIN CERTIFICATE-----
+MIIEUDCCAzigAwIBAgIBCDANBgkqhkiG9w0BAQsFADBHMQswCQYDVQQGEwJVUzEN
+MAsGA1UECgwET05BUDEOMAwGA1UECwwFT1NBQUYxGTAXBgNVBAMMEGludGVybWVk
+aWF0ZUNBXzEwHhcNMTgwNjA1MTUzODMzWhcNMTkwNTMxMTUzODMzWjBbMQswCQYD
+VQQGEwJVUzENMAsGA1UECgwET05BUDEdMBsGA1UECwwUY2xhbXBAY2xhbXAub25h
+cC5vcmcxDjAMBgNVBAsMBU9TQUFGMQ4wDAYDVQQDDAVjbGFtcDCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBALrLxrZli4TIvaYBC1JpJ+tk1nKTEKUMqBig
+v/zG3AewFCZsBhHid9yC+AglPWBMoSwhA4k+CZjc8pkt9sgdnQrdy43zKluRtscA
+c1YldcUBTO1bQx4duhU3tAJTaZZgpTMqfMuxvFTdBEe1bBcHv3HI/eaqk8haNpEV
+HT0BF1x0jvm21h1SF7AjntkF0wB29eUAiv0kq41YgepV4K7k17kTQ3xgrgQVhHJ2
+sLJXi/WRte2N6ZPPF3qbXmWKwJ1L4aT10Cgqrz97fLkBgBYqXYgoHUuRCC105RHX
+1JhVSzK35AYCY3r/xjB/oYk0/ee4KIf6wMI8l4GVEFjrUlubbAkCAwEAAaOCATEw
+ggEtMAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQDAgbAMDMGCWCGSAGG+EIBDQQm
+FiRPcGVuU1NMIEdlbmVyYXRlZCBTZXJ2ZXIgQ2VydGlmaWNhdGUwHQYDVR0OBBYE
+FJS9vE8DmiEG2FAMfuPvysz9KPH1MFQGA1UdIwRNMEuAFBrUV3JwStNnqevh3GIx
+sofQ/u+qoTCkLjAsMQ4wDAYDVQQLDAVPU0FBRjENMAsGA1UECgwET05BUDELMAkG
+A1UEBhMCVVOCAQIwDgYDVR0PAQH/BAQDAgXgMB0GA1UdJQQWMBQGCCsGAQUFBwMB
+BggrBgEFBQcDAjA0BgNVHREELTArgh1jbGFtcC5hcGkuc2ltcGxlZGVtby5vbmFw
+Lm9yZ4IKY2xhbXAub25hcDANBgkqhkiG9w0BAQsFAAOCAQEANpHV1N2/4udXXTT6
+YrH9a47dF5L3jZgG3xYw6RUuOL0acAbKUcC9zk7F1wP8eCT+0YBekV2Mtb8NLklx
+DQoy5oHLX7KAD3JgFTe0szYZC6GCVZ5yw2LQedQULh08zPSLp4xauwH2Z17sptb8
+nTariiUW7cQpZYVctzngC/NW5Loq3jv0Rvlxm2//WEJX6TzwOazqoFlVFhkHvcbX
+RUJLWJGU/3zUF/cEp6vwaPr+EzeHVGtOSLGh0DvvwUrZJp34PVWYTcSORcvC+ity
+loPx17ZhXmLciyaVE7C+oZQ1JwTkD7vdLlZVUOj7ZBVmQzpG65AkSHJcy707wzNa
+HbhV6Q==
+-----END CERTIFICATE-----
+Bag Attributes: <No Attributes>
+subject=/C=US/O=ONAP/OU=OSAAF/CN=intermediateCA_1
+issuer=/OU=OSAAF/O=ONAP/C=US
+-----BEGIN CERTIFICATE-----
+MIIEVDCCAjygAwIBAgIBAjANBgkqhkiG9w0BAQsFADAsMQ4wDAYDVQQLDAVPU0FB
+RjENMAsGA1UECgwET05BUDELMAkGA1UEBhMCVVMwHhcNMTgwNjA1MDg1MTQxWhcN
+MjMwNjA1MDg1MTQxWjBHMQswCQYDVQQGEwJVUzENMAsGA1UECgwET05BUDEOMAwG
+A1UECwwFT1NBQUYxGTAXBgNVBAMMEGludGVybWVkaWF0ZUNBXzEwggEiMA0GCSqG
+SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDOXCdZIoWM0EnEEw3qPiVMhAgNolWCTaLt
+eI2TjlTQdGDIcXdBZukHdNeOKYzOXRsLt6bLRtd5yARpn53EbzS/dgAyHuaz1HjE
+5IPWSFRg9SulfHUmcS+GBt1+KiMJTlOsw6wSA73H/PjjXBbWs/uRJTnaNmV3so7W
+DhNW6fHOrbom4p+3FucbB/QAM9b/3l/1LKnRgdXx9tekDnaKN5u3HVBmyOlRhaRp
+tscLUCT3jijoGAPRcYZybgrpa0z3iCWquibTO/eLwuO/Dn7yHWau9ZZAHGPBSn9f
+TiLKRYV55mNjr3zvs8diTPECFPW8w8sRIH3za1aKHgUC1gd87Yr3AgMBAAGjZjBk
+MB0GA1UdDgQWBBQa1FdycErTZ6nr4dxiMbKH0P7vqjAfBgNVHSMEGDAWgBRTVTPy
+S+vQUbHBeJrBKDF77+rtSTASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQE
+AwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAlA/RTPy5i09fJ4ytSAmAdytMwEwRaU9F
+dshG7LU9q95ODsuM79yJvV9+ISIJZRsBqf5PDv93bUCKKHIYGvR6kNd+n3yx/fce
+txDkC/tMj1T9D8TuDKAclGEO9K5+1roOQQFxr4SE6XKb/wjn8OMrCoJ75S0F3htF
+LKL85T77JeGeNgSk8JEsZvQvj32m0gv9rxi5jM/Zi5E2vxrBR9T1v3kVvlt6+PSF
+BoHXROk5HQmdHxnH+VYQtDHSwj9Xe9aoJMyL0WjYKd//8NUO+VACDOtK4Nia6gy9
+m/n9kMASMw6f9iF4n6t4902RWrRKTYM1CVu5wyVklVbEdE9i6Db4CpL9E8HpBUAP
+t44JiNzuFkDmSE/z5XuQIimDt6nzOaSF8pX2KHY2ICDLwpMNUvxzqXD9ECbdspiy
+JC2RGq8uARGGl6kQQBKDNO8SrO7rSBPANd1+LgqrKbCrHYfvFgkZPgT5MlQi+E1G
+LNT+i6fzZha9ed/L6yjl5Em71flJGFwRZl2pfErZRxp8pLPcznYyIpSjcwnqNCRC
+orhlp8nheiODC3oO3AFHDiFgUqvm8hgpnT2cPk2lpU2VY1TcZ8sW5qUDCxINIPcW
+u1SAsa87IJK3vEzPZfTCs/S6XThoqRfXj0c0Rahj7YFRi/PqIPY0ejwdtmZ9m9pZ
+8Lb0GYmlo44=
+-----END CERTIFICATE-----
diff --git a/robot/assets/keys/org.onap.clamp.key.clear.pem b/robot/assets/keys/org.onap.clamp.key.clear.pem
new file mode 100755
index 0000000..5a1e9f7
--- /dev/null
+++ b/robot/assets/keys/org.onap.clamp.key.clear.pem
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpQIBAAKCAQEAusvGtmWLhMi9pgELUmkn62TWcpMQpQyoGKC//MbcB7AUJmwG
+EeJ33IL4CCU9YEyhLCEDiT4JmNzymS32yB2dCt3LjfMqW5G2xwBzViV1xQFM7VtD
+Hh26FTe0AlNplmClMyp8y7G8VN0ER7VsFwe/ccj95qqTyFo2kRUdPQEXXHSO+bbW
+HVIXsCOe2QXTAHb15QCK/SSrjViB6lXgruTXuRNDfGCuBBWEcnawsleL9ZG17Y3p
+k88XepteZYrAnUvhpPXQKCqvP3t8uQGAFipdiCgdS5EILXTlEdfUmFVLMrfkBgJj
+ev/GMH+hiTT957goh/rAwjyXgZUQWOtSW5tsCQIDAQABAoIBAGzeHy5m+G2nYYDC
+0wpw5yc2WhXkyKqpOb9A0SRN8ic45EWQZ+k8iIcofc6hhaf+gWDqzNjMI2PIQkws
+kcwIFmMi6WQN+P3taw2Ioa/vnTf4jhE4Q2HmCXIcSPmiC8PtB9tOQ/Wj3RPIzJnO
+jvTNOzLh5bjuabs3eN4N5ECNxkPHW/APFAo4HvDX/kMKOUNzacKa7+z5smK5QBf0
+5EBFSSpxYtkMG1hjP31TRK05Jbc1/Dr9OBEJxk7USp2mfTvFKqObHsITb+0VlFMa
+QFELMRRaAGjKV8BUD75yY6pY5zP070HLee6umLK+0acKYH2VUVVlFcQN4G/nqNtW
+OBaeiAECgYEA5RCcOmZaBZ0TSzvwnO/MB7aeAVT/X+ctIdfTxteRx5oO41WNqeIQ
+pyDbhG675MJmMKNxMtTN21oZDqjvDhuN4AedkOupBopwGcQ1U/AG44mpyVkknGUt
+ArEGy6I0n/V5fe5vKGDc0nDYncIi+syMPEvyuLqRgmldnttQPLrJ8skCgYEA0MLG
+BmEgD96h4RCZl6pwqodAm3Vpea1v6EEfY3N6JBiDHs01YEW89p9qGU6Ire0zRbEa
+XGlBy6inrHTVNdRTLshjaRqooEJDwbHrHTG5MOpkjy0kz3DN0m/QudfGojLk/umU
+RztuDG5KQKznjLerwXuNfh3Jxogyjxg4UtrDD0ECgYEAk4WaB+Zo7ZqWlWpZ8Mhi
+z0jmA5eZDEuW/mfARRwKD9GA6xnrLVChRvFbTrP+IDquk35/Zaw1k6I35wAXTS+j
+tHdTG8UZy1OXFJEPgypfVWUQStM1R9/FGCmoZbbmS2pNPzQytH+FV6ZDa35fBsR7
+QE3tWNkW4zU2jRtTVnk5nDkCgYEAv980+KoOOOfL6ztBn/dEZEe5puisT+yLnXE1
+c0ewrDpnUUkU1O5j9lygvK/Eye7ooBZd/y+zDIdvzP748+e5qJb/X5vj/p/I/N8V
+FJkd+AqG8F1ypsKsOc0Rj6314CBc/roa0bmatQwtbPI+Q8SQtV1kt9STHskRhxmg
+su5kN8ECgYEAsQdj7Gi0qrFTgvzA5iWaknLsD669EAx57EkLWI9x34KgjvlDQtXp
+iK23IKgW5B2rYTLBL89tjHWvWd0OQSorBm6M31kRJVQ/Jmwny83t1bjOd+Ne9/Zi
+tn3cpAyR65esZpPsYDNraCNW9gHOkfwH02bqBohh8r0Pb77hAsz3XJg=
+-----END RSA PRIVATE KEY-----
diff --git a/robot/resources/clamp_interface.robot b/robot/resources/clamp_interface.robot
index 0adabd7..29365c0 100644
--- a/robot/resources/clamp_interface.robot
+++ b/robot/resources/clamp_interface.robot
@@ -7,19 +7,44 @@
 *** Variables ***
 ${CLAMP_HEALTH_CHECK_PATH}        /restservices/clds/v1/healthcheck
 ${CLAMP_ENDPOINT}     ${GLOBAL_CLAMP_SERVER_PROTOCOL}://${GLOBAL_INJECTED_CLAMP_IP_ADDR}:${GLOBAL_CLAMP_SERVER_PORT}
+${CLAMP_BASE_PATH}   /restservices/clds/v1
+${CLAMP_CLIENT_KEY}   robot/assets/keys/org.onap.clamp.key.clear.pem
+${CLAMP_CLIENT_CERT}   robot/assets/keys/org.onap.clamp.cert.pem
 
 
 *** Keywords ***
+Run CLAMP Get Control Loop
+     [Documentation]   runs CLAMP Open Control Loop based on model name
+     [Arguments]   ${model_name}
+     ${data_path}=   Set Variable   ${CLAMP_BASE_PATH}/clds/model-names
+     ${resp}=   Run Clamp HTTPS Get Request    ${data_path}
+
+Run CLAMP Get Model Names
+     [Documentation]   runs CLAMP Get Model Names
+     ${data_path}=   Set Variable   ${CLAMP_BASE_PATH}/clds/model-names
+     ${resp}=   Run Clamp HTTPS Get Request    ${data_path}
+
 Run CLAMP Health Check
      [Documentation]    Runs CLAMP Health check
      ${resp}=    Run CLAMP Get Request    ${CLAMP_HEALTH_CHECK_PATH}
-     Should Be Equal As Integers 	${resp.status_code} 	200
+     Should Be Equal As Integers        ${resp.status_code}     200
+
+Run CLAMP HTTPS Get Request
+     [Documentation]    Runs CLAMP HTTPS Get request
+     [Arguments]    ${data_path}
+     @{client_certs}=    Create List     ${CLAMP_CLIENT_CERT}   ${CLAMP_CLIENT_KEY}
+     ${session}=   Create Client Cert Session  session   ${CLAMP_ENDPOINT}     client_certs=@{client_certs}
+     ${resp}=   Get Request     session         ${data_path}
+     Should Be Equal As Integers        ${resp.status_code}     200
+     Log    Received response from CLAMP ${resp.text}
+     [Return]    ${resp}
 
 Run CLAMP Get Request
      [Documentation]    Runs CLAMP Get request
      [Arguments]    ${data_path}
-     ${session}=    Create Session 	session 	${CLAMP_ENDPOINT}
-     ${resp}= 	Get Request 	session 	${data_path}
-     Should Be Equal As Integers 	${resp.status_code} 	200
+     ${session}=    Create Session      session         ${CLAMP_ENDPOINT}
+     ${resp}=   Get Request     session         ${data_path}
+     Should Be Equal As Integers        ${resp.status_code}     200
      Log    Received response from CLAMP ${resp.text}
      [Return]    ${resp}
+
diff --git a/robot/testsuites/clamp.robot b/robot/testsuites/clamp.robot
new file mode 100644
index 0000000..cd85dc6
--- /dev/null
+++ b/robot/testsuites/clamp.robot
@@ -0,0 +1,12 @@
+*** Settings ***
+Documentation     Testing CLAMP
+...
+...               Testing ecomp components are available via calls.
+Test Timeout      10 second
+Resource          ../resources/clamp_interface.robot
+
+*** Test Cases ***
+Basic CLAMP Health Check
+    [Tags]    clamp
+    Run CLAMP Get Model Names
+