Add initial CSIT case for DCAE-DS

 Add CSIT robot test and structure for DCAE-DS
 This test case provides initial basic implementation for
 monitoring configuration service creation and approval procedure

 - only unauthenticated backend http interfaces are used
 - distribution of the service is excluded
 - keyword libraries and templates should be refactored into testsuite repo
 - no logs are verified on runtime

Change-Id: Ied08206fe8567a249c309bcd243e25b153b33da7
Issue-ID: SDC-2365
Signed-off-by: kaihlavi <l.kaihlavirt@partner.samsung.com>
diff --git a/tests/sdc/dcaed/dcaed_interface.robot b/tests/sdc/dcaed/dcaed_interface.robot
new file mode 100644
index 0000000..76401a8
--- /dev/null
+++ b/tests/sdc/dcaed/dcaed_interface.robot
@@ -0,0 +1,76 @@
+*** Settings ***
+Library           json
+Library           eteutils/HTTPUtils.py
+Library           ONAPLibrary.Utilities
+
+Resource          json_templater.robot
+Resource          common.robot
+
+*** Variables ***
+${DCAE_PATH}    /dcae
+${DCAE_CREATE_BLUEPRINT_PATH}   /SERVICE/createBluePrint
+${DCAE_VFCMT_TEMPLATE}   ${ASSETS_DIR}create_vfcmt.template
+${DCAE_COMPOSITION_TEMPLATE}   ${ASSETS_DIR}dcae_composition.template
+${DCAE_MONITORING_CONFIGURATION_TEMPLATE}   ${ASSETS_DIR}dcae_monitoring_configuration.template
+${DCAE_BE_ENDPOINT}   http://localhost:8082
+
+*** Keywords ***
+
+Add VFCMT To DCAE-DS
+    [Documentation]   Create VFCMT with the given name and return its uuid
+    [Arguments]   ${vfcmt_name}
+    ${map}=    Create Dictionary    vfcmtName=${vfcmt_name}   description=VFCMT created by robot
+    ${data}=   Fill JSON Template File    ${DCAE_VFCMT_TEMPLATE}    ${map}
+    ${resp}=    Run DCAE-DS Post Request    ${DCAE_PATH}/createVFCMT     ${data}    ${ASDC_DESIGNER_USER_ID}
+    Should Be Equal As Strings  ${resp.status_code}     200
+    [Return]    ${resp.json()['uuid']}
+
+Run DCAE-DS Post Request
+    [Documentation]    Runs a DCAE-DS post request
+    [Arguments]    ${data_path}    ${data}    ${user}=${ASDC_DESIGNER_USER_ID}   ${MY_DCAE_BE_ENDPOINT}=${DCAE_BE_ENDPOINT}
+    Log    Creating session ${MY_DCAE_BE_ENDPOINT}
+    ${session}=    Create Session       sdc_dcae_ds    ${MY_DCAE_BE_ENDPOINT}
+    ${uuid}=    Generate UUID4
+    ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json    USER_ID=${user}    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
+    ${resp}=    Post Request    sdc_dcae_ds    ${data_path}     data=${data}    headers=${headers}
+    Log    Received response from DCAE-BE: ${resp.text}
+    [Return]    ${resp}
+
+Run DCAE-DS Put Request
+    [Documentation]    Runs a DCAE-DS put request
+    [Arguments]    ${data_path}    ${user}=${ASDC_DESIGNER_USER_ID}   ${MY_DCAE_BE_ENDPOINT}=${DCAE_BE_ENDPOINT}
+    Log    Creating session ${MY_DCAE_BE_ENDPOINT}
+    ${session}=    Create Session       sdc_dcae_ds    ${MY_DCAE_BE_ENDPOINT}
+    ${uuid}=    Generate UUID4
+    ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json    USER_ID=${user}    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
+    ${resp}=    Put Request    sdc_dcae_ds    ${data_path}    headers=${headers}
+    Log    Received response from DCAE-BE: ${resp.text}
+    [Return]    ${resp}
+
+Save Composition
+    [Arguments]   ${vfcmt_uuid}   ${vf_uuid}
+    ${map}=    Create Dictionary    cid=${vfcmt_uuid}   vf_id=${vf_uuid}
+    ${data}=   Fill JSON Template File    ${DCAE_COMPOSITION_TEMPLATE}    ${map}
+    ${resp}=    Run DCAE-DS Post Request    ${DCAE_PATH}/saveComposition/${vfcmt_uuid}     ${data}    ${ASDC_DESIGNER_USER_ID}
+    Should Be Equal As Strings  ${resp.status_code}     200
+
+Certify VFCMT
+    [Arguments]   ${vfcmt_uuid}
+    ${resp}=    Run DCAE-DS Put Request    ${DCAE_PATH}/certify/vfcmt/${vfcmt_uuid}
+    Should Be Equal As Strings  ${resp.status_code}     200
+    [Return]    ${resp.json()['uuid']}
+
+Add Monitoring Configuration To DCAE-DS
+    [Arguments]   ${vfcmt_uuid}   ${cs_uuid}   ${vfi_name}   ${mc_name}
+    ${map}=    Create Dictionary    template_uuid=${vfcmt_uuid}   service_uuid=${cs_uuid}   vfi_name=${vfi_name}  name=${mc_name}
+    ${data}=   Fill JSON Template File    ${DCAE_MONITORING_CONFIGURATION_TEMPLATE}    ${map}
+    ${resp}=    Run DCAE-DS Post Request    ${DCAE_PATH}/importMC     ${data}    ${ASDC_DESIGNER_USER_ID}
+    Should Be Equal As Strings  ${resp.status_code}     200
+    [Return]    ${resp.json()['vfcmt']['uuid']}
+
+Submit Monitoring Configuration To DCAE-DS
+    [Arguments]   ${mc_uuid}   ${cs_uuid}   ${vfi_name}
+    ${url_vfi_name}   HTTPUtils.url_encode_string  ${vfi_name}
+    ${resp}=    Run DCAE-DS Post Request    ${DCAE_PATH}${DCAE_CREATE_BLUEPRINT_PATH}/${mc_uuid}/${cs_uuid}/${url_vfi_name}     ${None}    ${ASDC_DESIGNER_USER_ID}
+    Should Be Equal As Strings  ${resp.status_code}     200
+