From b8f7ec0a01044e03e665bd5585b09675ad7db3a8 Mon Sep 17 00:00:00 2001 From: Richard Kosegi Date: Thu, 12 Jul 2018 14:59:03 +0200 Subject: [PATCH] Add CSIT for Daexim's inclusions feature Change-Id: Ia5805ee19b7b37c59d3cbe472482a5b40d6a52fa Signed-off-by: Richard Kosegi --- csit/libraries/DaeximKeywords.robot | 17 ++++++++++++++++- csit/suites/daexim/040-export-inclusions.robot | 13 +++++++++++++ csit/testplans/daexim-basic.txt | 1 + csit/variables/daexim/DaeximVariables.robot | 1 + .../daexim/schedule_export_include.json | 11 +++++++++++ 5 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 csit/suites/daexim/040-export-inclusions.robot create mode 100644 csit/variables/daexim/schedule_export_include.json diff --git a/csit/libraries/DaeximKeywords.robot b/csit/libraries/DaeximKeywords.robot index 65833c2fe5..22484f2312 100644 --- a/csit/libraries/DaeximKeywords.robot +++ b/csit/libraries/DaeximKeywords.robot @@ -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 index 0000000000..c9641976af --- /dev/null +++ b/csit/suites/daexim/040-export-inclusions.robot @@ -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} diff --git a/csit/testplans/daexim-basic.txt b/csit/testplans/daexim-basic.txt index 169ba8b52d..147672deaa 100644 --- a/csit/testplans/daexim-basic.txt +++ b/csit/testplans/daexim-basic.txt @@ -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 diff --git a/csit/variables/daexim/DaeximVariables.robot b/csit/variables/daexim/DaeximVariables.robot index fe3c51b78c..00e12249dd 100644 --- a/csit/variables/daexim/DaeximVariables.robot +++ b/csit/variables/daexim/DaeximVariables.robot @@ -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 index 0000000000..0f3f96fed1 --- /dev/null +++ b/csit/variables/daexim/schedule_export_include.json @@ -0,0 +1,11 @@ + { + "input": { + "data-export-import:run-at": ${TIME}, + "data-export-import:included-modules" : [ + { + "module-name": "${MODULE}", + "data-store": "${STORE}" + } + ] + } + } -- 2.36.6