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
+
diff --git a/setup.sh b/setup.sh
index 59f0c8d..1c326a5 100755
--- a/setup.sh
+++ b/setup.sh
@@ -15,7 +15,7 @@
path=$(pwd)
pip install --no-cache-dir --target="$path/robot/library" 'selenium<=3.0.0' 'requests==2.11.1' 'robotframework-selenium2library==1.8.0' \
-'robotframework-databaselibrary==0.8.1' 'robotframework-extendedselenium2library==0.9.1' 'robotframework-requests==0.4.5' \
+'robotframework-databaselibrary==0.8.1' 'robotframework-extendedselenium2library==0.9.1' 'robotframework-requests==0.5.0' \
'robotframework-sshlibrary==2.1.2' \
'robotframework-sudslibrary==0.8' 'robotframework-ftplibrary==1.3' 'robotframework-rammbock==0.4.0.1' \
'deepdiff==2.5.1' 'dnspython==1.15.0' 'robotframework-httplibrary==0.4.2' 'robotframework-archivelibrary==0.3.2' 'PyYAML==3.12' \