Add CSIT for Daexim's inclusions feature 81/73981/5
authorRichard Kosegi <richard.kosegi@gmail.com>
Thu, 12 Jul 2018 12:59:03 +0000 (14:59 +0200)
committerLuis Gomez <ecelgp@gmail.com>
Fri, 13 Jul 2018 20:30:31 +0000 (20:30 +0000)
Change-Id: Ia5805ee19b7b37c59d3cbe472482a5b40d6a52fa
Signed-off-by: Richard Kosegi <richard.kosegi@gmail.com>
csit/libraries/DaeximKeywords.robot
csit/suites/daexim/040-export-inclusions.robot [new file with mode: 0644]
csit/testplans/daexim-basic.txt
csit/variables/daexim/DaeximVariables.robot
csit/variables/daexim/schedule_export_include.json [new file with mode: 0644]

index 65833c2fe5847cd83c89af7ac587af0d5304ea04..22484f231234a6242c3f88bf49999a00aeeb4380 100644 (file)
@@ -89,8 +89,10 @@ Verify Json Files Not Present
 
 Schedule Export
     [Arguments]    ${controller_index}    ${TIME}=500    ${exclude}=${FALSE}    ${MODULE}=${EMPTY}    ${STORE}=${EMPTY}    ${FLAG}=false
+    ...    ${INCLUDE}=${FALSE}
     [Documentation]    Schedule Export job
-    ${file}    Builtin.Set Variable If    ${exclude}    ${EXPORT_EXCLUDE_FILE}    ${EXPORT_FILE}
+    ${file}=    Builtin.Run Keyword If    ${INCLUDE}    Builtin.Set Variable    ${EXPORT_INCLUDE_FILE}
+    ...    ELSE    Builtin.Set Variable If    ${exclude}    ${EXPORT_EXCLUDE_FILE}    ${EXPORT_FILE}
     ${JSON1}    OperatingSystem.Get File    ${file}
     ${JSON2}    Builtin.Replace Variables    ${JSON1}
     Cleanup The Export Files    ${controller_index}
@@ -110,6 +112,19 @@ Schedule Exclude Export
     ${file_path}    OperatingSystem.Join Path    ${EXP_DIR}${host}    ${export_file}
     [Return]    ${file_path}
 
+Schedule Include Export
+    [Arguments]    ${controller_index}    ${store}    ${module}
+    [Documentation]    Schedules a export with include option. Returns the file that has the included export.
+    ${controller_index}    Builtin.Convert To Integer    ${controller_index}
+    ${host}    ClusterManagement.Resolve IP Address For Member    ${controller_index}
+    Schedule Export    ${controller_index}    500    ${FALSE}    ${module}    ${store}    ${TRUE}
+    Builtin.Wait Until Keyword Succeeds    10 sec    5 sec    Verify Export Status    complete    ${controller_index}
+    Verify Export Files    ${controller_index}
+    Copy Export Directory To Test VM    ${host}
+    ${export_file}    Builtin.Set Variable If    '${store}' == 'operational'    ${EXP_OPER_FILE}    ${EXP_DATA_FILE}
+    ${file_path}    OperatingSystem.Join Path    ${EXP_DIR}${host}    ${export_file}
+    [Return]    ${file_path}
+
 Cancel Export
     [Arguments]    ${controller_index}
     [Documentation]    Cancel the export job
diff --git a/csit/suites/daexim/040-export-inclusions.robot b/csit/suites/daexim/040-export-inclusions.robot
new file mode 100644 (file)
index 0000000..c964197
--- /dev/null
@@ -0,0 +1,13 @@
+*** Settings ***
+Documentation     Test suite for verifying basic export with inclusions
+Suite Setup       ClusterManagement Setup
+Suite Teardown    Delete All Sessions
+Resource          ../../libraries/DaeximKeywords.robot
+
+*** Test Cases ***
+Create Module Include Export
+    [Documentation]    schedule a basic export/backup with applied inclusion pattern
+    [Tags]    include export
+    ${file1}    DaeximKeywords.Schedule Include Export    ${FIRST_CONTROLLER_INDEX}    config    network-topology
+    ${lines1}    OperatingSystem.Grep File    ${file1}    network-topology:
+    Builtin.Should Not Be Empty    ${lines1}
index 169ba8b52df5395d4b4bc7d8cec7f4ccc8156c83..147672deaa41e99f4039b02b68d75572344ba0a8 100644 (file)
@@ -1,3 +1,4 @@
 test/csit/suites/daexim/010-special-export.robot
 test/csit/suites/daexim/020-import-basic.robot
 test/csit/suites/daexim/030-export-basic.robot
+test/csit/suites/daexim/040-export-inclusions.robot
index fe3c51b78cdece6a1682c3638f7080ae8a997e7b..00e12249dd52edf3cc64cdbba74e4392d9eba615 100644 (file)
@@ -4,6 +4,7 @@ Documentation     Resource consisting purely of variable definitions useful for
 *** Variables ***
 ${CANCEL_EXPORT_URL}    /restconf/operations/data-export-import:cancel-export
 ${EXPORT_FILE}    ${CURDIR}/schedule_export.json
+${EXPORT_INCLUDE_FILE}    ${CURDIR}/schedule_export_include.json
 ${EXP_DIR}        /tmp/Export
 ${EXPORT_EXCLUDE_FILE}    ${CURDIR}/schedule_export_exclude.json
 ${SCHEDULE_EXPORT_URL}    /restconf/operations/data-export-import:schedule-export
diff --git a/csit/variables/daexim/schedule_export_include.json b/csit/variables/daexim/schedule_export_include.json
new file mode 100644 (file)
index 0000000..0f3f96f
--- /dev/null
@@ -0,0 +1,11 @@
+ {
+     "input": {
+         "data-export-import:run-at": ${TIME},
+         "data-export-import:included-modules" : [
+             {
+                 "module-name": "${MODULE}",
+                 "data-store": "${STORE}"
+             }
+         ]
+     }
+ }