Seperating usecase test suite dependencies

  # Refactoring BulkPM Dataplane test suite

Signed-off-by: efiacor <fiachra.corcoran@est.tech>
Change-Id: I4b2ad0dc5147e10ffc55f4ec210a29f073cd865b
Issue-ID: INT-832
Signed-off-by: efiacor <fiachra.corcoran@est.tech>
diff --git a/tests/usecases-config-over-netconf/config-over-netconf/__init__.robot b/tests/usecases-config-over-netconf/config-over-netconf/__init__.robot
new file mode 100644
index 0000000..614d5c1
--- /dev/null
+++ b/tests/usecases-config-over-netconf/config-over-netconf/__init__.robot
@@ -0,0 +1,2 @@
+1 *** Settings ***
+2 Documentation    PNF - config-over-netconf
diff --git a/tests/usecases-config-over-netconf/config-over-netconf/config_over_netconf.robot b/tests/usecases-config-over-netconf/config-over-netconf/config_over_netconf.robot
new file mode 100644
index 0000000..21c03c6
--- /dev/null
+++ b/tests/usecases-config-over-netconf/config-over-netconf/config_over_netconf.robot
@@ -0,0 +1,69 @@
+*** Settings ***
+Library     Collections
+Library     RequestsLibrary
+Library     OperatingSystem
+Library     json
+Library     String
+
+*** Variables ***
+${SDNC_KEYSTORE_CONFIG_PATH}    /config/netconf-keystore:keystore
+${SDNC_MOUNT_PATH}    /config/network-topology:network-topology/topology/topology-netconf/node/pnf-simulator
+${PNFSIM_MOUNT_PATH}    /config/network-topology:network-topology/topology/topology-netconf/node/pnf-simulator/yang-ext:mount/mynetconf:netconflist
+${BP_UPLOAD_URL}    /api/v1/execution-service/upload
+${BP_PROCESS_URL}    /api/v1/execution-service/process
+${BP_ARCHIVE_PATH}    ${CURDIR}/data/blueprint_archive.zip
+
+
+*** Test Cases ***
+Test SDNC Keystore
+    [Documentation]    Checking keystore after SDNC installation
+    Create Session   sdnc  http://localhost:8282/restconf
+    &{headers}=  Create Dictionary    Authorization=Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==    Content-Type=application/json    Accept=application/json
+    ${resp}=    Get Request    sdnc    ${SDNC_KEYSTORE_CONFIG_PATH}    headers=${headers}
+    Should Be Equal As Strings    ${resp.status_code}    200
+    ${keystoreContent}=    Convert To String    ${resp.content}
+    Log to console  *************************
+    Log to console  ${resp.content}
+    Log to console  *************************
+
+Test BP-PROC upload blueprint archive
+    [Documentation]    Upload Blueprint archive to BP processor
+    Create Session   blueprint  http://localhost:8000
+    ${bp_archive}=    Get Binary File    ${BP_ARCHIVE_PATH}
+    &{bp_file}=    create Dictionary    file    ${bp_archive}
+    &{headers}=  Create Dictionary    Authorization=Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==
+    ${resp}=    Post Request    blueprint    ${BP_UPLOAD_URL}    files=${bp_file}    headers=${headers}
+    Should Be Equal As Strings    ${resp.status_code}    200
+
+Test BP-PROC CONFIG-ASSIGN
+    [Documentation]    Send config-assign request to BP-Proc
+    Create Session   blueprint  http://localhost:8000
+    ${config-assign}=    Get File     ${CURDIR}${/}data${/}config-assign.json
+    Log to console  ${config-assign}
+    &{headers}=  Create Dictionary    Authorization=Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==    Content-Type=application/json    Accept=application/json
+    ${resp}=    Post Request    blueprint    ${BP_PROCESS_URL}    data=${config-assign}    headers=${headers}
+    Should Be Equal As Strings    ${resp.status_code}    200
+
+Test BP-PROC CONFIG-DEPLOY
+    [Documentation]    Send config-deploy request to BP-Proc
+    Create Session   blueprint  http://localhost:8000
+    ${config-deploy}=    Get File     ${CURDIR}${/}data${/}config-deploy.json
+    Log to console  ${config-deploy}
+    &{headers}=  Create Dictionary    Authorization=Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==    Content-Type=application/json    Accept=application/json
+    ${resp}=    Post Request    blueprint    ${BP_PROCESS_URL}    data=${config-deploy}    headers=${headers}
+    Should Be Equal As Strings    ${resp.status_code}    200
+
+Test PNF Configuration update
+    [Documentation]    Checking PNF configuration params
+    Create Session   sdnc  http://localhost:8282/restconf
+    ${mount}=    Get File     ${CURDIR}${/}data${/}mount.xml
+    Log to console  ${mount}
+    &{headers}=  Create Dictionary    Authorization=Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==    Content-Type=application/xml    Accept=application/xml
+    ${resp}=    Put Request    sdnc    ${SDNC_MOUNT_PATH}    data=${mount}    headers=${headers}
+    Should Be Equal As Strings    ${resp.status_code}    201
+    Sleep  10
+    &{headers1}=  Create Dictionary    Authorization=Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==    Content-Type=application/json    Accept=application/json
+    ${resp1}=    Get Request    sdnc    ${PNFSIM_MOUNT_PATH}    headers=${headers1}
+    Should Be Equal As Strings    ${resp1.status_code}    200
+    Log to console  ${resp1.content}
+    Should Contain  ${resp1.text}     {"netconf-id":30,"netconf-param":3000}
diff --git a/tests/usecases-config-over-netconf/config-over-netconf/data/blueprint_archive.zip b/tests/usecases-config-over-netconf/config-over-netconf/data/blueprint_archive.zip
new file mode 100644
index 0000000..ac34655
--- /dev/null
+++ b/tests/usecases-config-over-netconf/config-over-netconf/data/blueprint_archive.zip
Binary files differ
diff --git a/tests/usecases-config-over-netconf/config-over-netconf/data/config-assign.json b/tests/usecases-config-over-netconf/config-over-netconf/data/config-assign.json
new file mode 100644
index 0000000..12c3865
--- /dev/null
+++ b/tests/usecases-config-over-netconf/config-over-netconf/data/config-assign.json
@@ -0,0 +1,25 @@
+{
+  "actionIdentifiers": {
+    "actionName": "config-assign",
+    "blueprintName": "configuration_over_restconf",
+    "blueprintVersion": "1.0.0",
+    "mode": "sync"
+  },
+  "commonHeader": {
+    "originatorId": "sdnc",
+    "requestId": "123456-1000",
+    "subRequestId": "sub-123456-1000"
+  },
+  "payload": {
+    "config-assign-request": {
+      "resolution-key": "RES-KEY reskey",
+      "config-assign-properties": {
+        "service-instance-id": "siid_1234",
+        "pnf-id": "pnf-simulator",
+        "pnf-ipv4-address": "pnfaddr",
+        "service-model-uuid": "service-model-uuid",
+        "pnf-customization-uuid": "pnf-customization-uuid"
+      }
+    }
+  }
+}
diff --git a/tests/usecases-config-over-netconf/config-over-netconf/data/config-deploy.json b/tests/usecases-config-over-netconf/config-over-netconf/data/config-deploy.json
new file mode 100644
index 0000000..546fdc7
--- /dev/null
+++ b/tests/usecases-config-over-netconf/config-over-netconf/data/config-deploy.json
@@ -0,0 +1,25 @@
+{
+  "actionIdentifiers": {
+    "actionName": "config-deploy",
+    "blueprintName": "configuration_over_restconf",
+    "blueprintVersion": "1.0.0",
+    "mode": "sync"
+  },
+  "commonHeader": {
+    "originatorId": "sdnc",
+    "requestId": "123456-1000",
+    "subRequestId": "sub-123456-1000"
+  },
+  "payload": {
+    "config-deploy-request": {
+      "resolution-key": "RES-KEY reskey",
+      "config-deploy-properties": {
+        "service-instance-id": "siid_1234",
+        "pnf-id": "pnf-simulator",
+        "pnf-ipv4-address": "pnfaddr",
+        "service-model-uuid": "service-model-uuid",
+        "pnf-customization-uuid": "pnf-customization-uuid"
+      }
+    }
+  }
+}
diff --git a/tests/usecases-config-over-netconf/config-over-netconf/data/mount.xml b/tests/usecases-config-over-netconf/config-over-netconf/data/mount.xml
new file mode 100644
index 0000000..22053e8
--- /dev/null
+++ b/tests/usecases-config-over-netconf/config-over-netconf/data/mount.xml
@@ -0,0 +1,14 @@
+<node xmlns="urn:TBD:params:xml:ns:yang:network-topology">
+  <node-id>pnf-simulator</node-id>
+    <key-based xmlns="urn:opendaylight:netconf-node-topology">
+   <key-id xmlns="urn:opendaylight:netconf-node-topology">ODL_private_key_0</key-id>
+   <username xmlns="urn:opendaylight:netconf-node-topology">netconf</username>
+   </key-based>
+   <host xmlns="urn:opendaylight:netconf-node-topology">pnfaddr</host>
+   <port xmlns="urn:opendaylight:netconf-node-topology">6513</port>
+  <tcp-only xmlns="urn:opendaylight:netconf-node-topology">false</tcp-only>
+  <protocol xmlns="urn:opendaylight:netconf-node-topology">
+  <name xmlns="urn:opendaylight:netconf-node-topology">TLS</name>
+  </protocol>
+ <max-connection-attempts xmlns="urn:opendaylight:netconf-node-topology">2</max-connection-attempts>
+</node>