Adding CSIT test for SMS

Adding CSIT tests for Secret Management
Service under AAF. This tests the CRUD
operations for SecretDomain and Secret

Issue-ID: AAF-189
Change-Id: I3dd070fc30d8504593b933d7b623e6a187399444
Signed-off-by: Kiran Kamineni <kiran.k.kamineni@intel.com>
diff --git a/test/csit/tests/aaf/aaf-sms-suite/__init__.robot b/test/csit/tests/aaf/aaf-sms-suite/__init__.robot
new file mode 100644
index 0000000..d1da7f3
--- /dev/null
+++ b/test/csit/tests/aaf/aaf-sms-suite/__init__.robot
@@ -0,0 +1,2 @@
+*** Settings ***
+Documentation    Integration - Suite 1
\ No newline at end of file
diff --git a/test/csit/tests/aaf/aaf-sms-suite/aaf-sms-test.robot b/test/csit/tests/aaf/aaf-sms-suite/aaf-sms-test.robot
new file mode 100644
index 0000000..1302abc
--- /dev/null
+++ b/test/csit/tests/aaf/aaf-sms-suite/aaf-sms-test.robot
@@ -0,0 +1,94 @@
+*** Settings ***
+Library       OperatingSystem
+Library       RequestsLibrary
+Library       json
+
+*** Variables ***
+${MESSAGE}    {"ping": "ok"}
+
+#global variables
+${generatedAID}
+
+*** Test Cases ***
+SMS Check SMS API Docker Container
+    [Documentation]    Checks if SMS docker container is running
+    ${rc}    ${output}=    Run and Return RC and Output    docker ps
+    Log To Console              *********************
+    Log To Console              retrurn_code = ${rc}
+    Log To Console              output = ${output}
+    Should Be Equal As Integers    ${rc}    0
+    Should Contain    ${output}    nexus3.onap.org:10001/onap/aaf/sms
+
+SMS GetStatus
+    [Documentation]    Gets Backend Status
+    Create Session   SMS            ${SMS_HOSTNAME}:${SMS_PORT}
+    &{headers}=      Create Dictionary  Content-Type=application/json  Accept=application/json
+    ${resp}=         Get Request        SMS   /v1/sms/status   headers=${headers}
+    Log To Console              *********************
+    Log To Console              response = ${resp}
+    Log To Console              body = ${resp.text}
+    Should Be Equal As Integers    ${resp.status_code}    200
+
+SMS CreateDomain
+    [Documentation]    Creates a Secret Domain to hold Secrets
+    Create Session   SMS            ${SMS_HOSTNAME}:${SMS_PORT}
+    ${data}          Get Binary File    ${CURDIR}${/}data${/}create_domain.json
+    &{headers}=      Create Dictionary  Content-Type=application/json  Accept=application/json
+    ${resp}=         Post Request        SMS   /v1/sms/domain   data=${data} headers=${headers}
+    Log To Console              *********************
+    Log To Console              response = ${resp}
+    Log To Console              body = ${resp.text}
+    Should Be Equal As Integers    ${resp.status_code}    201
+
+SMS CreateSecret
+    [Documentation]  Create A Secret within the Domain
+    Create Session   SMS            ${SMS_HOSTNAME}:${SMS_PORT}
+    ${data}          Get Binary File    ${CURDIR}${/}data${/}create_secret.json
+    &{headers}=      Create Dictionary  Content-Type=application/json  Accept=application/json
+    ${resp}=         Post Request       SMS   /v1/sms/domain/curltestdomain/secret   data=${data}  headers=${headers}
+    Log To Console              *********************
+    Log To Console              response = ${resp}
+    Log To Console              body = ${resp.text}
+    Should Be Equal As Integers    ${resp.status_code}    201
+
+SMS ListSecret
+    [Documentation]    Lists all Secret Names within Domain
+    Create Session   SMS            ${SMS_HOSTNAME}:${SMS_PORT}
+    &{headers}=      Create Dictionary  Content-Type=application/json  Accept=application/json
+    ${resp}=         Get Request        SMS   /v1/sms/domain/curltestdomain/secret   headers=${headers}
+    Log To Console              *********************
+    Log To Console              response = ${resp}
+    Log To Console              body = ${resp.text}
+    Should Be Equal As Integers    ${resp.status_code}    200
+
+SMS GetSecret
+    [Documentation]    Gets a single Secret with Values from Domain
+    Create Session   SMS            ${SMS_HOSTNAME}:${SMS_PORT}
+    &{headers}=      Create Dictionary  Content-Type=application/json  Accept=application/json
+    ${resp}=         Get Request        SMS   /v1/sms/domain/curltestdomain/secret/curltestsecret1   headers=${headers}
+    Log To Console              *********************
+    Log To Console              response = ${resp}
+    Log To Console              body = ${resp.text}
+    Should Be Equal As Integers    ${resp.status_code}    200
+
+SMS DeleteSecret
+    [Documentation]    Deletes a Secret referenced by Name from Domain
+    Create Session   SMS            ${SMS_HOSTNAME}:${SMS_PORT}
+    &{headers}=      Create Dictionary  Content-Type=application/json  Accept=application/json
+    ${resp}=         Delete Request        SMS   /v1/sms/domain/curltestdomain/secret/curltestsecret1   headers=${headers}
+    Log To Console              *********************
+    Log To Console              response = ${resp}
+    Log To Console              body = ${resp.text}
+    Should Be Equal As Integers    ${resp.status_code}    204
+
+SMS DeleteDomain
+    [Documentation]    Deletes a Domain referenced by Name
+    Create Session   SMS            ${SMS_HOSTNAME}:${SMS_PORT}
+    &{headers}=      Create Dictionary  Content-Type=application/json  Accept=application/json
+    ${resp}=         Delete Request        SMS   /v1/sms/domain/curltestdomain   headers=${headers}
+    Log To Console              *********************
+    Log To Console              response = ${resp}
+    Log To Console              body = ${resp.text}
+    Should Be Equal As Integers    ${resp.status_code}    204
+
+*** Keywords ***
diff --git a/test/csit/tests/aaf/aaf-sms-suite/data/create_domain.json b/test/csit/tests/aaf/aaf-sms-suite/data/create_domain.json
new file mode 100644
index 0000000..176f444
--- /dev/null
+++ b/test/csit/tests/aaf/aaf-sms-suite/data/create_domain.json
@@ -0,0 +1,3 @@
+{
+    "name":     "curltestdomain"
+}
diff --git a/test/csit/tests/aaf/aaf-sms-suite/data/create_secret.json b/test/csit/tests/aaf/aaf-sms-suite/data/create_secret.json
new file mode 100644
index 0000000..d99f4e2
--- /dev/null
+++ b/test/csit/tests/aaf/aaf-sms-suite/data/create_secret.json
@@ -0,0 +1,12 @@
+{
+    "name":     "curltestsecret1",
+    "values":   {
+      "name":"rah",
+      "age":35,
+      "map":{
+        "mapkey1": "mapvalue1",
+        "mapkey2": "mapvalue2"
+      },
+      "array":["golang","c++","java","python"]
+    }
+}