From 07c6ef3793385b6237092910e5a585253e44c979 Mon Sep 17 00:00:00 2001 From: Guy Sagnes Date: Tue, 25 Feb 2014 10:48:09 +0100 Subject: Added version 1.0.2 12.12.2013 * add missing licenses information update after review feedback 20131212 - J.Kowalski 03.12.2013 * Persistence Adminisitrator / OIP BL 0.9.130 08.08.2013 * Persistence: PersAdminTool: Install "custom" keys with correct storage Clean up & makefile adaptations for generated code Remark: Integration 0.9.95 16.07.2013 * Modifications: pers-service-version 1.0.2 - Add makefile to allow creation of auto-generated code - Add support for starting over systemd - Custom plugin's name has to be extracted from value for "storage" tag - Added persadmin_check_for_same_file_content to check for identical file content - minimal fixes 18.06.2013 * persistence-administration-service version 1.0.1 update Administrator, incl. test application pers_svc_test/ 07.06.2013 * reorg position of dbus xml definition 02.05.2013 * Update missing part: integration of the generation of the dbus files based on Makefile.am 30.04.2013 * Reworked version based on common part 25.04.2013 * initial repository creation. Signed-off-by: Guy Sagnes --- test/pers_svc_test/Makefile.am | 79 + .../OIPModuleTestPASCodeGeneration.txt | 1 + .../OIPModuleTestPASCodeGeneration.xml | 25 + .../OIPModuleTestPASDBusCall.txt | 3 + test/pers_svc_test/inc/test_PAS.h | 172 ++ .../test_pas_check_data_after_backup_application.h | 38 + .../test_pas_check_data_after_backup_create_all.h | 39 + ...st_pas_check_data_after_backup_user2_seat_all.h | 38 + .../test_pas_check_data_after_backup_user_all.h | 38 + .../test_pas_check_data_after_delete_user2_data.h | 39 + .../inc/test_pas_check_data_after_reset.h | 41 + .../inc/test_pas_data_backup_recovery.h | 131 ++ test/pers_svc_test/inc/test_pas_data_import.h | 33 + .../inc/test_pas_data_restore_default.h | 89 + .../inc/test_pas_resource_config_add.h | 49 + test/pers_svc_test/src/test_PAS.c | 1959 ++++++++++++++++++++ test/pers_svc_test/src/test_PAS_dbus.c | 233 +++ .../test_pas_check_data_after_backup_application.c | 100 + .../test_pas_check_data_after_backup_create_all.c | 195 ++ ...st_pas_check_data_after_backup_user2_seat_all.c | 212 +++ .../test_pas_check_data_after_backup_user_all.c | 212 +++ .../test_pas_check_data_after_delete_user2_data.c | 226 +++ .../src/test_pas_check_data_after_reset.c | 118 ++ test/pers_svc_test/src/test_pas_import_all.c | 237 +++ test/pers_svc_test/src/test_pas_import_app.c | 141 ++ .../src/test_pas_import_source_content.c | 1011 ++++++++++ test/pers_svc_test/src/test_pas_import_user.c | 170 ++ test/pers_svc_test/src/test_pas_recovery_All.c | 319 ++++ .../src/test_pas_recovery_AllInitialContent.c | 568 ++++++ test/pers_svc_test/src/test_pas_recovery_App1.c | 137 ++ .../src/test_pas_recovery_App1InitialContent.c | 625 +++++++ test/pers_svc_test/src/test_pas_recovery_User1.c | 139 ++ .../src/test_pas_recovery_User1InitialContent.c | 617 ++++++ .../test_pas_recovery_User2Seat1InitialContent.c | 620 +++++++ test/pers_svc_test/src/test_pas_recovery_Users.c | 298 +++ .../src/test_pas_recovery_backup_content.c | 886 +++++++++ .../src/test_pas_resource_config_add.c | 729 ++++++++ .../src/test_pas_restore_default_All.c | 350 ++++ .../src/test_pas_restore_default_App1.c | 351 ++++ .../src/test_pas_restore_default_User1.c | 253 +++ .../src/test_pas_restore_default_User2App1.c | 253 +++ .../src/test_pas_restore_default_User2Seat1.c | 253 +++ test/pers_svc_test/webtool_export/resource2.tar.gz | Bin 0 -> 4396 bytes 43 files changed, 12027 insertions(+) create mode 100644 test/pers_svc_test/Makefile.am create mode 100644 test/pers_svc_test/dbus_specifications/OIPModuleTestPASCodeGeneration.txt create mode 100644 test/pers_svc_test/dbus_specifications/OIPModuleTestPASCodeGeneration.xml create mode 100644 test/pers_svc_test/dbus_specifications/OIPModuleTestPASDBusCall.txt create mode 100644 test/pers_svc_test/inc/test_PAS.h create mode 100644 test/pers_svc_test/inc/test_pas_check_data_after_backup_application.h create mode 100644 test/pers_svc_test/inc/test_pas_check_data_after_backup_create_all.h create mode 100644 test/pers_svc_test/inc/test_pas_check_data_after_backup_user2_seat_all.h create mode 100644 test/pers_svc_test/inc/test_pas_check_data_after_backup_user_all.h create mode 100644 test/pers_svc_test/inc/test_pas_check_data_after_delete_user2_data.h create mode 100644 test/pers_svc_test/inc/test_pas_check_data_after_reset.h create mode 100644 test/pers_svc_test/inc/test_pas_data_backup_recovery.h create mode 100644 test/pers_svc_test/inc/test_pas_data_import.h create mode 100644 test/pers_svc_test/inc/test_pas_data_restore_default.h create mode 100644 test/pers_svc_test/inc/test_pas_resource_config_add.h create mode 100644 test/pers_svc_test/src/test_PAS.c create mode 100644 test/pers_svc_test/src/test_PAS_dbus.c create mode 100644 test/pers_svc_test/src/test_pas_check_data_after_backup_application.c create mode 100644 test/pers_svc_test/src/test_pas_check_data_after_backup_create_all.c create mode 100644 test/pers_svc_test/src/test_pas_check_data_after_backup_user2_seat_all.c create mode 100644 test/pers_svc_test/src/test_pas_check_data_after_backup_user_all.c create mode 100644 test/pers_svc_test/src/test_pas_check_data_after_delete_user2_data.c create mode 100644 test/pers_svc_test/src/test_pas_check_data_after_reset.c create mode 100644 test/pers_svc_test/src/test_pas_import_all.c create mode 100644 test/pers_svc_test/src/test_pas_import_app.c create mode 100644 test/pers_svc_test/src/test_pas_import_source_content.c create mode 100644 test/pers_svc_test/src/test_pas_import_user.c create mode 100644 test/pers_svc_test/src/test_pas_recovery_All.c create mode 100644 test/pers_svc_test/src/test_pas_recovery_AllInitialContent.c create mode 100644 test/pers_svc_test/src/test_pas_recovery_App1.c create mode 100644 test/pers_svc_test/src/test_pas_recovery_App1InitialContent.c create mode 100644 test/pers_svc_test/src/test_pas_recovery_User1.c create mode 100644 test/pers_svc_test/src/test_pas_recovery_User1InitialContent.c create mode 100644 test/pers_svc_test/src/test_pas_recovery_User2Seat1InitialContent.c create mode 100644 test/pers_svc_test/src/test_pas_recovery_Users.c create mode 100644 test/pers_svc_test/src/test_pas_recovery_backup_content.c create mode 100644 test/pers_svc_test/src/test_pas_resource_config_add.c create mode 100644 test/pers_svc_test/src/test_pas_restore_default_All.c create mode 100644 test/pers_svc_test/src/test_pas_restore_default_App1.c create mode 100644 test/pers_svc_test/src/test_pas_restore_default_User1.c create mode 100644 test/pers_svc_test/src/test_pas_restore_default_User2App1.c create mode 100644 test/pers_svc_test/src/test_pas_restore_default_User2Seat1.c create mode 100644 test/pers_svc_test/webtool_export/resource2.tar.gz (limited to 'test/pers_svc_test') diff --git a/test/pers_svc_test/Makefile.am b/test/pers_svc_test/Makefile.am new file mode 100644 index 0000000..14d846e --- /dev/null +++ b/test/pers_svc_test/Makefile.am @@ -0,0 +1,79 @@ +####################################################################################################################### +# +# Copyright (C) 2012 Continental Automotive Systems, Inc. +# +# Author: Ana.Chisca@continental-corporation.com +# +# Makefile template for the Persistence Administration Service Test Framework +# +# Process this file with automake to produce a Makefile.in. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +####################################################################################################################### + +bin_PROGRAMS = pers_admin_test_framework + +# +# +# persistence administration service test framework. +# +# + +pers_admin_test_framework_CFLAGS = \ + -I $(top_srcdir)/Administrator/inc/private -I $(top_srcdir)/Administrator/inc/public -I inc -I generated \ + $(DLT_CFLAGS) \ + $(GIO_CFLAGS) \ + $(GIO_UNIX_CFLAGS) \ + $(GLIB_CFLAGS) \ + $(GOBJECT_CFLAGS) \ + $(DBUS_CFLAGS) \ + $(PERSCOMMON_CFLAGS) \ + $(ARCHIVELIB_CFLAGS) + +pers_admin_test_framework_LDFLAGS = \ + $(PLATFORM_LDFLAGS) + +pers_admin_test_framework_LDADD = \ + $(DLT_LIBS) \ + $(GIO_LIBS) \ + $(GIO_UNIX_LIBS) \ + $(GLIB_LIBS) \ + $(DBUS_LIBS) \ + $(GOBJECT_LIBS) \ + $(PERSCOMMON_LIBS) \ + $(ARCHIVELIB_LIBS) \ + $(top_srcdir)/Administrator/libpers_admin_access_lib.la + +pers_admin_test_framework_SOURCES = \ + $(top_srcdir)/Administrator/src/ssw_pers_admin_files_helper.c \ + generated/PasModuleTestGen.c \ + src/test_PAS.c \ + src/test_pas_check_data_after_backup_application.c \ + src/test_pas_check_data_after_backup_create_all.c \ + src/test_pas_check_data_after_backup_user_all.c \ + src/test_pas_check_data_after_backup_user2_seat_all.c \ + src/test_pas_check_data_after_delete_user2_data.c \ + src/test_pas_check_data_after_reset.c \ + src/test_PAS_dbus.c \ + src/test_pas_import_all.c \ + src/test_pas_import_app.c \ + src/test_pas_import_source_content.c \ + src/test_pas_import_user.c \ + src/test_pas_recovery_All.c \ + src/test_pas_recovery_AllInitialContent.c \ + src/test_pas_recovery_App1.c \ + src/test_pas_recovery_App1InitialContent.c \ + src/test_pas_recovery_backup_content.c \ + src/test_pas_recovery_User1.c \ + src/test_pas_recovery_User1InitialContent.c \ + src/test_pas_recovery_User2Seat1InitialContent.c \ + src/test_pas_recovery_Users.c \ + src/test_pas_resource_config_add.c \ + src/test_pas_restore_default_All.c \ + src/test_pas_restore_default_App1.c \ + src/test_pas_restore_default_User1.c \ + src/test_pas_restore_default_User2App1.c \ + src/test_pas_restore_default_User2Seat1.c diff --git a/test/pers_svc_test/dbus_specifications/OIPModuleTestPASCodeGeneration.txt b/test/pers_svc_test/dbus_specifications/OIPModuleTestPASCodeGeneration.txt new file mode 100644 index 0000000..2e77971 --- /dev/null +++ b/test/pers_svc_test/dbus_specifications/OIPModuleTestPASCodeGeneration.txt @@ -0,0 +1 @@ +gdbus-codegen --interface-prefix="org.genivi.persistence." --c-namespace="OipPersistence" --generate-c-code="PasModuleTestGen" OIPModuleTestPASCodeGeneration.xml \ No newline at end of file diff --git a/test/pers_svc_test/dbus_specifications/OIPModuleTestPASCodeGeneration.xml b/test/pers_svc_test/dbus_specifications/OIPModuleTestPASCodeGeneration.xml new file mode 100644 index 0000000..12d7f10 --- /dev/null +++ b/test/pers_svc_test/dbus_specifications/OIPModuleTestPASCodeGeneration.xml @@ -0,0 +1,25 @@ + + + + + + + + + + diff --git a/test/pers_svc_test/dbus_specifications/OIPModuleTestPASDBusCall.txt b/test/pers_svc_test/dbus_specifications/OIPModuleTestPASDBusCall.txt new file mode 100644 index 0000000..c607a15 --- /dev/null +++ b/test/pers_svc_test/dbus_specifications/OIPModuleTestPASDBusCall.txt @@ -0,0 +1,3 @@ +dbus-send --system --dest=org.genivi.persistence.admintestframework --print-reply \ +--type=method_call /org/genivi/persistence/admintestframework \ +org.genivi.persistence.admintestframework.ExecuteTestCases \ No newline at end of file diff --git a/test/pers_svc_test/inc/test_PAS.h b/test/pers_svc_test/inc/test_PAS.h new file mode 100644 index 0000000..8b50cca --- /dev/null +++ b/test/pers_svc_test/inc/test_PAS.h @@ -0,0 +1,172 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Ionut.Ieremie@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2013.04.15 uidu0250 CSP_WZ#3424: Add IF extension for "restore to default" +* 2012.11.29 uidv2833 CSP_WZ#1280: Adapted implementation for the new test framework +* 2012.11.28 uidl9757 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#ifndef SSW_TEST_PAS_H +#define SSW_TEST_PAS_H + + +#ifdef __cplusplus +extern "C" +{ +#endif /* #ifdef __cplusplus */ + +#include "persComTypes.h" +#include "persComRct.h" +#include "persComDataOrg.h" + +/* needed because of change in PCL (should be removed later) */ +#define TST_DEFAULT_CONTEXT {0xFF, 0xFF, 0xFF} +#define PERSISTENCE_ADMIN_TF_BUS_TYPE 1 //G_BUS_TYPE_SYSTEM (see gioenums.h) +#define PERSISTENCE_ADMIN_TF_BUS_NAME "org.genivi.persistence.admintestframework" +#define PERSISTENCE_ADMIN_TF_OBJ_PATH "/org/genivi/persistence/admintestframework" +#define PERSISTENCE_ADMIN_TF_IFACE "org.genivi.persistence.admintestframework" + +#define MAX_PATH_SIZE ( 256 ) +#define MAX_APPLICATION_NAME_SIZE ( 64 ) + +/* backup */ +#define NO_BACKUP "" +#define BACKUP_NAME "/tmp/backup" + +#define BACKUP_FOLDER "/tmp/backups" +#define BACKUP_FOLDER_ BACKUP_FOLDER "/" +#define BACKUP_CONTENT_FOLDER BACKUP_FOLDER PERS_ORG_ROOT_PATH +#define BACKUP_FORMAT (".arch.tar.gz") + +/* application */ +#define NO_APPLICATION "" +#define APPLICATION_NAME "App1" + +/* user */ +//#define USER_DONT_CARE 0xFF +//#define SEAT_DONT_CARE 0xFF + +typedef struct +{ + pstr_t resourceID ; + bool_t bIsKey ; + PersistenceConfigurationKey_s sRctEntry ; +}entryRctInit_s ; + +typedef struct +{ + str_t LDBID; + pstr_t resourceID ; + PersistencePolicy_e policy ; + str_t userID ; + str_t seatID ; + pstr_t data ; +}entryDataInit_s ; + +typedef struct +{ + pstr_t pResourceID ; + pstr_t data ; +}defaultDataInit_s ; + +typedef enum +{ + dbType_local = 0, + dbType_RCT +}dbType_e ; + +typedef struct +{ + pstr_t installFolderPath ; + pstr_t RCT_pathname ; + dbType_e RctDBtype ; + pstr_t wtDBpathname ; + dbType_e wtDBtype ; + pstr_t wcDBpathname ; + dbType_e wcDBtype ; + entryRctInit_s* RctInitTab ; + sint_t noEntriesRctInitTab ; + entryDataInit_s* dataKeysInitTab ; + sint_t noEntriesDataKeysInitTab ; + entryDataInit_s* dataFilesInitTab ; + sint_t noEntriesDataFilesInitTab ; + + pstr_t factoryDefaultDBpathname ; + defaultDataInit_s* factoryDefaultInitTab ; + sint_t noEntriesFactoryDefaultInitTab ; + pstr_t configurableDefaultDBpathname ; + defaultDataInit_s* configurableDefaultInitTab ; + sint_t noEntriesConfigurableDefaultInitTab ; +}dataInit_s ; + +/********************************************************************************************************************************************** + ***************************************** Structures used for test cases ******************************************************************** + *********************************************************************************************************************************************/ +typedef struct +{ + pstr_t key ; /* contains the complete name (with node, user,... prefix) */ + pstr_t dbPath ; /* abs path to DB */ + bool_t bExpectedToExist; /* if true, the key is expected to be found in the indicated DB */ + pstr_t expectedData ; + sint_t expectedDataSize ; +}expected_key_data_localDB_s ; + +typedef struct +{ + pstr_t key ; /* contains the complete name (with node, user,... prefix) */ + pstr_t dbPath ; /* abs path to DB */ + bool_t bExpectedToExist; /* if true, the key is expected to be found in the indicated DB */ + PersistenceConfigurationKey_s sExpectedConfig ; +}expected_key_data_RCT_s ; + +typedef struct +{ + pstr_t filename ; /* contains the complete name (with node, user,... prefix) */ + bool_t bExpectedToExist; /* if true, the key is expected to be found in the indicated DB */ + pstr_t expectedData ; + sint_t expectedDataSize ; +}expected_file_data_s ; + +/* test case prototype */ +typedef bool_t (*pfTestCase) (sint_t, void*) ; + +typedef struct +{ + pfTestCase TestCaseFunction ; + sint_t iParam ; + void* pvoidParam ; + pstr_t testCaseDescription ; + expected_key_data_RCT_s* pExpectedKeyDataRCT ; + sint_t noItemsInExpectedKeyDataRCT ; + expected_key_data_localDB_s* pExpectedKeyDataLocalDB ; + sint_t noItemsInExpectedKeyDataLocalDB ; + expected_file_data_s* pExpectedFileData ; + sint_t noItemsInExpectedFileData ; + bool_t bSkipDataReset ; +}testcase_s ; + +bool_t InitDataFolder(dataInit_s* psDataInit) ; +sint_t DeleteFolderContent(pstr_t folderPath); +sint_t DeleteFolder(pstr_t folderPath); +sint_t CheckIfFileExists(pstr_t pathname, bool_t bIsFolder); +bool_t ExecuteTestCases(sint_t *pNoOfTestCases, + sint_t *pNoOfTestCasesSuccessful, + sint_t *pNoOfTestCasesFailed ); + +#ifdef __cplusplus +} +#endif /* extern "C" { */ + +#endif /*SSW_TEST_PAS_H */ + diff --git a/test/pers_svc_test/inc/test_pas_check_data_after_backup_application.h b/test/pers_svc_test/inc/test_pas_check_data_after_backup_application.h new file mode 100644 index 0000000..13e80a6 --- /dev/null +++ b/test/pers_svc_test/inc/test_pas_check_data_after_backup_application.h @@ -0,0 +1,38 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#ifndef SSW_TEST_PAS_CHECK_DATA_AFTER_BACKUP_APPLICATION_H +#define SSW_TEST_PAS_CHECK_DATA_AFTER_BACKUP_APPLICATION_H + +#ifdef __cplusplus +extern "C" +{ +#endif /* #ifdef __cplusplus */ + +#include "persComTypes.h" +#include "test_PAS.h" + +extern expected_key_data_localDB_s expectedKeyData_shared_public_localDB_AfterBackupApplication[16] ; +extern expected_file_data_s expectedFileData_shared_public_AfterBackupApplication[10] ; + +bool_t Test_DataAfterBackupCreateApplication(int ceva, void* pAltceva) ; + +#ifdef __cplusplus +} +#endif /* extern "C" { */ + +#endif /*SSW_TEST_PAS_CHECK_DATA_AFTER_BACKUP_APPLICATION_H*/ diff --git a/test/pers_svc_test/inc/test_pas_check_data_after_backup_create_all.h b/test/pers_svc_test/inc/test_pas_check_data_after_backup_create_all.h new file mode 100644 index 0000000..bdd4dab --- /dev/null +++ b/test/pers_svc_test/inc/test_pas_check_data_after_backup_create_all.h @@ -0,0 +1,39 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#ifndef SSW_TEST_PAS_CHECK_DATA_AFTER_BACKUP_CREATE_ALL_H +#define SSW_TEST_PAS_CHECK_DATA_AFTER_BACKUP_CREATE_ALL_H + + +#ifdef __cplusplus +extern "C" +{ +#endif /* #ifdef __cplusplus */ + +#include "persComTypes.h" +#include "test_PAS.h" + +extern expected_key_data_localDB_s expectedKeyData_shared_public_localDB_AfterBackupCreateAll[80] ; +extern expected_file_data_s expectedFileData_shared_public_AfterBackupCreateAll[50] ; + +bool_t Test_DataAfterBackupCreateAll(int ceva, void* pAltceva) ; + +#ifdef __cplusplus +} +#endif /* extern "C" { */ + +#endif /*SSW_TEST_PAS_CHECK_DATA_AFTER_BACKUP_CREATE_ALL_H */ diff --git a/test/pers_svc_test/inc/test_pas_check_data_after_backup_user2_seat_all.h b/test/pers_svc_test/inc/test_pas_check_data_after_backup_user2_seat_all.h new file mode 100644 index 0000000..fecbd89 --- /dev/null +++ b/test/pers_svc_test/inc/test_pas_check_data_after_backup_user2_seat_all.h @@ -0,0 +1,38 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#ifndef SSW_TEST_PAS_CHECK_DATA_AFTER_BACKUP_USER2_SEAT_ALL_H +#define SSW_TEST_PAS_CHECK_DATA_AFTER_BACKUP_USER2_SEAT_ALL_H + +#ifdef __cplusplus +extern "C" +{ +#endif /* #ifdef __cplusplus */ + +#include "persComTypes.h" +#include "test_PAS.h" + +extern expected_key_data_localDB_s expectedKeyData_shared_public_localDB_AfterBackupUser2SeatAll[80] ; +extern expected_file_data_s expectedFileData_shared_public_AfterBackupUser2SeatAll[50] ; + +bool_t Test_DataAfterBackupCreateUser2SeatAll(int ceva, void* pAltceva) ; + +#ifdef __cplusplus +} +#endif /* extern "C" { */ + +#endif /*SSW_TEST_PAS_CHECK_DATA_AFTER_BACKUP_USER2_SEAT_ALL_H*/ diff --git a/test/pers_svc_test/inc/test_pas_check_data_after_backup_user_all.h b/test/pers_svc_test/inc/test_pas_check_data_after_backup_user_all.h new file mode 100644 index 0000000..75f25c7 --- /dev/null +++ b/test/pers_svc_test/inc/test_pas_check_data_after_backup_user_all.h @@ -0,0 +1,38 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#ifndef SSW_TEST_PAS_CHECK_DATA_AFTER_BACKUP_USER_ALL_H +#define SSW_TEST_PAS_CHECK_DATA_AFTER_BACKUP_USER_ALL_H + +#ifdef __cplusplus +extern "C" +{ +#endif /* #ifdef __cplusplus */ + +#include "persComTypes.h" +#include "test_PAS.h" + +extern expected_key_data_localDB_s expectedKeyData_shared_public_localDB_AfterBackupUserAll[80] ; +extern expected_file_data_s expectedFileData_shared_public_AfterBackupUserAll[50] ; + +bool_t Test_DataAfterBackupCreateUserAll(int ceva, void* pAltceva) ; + +#ifdef __cplusplus +} +#endif /* extern "C" { */ + +#endif /*SSW_TEST_PAS_CHECK_DATA_AFTER_BACKUP_USER_ALL_H*/ diff --git a/test/pers_svc_test/inc/test_pas_check_data_after_delete_user2_data.h b/test/pers_svc_test/inc/test_pas_check_data_after_delete_user2_data.h new file mode 100644 index 0000000..6c44380 --- /dev/null +++ b/test/pers_svc_test/inc/test_pas_check_data_after_delete_user2_data.h @@ -0,0 +1,39 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#ifndef SSW_TEST_PAS_CHECK_DATA_AFTER_DELETE_USER2_DATA_H +#define SSW_TEST_PAS_CHECK_DATA_AFTER_DELETE_USER2_DATA_H + + +#ifdef __cplusplus +extern "C" +{ +#endif /* #ifdef __cplusplus */ + +#include "persComTypes.h" +#include "test_PAS.h" + +extern expected_key_data_localDB_s expectedKeyData_shared_public_localDB_AfterDeleteUser2Data[80] ; +extern expected_file_data_s expectedFileData_shared_public_AfterDeleteUser2Data[50] ; + +bool_t Test_DataAfterDeleteUser2Data(int ceva, void* pAltceva) ; + +#ifdef __cplusplus +} +#endif /* extern "C" { */ + +#endif /*SSW_TEST_PAS_CHECK_DATA_AFTER_DELETE_USER2_DATA_H */ diff --git a/test/pers_svc_test/inc/test_pas_check_data_after_reset.h b/test/pers_svc_test/inc/test_pas_check_data_after_reset.h new file mode 100644 index 0000000..64dd7c3 --- /dev/null +++ b/test/pers_svc_test/inc/test_pas_check_data_after_reset.h @@ -0,0 +1,41 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#ifndef SSW_TEST_PAS_CHECK_DATA_AFTER_RESET_H +#define SSW_TEST_PAS_CHECK_DATA_AFTER_RESET_H + + +#ifdef __cplusplus +extern "C" +{ +#endif /* #ifdef __cplusplus */ + +#include "persComTypes.h" +#include "test_PAS.h" + +//extern const testcase_s const* pTC_testDataAfterReset; +extern expected_key_data_RCT_s expectedKeyData_shared_public_RCT_AfterReset[13] ; +extern expected_key_data_localDB_s expectedKeyData_shared_public_localDB_AfterReset[18] ; +extern expected_file_data_s expectedFileData_shared_public_AfterReset[11] ; + +bool_t Test_DataAfterReset(int ceva, void* pAltceva) ; + +#ifdef __cplusplus +} +#endif /* extern "C" { */ + +#endif /*SSW_TEST_PAS_CHECK_DATA_AFTER_RESET_H */ diff --git a/test/pers_svc_test/inc/test_pas_data_backup_recovery.h b/test/pers_svc_test/inc/test_pas_data_backup_recovery.h new file mode 100644 index 0000000..d4c9925 --- /dev/null +++ b/test/pers_svc_test/inc/test_pas_data_backup_recovery.h @@ -0,0 +1,131 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#ifndef SSW_TEST_PAS_DATA_BACKUP_RECOVERY_H +#define SSW_TEST_PAS_DATA_BACKUP_RECOVERY_H + + +#ifdef __cplusplus +extern "C" +{ +#endif /* #ifdef __cplusplus */ + +#include "persComTypes.h" +#include "test_PAS.h" + +#define BACKUP_FOLDER "/tmp/backups" +#define BACKUP_FOLDER_ BACKUP_FOLDER "/" +#define BACKUP_CONTENT_FOLDER BACKUP_FOLDER PERS_ORG_ROOT_PATH + +#define PATH_ABS_MAX_SIZE ( 512) + +#define BACKUP_FORMAT (".arch.tar.gz") + +#define USER_DONT_CARE 0xFF +#define SEAT_DONT_CARE 0xFF + +//=================================================================================================================== +// BACKUP CONTENT +//=================================================================================================================== +bool_t ResetBackupContent(PersASSelectionType_e type, char* applicationID); + +//=================================================================================================================== +// RECOVER DATA - App1 +//=================================================================================================================== + +extern expected_key_data_localDB_s expected_key_data_after_restore_App1[24]; +extern expected_file_data_s expected_file_data_after_restore_App1[16]; + +bool_t Test_Recover_App1(sint_t type, void* pv); + + +//=================================================================================================================== +// RECOVER DATA - User 1 +//=================================================================================================================== +extern expected_key_data_localDB_s expected_App1_key_data_after_restore_User1[24]; +extern expected_file_data_s expected_App1_file_data_after_restore_User1[16]; + +bool_t Test_Recover_User1(sint_t type, void* pv); + + +//=================================================================================================================== +// RECOVER DATA - All +//=================================================================================================================== + +extern expected_key_data_localDB_s expected_key_data_after_restore_All[23 + 24 + 48 + 44]; +extern expected_file_data_s expected_file_data_after_restore_All[16 + 16 + 16]; + +bool_t Test_Recover_All(sint_t type, void* pv); + + +//=================================================================================================================== +// RECOVER DATA - Users +//=================================================================================================================== + +extern expected_key_data_localDB_s expected_key_data_after_restore_Users[23 + 24 + 24 + 24 + 22]; +extern expected_file_data_s expected_file_data_after_restore_Users[16 + 16 + 16]; + +bool_t Test_Recover_Users(sint_t type, void* pv); + + +//=================================================================================================================== +// RECOVER DATA - All InitialContent +//=================================================================================================================== + +extern expected_key_data_localDB_s expected_key_data_after_restore_All_InitialContent[16 + 16 + 16 + 32 + 32]; +extern expected_file_data_s expected_file_data_after_restore_All_InitialContent[10 + 10 + 10 + 10 + 10]; + +bool_t Test_Recover_All_InitialContent(sint_t type, void* pv); + + +//=================================================================================================================== +// RECOVER DATA - App1 InitialContent +//=================================================================================================================== + +extern expected_key_data_localDB_s expected_key_data_after_restore_App1_InitialContent[16 + 16 + 16 + 32 + 32]; +extern expected_file_data_s expected_file_data_after_restore_App1_InitialContent[10 + 10 + 10 + 10 + 10]; + +bool_t Test_Recover_App1_InitialContent_From_All(sint_t type, void* pv); +bool_t Test_Recover_App1_InitialContent_From_App1(sint_t type, void* pv); + + +//=================================================================================================================== +// RECOVER DATA - User1 InitialContent +//=================================================================================================================== + +extern expected_key_data_localDB_s expected_key_data_after_restore_User1_InitialContent[16 + 16 + 16 + 32 + 32]; +extern expected_file_data_s expected_file_data_after_restore_User1_InitialContent[10 + 10 + 10 + 10 + 10]; + +bool_t Test_Recover_User1_InitialContent_From_All(sint_t type, void* pv); +bool_t Test_Recover_User1_InitialContent_From_User1(sint_t type, void* pv); + +//=================================================================================================================== +// RECOVER DATA - User2 Seat1 InitialContent +//=================================================================================================================== + +extern expected_key_data_localDB_s expected_key_data_after_restore_User2_Seat1_InitialContent[16 + 16 + 16 + 32 + 32]; +extern expected_file_data_s expected_file_data_after_restore_User2_Seat1_InitialContent[10 + 10 + 10 + 10 + 10]; + +bool_t Test_Recover_User2_Seat1_InitialContent_From_All(sint_t type, void* pv); +bool_t Test_Recover_User2_Seat1_InitialContent_From_User2_Seat1(sint_t type, void* pv); + + +#ifdef __cplusplus +} +#endif /* extern "C" { */ + +#endif /*SSW_TEST_PAS_DATA_BACKUP_RECOVERY_H */ diff --git a/test/pers_svc_test/inc/test_pas_data_import.h b/test/pers_svc_test/inc/test_pas_data_import.h new file mode 100644 index 0000000..314e13c --- /dev/null +++ b/test/pers_svc_test/inc/test_pas_data_import.h @@ -0,0 +1,33 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#include "persComTypes.h" +#include "test_PAS.h" + +bool_t ResetImportData(PersASSelectionType_e type); +bool_t Test_import_all_app(sint_t type, void* pv); +bool_t Test_import_all_all(sint_t type, void* pv); +bool_t Test_import_all_user(sint_t type, void* pv); + +extern expected_key_data_localDB_s expected_key_data_after_import_app_all[22]; +extern expected_file_data_s expected_file_data_after_import_app_all[12]; + +extern expected_key_data_localDB_s expected_key_data_after_import_all_all[57]; +extern expected_file_data_s expected_file_data_after_import_all_all[30]; + +extern expected_key_data_localDB_s expected_key_data_after_import_all_user[57]; +extern expected_file_data_s expected_file_data_after_import_all_user[30]; diff --git a/test/pers_svc_test/inc/test_pas_data_restore_default.h b/test/pers_svc_test/inc/test_pas_data_restore_default.h new file mode 100644 index 0000000..eb628e8 --- /dev/null +++ b/test/pers_svc_test/inc/test_pas_data_restore_default.h @@ -0,0 +1,89 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#ifndef SSW_TEST_PAS_DATA_RESTORE_DEFAULT_H +#define SSW_TEST_PAS_DATA_RESTORE_DEFAULT_H + + +#ifdef __cplusplus +extern "C" +{ +#endif /* #ifdef __cplusplus */ + +#include "persComTypes.h" +#include "test_PAS.h" + +typedef struct +{ + pstr_t filename; /* contains the full path (with node, user,... prefix) */ + bool_t bIsFolder; /* if true, the filename is a folder */ + bool_t bExpectedToExist; /* if true, the key is expected to be found in the indicated DB */ +}expected_default_file_data_s; + +//=================================================================================================================== +// RESTORE DEFAULT - App1 +//=================================================================================================================== + +extern expected_key_data_localDB_s expected_key_data_after_restore_default_App1[16 + 16 + 16 + 16 + 16]; +extern expected_file_data_s expected_file_data_after_restore_default_App1[10 + 10 + 10 + 10 + 10]; + +bool_t Test_Restore_Factory_Default_App1(sint_t type, void* pv); +bool_t Test_Restore_Configurable_Default_App1(sint_t type, void* pv); + + +//=================================================================================================================== +// RESTORE DEFAULT - User 1 +//=================================================================================================================== +extern expected_key_data_localDB_s expected_key_data_after_restore_default_User1[16 + 16 + 16 + 16 + 16]; +extern expected_file_data_s expected_file_data_after_restore_default_User1[10 + 10 + 10 + 10 + 10]; + +bool_t Test_Restore_Configurable_Default_User1(sint_t type, void* pv); + + +//=================================================================================================================== +// RESTORE DEFAULT - All +//=================================================================================================================== +extern expected_key_data_localDB_s expected_key_data_after_restore_default_All[16 + 16 + 16 + 16 + 16]; +extern expected_file_data_s expected_file_data_after_restore_default_All[10 + 10 + 10 + 10 + 10]; + +bool_t Test_Restore_Factory_Default_All(sint_t type, void* pv); +bool_t Test_Restore_Configurable_Default_All(sint_t type, void* pv); + + +//=================================================================================================================== +// RESTORE DEFAULT - User2 Seat1 +//=================================================================================================================== + +extern expected_key_data_localDB_s expected_key_data_after_restore_default_User2Seat1[16 + 16 + 16 + 16 + 16]; +extern expected_file_data_s expected_file_data_after_restore_default_User2Seat1[10 + 10 + 10 + 10 + 10]; + +bool_t Test_Restore_Configurable_Default_User2Seat1(sint_t type, void* pv); + +//=================================================================================================================== +// RESTORE DEFAULT - User2 App1 +//=================================================================================================================== + +extern expected_key_data_localDB_s expected_key_data_after_restore_default_User2App1[16 + 16 + 16 + 16 + 16]; +extern expected_file_data_s expected_file_data_after_restore_default_User2App1[10 + 10 + 10 + 10 + 10]; + +bool_t Test_Restore_Configurable_Default_User2App1(sint_t type, void* pv); + +#ifdef __cplusplus +} +#endif /* extern "C" { */ + +#endif /*SSW_TEST_PAS_DATA_RESTORE_DEFAULT_H*/ diff --git a/test/pers_svc_test/inc/test_pas_resource_config_add.h b/test/pers_svc_test/inc/test_pas_resource_config_add.h new file mode 100644 index 0000000..d2ee86e --- /dev/null +++ b/test/pers_svc_test/inc/test_pas_resource_config_add.h @@ -0,0 +1,49 @@ +/********************************************************************************************************************* * * Copyright (C) 2012 Continental Automotive Systems, Inc. * * Author: Petrica.Manoila@continental-corporation.com * * Implementation of backup process * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * Date Author Reason * 2012.11.27 uidu0250 CSP_WZ#1280: Initial version * **********************************************************************************************************************/ #ifndef SSW_TEST_PAS_RESOURCE_CONFIG_ADD_H +#define SSW_TEST_PAS_RESOURCE_CONFIG_ADD_H + + +#ifdef __cplusplus +extern "C" +{ +#endif /* #ifdef __cplusplus */ + +#include "persComTypes.h" +#include "test_PAS.h" + +extern expected_key_data_RCT_s expectedKeyData_RCT_resConfAdd_1[17] ; +extern expected_key_data_localDB_s expectedKeyData_localDB_resConfAdd_1[41] ; +expected_file_data_s expectedKeyData_files_resConfAdd_1[16] ; +//extern expected_file_data_s expectedFileData_shared_public_AfterReset[11] ; + +extern expected_key_data_RCT_s expected_RCT_public[13] ; +extern expected_key_data_localDB_s expectedKeyData_public[29] ; +extern expected_file_data_s expectedFileData_public[18] ; + +extern expected_key_data_RCT_s expected_RCT_group_10[12] ; +extern expected_key_data_localDB_s expectedKeyData_group_10[24] ; +extern expected_file_data_s expectedFileData_group_10[18] ; + +extern expected_key_data_RCT_s expected_RCT_group_20[12] ; +extern expected_key_data_localDB_s expectedKeyData_group_20[16] ; +extern expected_file_data_s expectedFileData_group_20[10] ; + +extern expected_key_data_RCT_s expected_RCT_group_30[6] ; +extern expected_key_data_localDB_s expectedKeyData_group_30[8] ; +extern expected_file_data_s expectedFileData_group_30[4] ; + +extern expected_key_data_RCT_s expected_RCT_App30_Phase_1[6] ; +extern expected_key_data_localDB_s expectedKeyData_App30_Phase_1[8] ; +extern expected_file_data_s expectedFileData_App30_Phase_1[4] ; + +extern expected_key_data_RCT_s expected_RCT_public[13] ; +extern expected_key_data_localDB_s expectedKeyData_public_phase2[29] ; +extern expected_file_data_s expectedFileData_public_phase2[18] ; + +bool_t Test_ResourceConfigAdd_1(int ceva, void* pAltceva) ; +bool_t Test_ResourceConfigAdd_2(int ceva, void* pAltceva) ; + +#ifdef __cplusplus +} +#endif /* extern "C" { */ + +#endif /*SSW_TEST_PAS_RESOURCE_CONFIG_ADD_H */ diff --git a/test/pers_svc_test/src/test_PAS.c b/test/pers_svc_test/src/test_PAS.c new file mode 100644 index 0000000..852c72b --- /dev/null +++ b/test/pers_svc_test/src/test_PAS.c @@ -0,0 +1,1959 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Ionut.Ieremie@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason + 2013.04.15 uidu0250 CSP_WZ#3424: Add IF extension for "restore to default" + 2013.01.24 uidu0250 CSP_WZ#2246: Added additional test cases for persAdminDataBackupRecovery + 2012.12.11 uidu0250 CSP_WZ#1280: Added test cases for persAdminDataBackupRecovery + 2012.11.23 uidn3591, uidv2833 CSP_WZ#1280: Added test cases for persAdminDataBackupCreate & persAdminUserDataDelete + 2012.11.21 uidl9757 CSP_WZ#1280: Created (only framework and a dummy test case) +* +**********************************************************************************************************************/ + +/* ---------------------- include files --------------------------------- */ +#include "persComTypes.h" +#include "stdio.h" +#include "string.h" +#include "malloc.h" +#include +#include +#include +#include +#include + +#include +#include + +#include "persComErrors.h" +#include "persComDataOrg.h" +#include "persComDbAccess.h" +#include "persComRct.h" + +#include "ssw_pers_admin_files_helper.h" +#include "ssw_pers_admin_dbus.h" + +#include "persistence_admin_service.h" + +#include "test_PAS.h" + + +#include "test_pas_check_data_after_reset.h" +#include "test_pas_data_backup_recovery.h" +#include "test_pas_data_restore_default.h" +#include "test_pas_resource_config_add.h" +#include "test_pas_data_import.h" +#include "test_pas_check_data_after_backup_application.h" +#include "test_pas_check_data_after_delete_user2_data.h" +#include "test_pas_check_data_after_backup_create_all.h" +#include "test_pas_check_data_after_backup_user_all.h" +#include "test_pas_check_data_after_backup_user2_seat_all.h" + +/* L&T context */ +#define LT_HDR "TEST_PAS >> " + +//static DLT_DECLARE_CONTEXT(testPersAdminDLTCtx); +DLT_DECLARE_CONTEXT(persAdminSvcDLTCtx) ; +#define testPersAdminDLTCtx persAdminSvcDLTCtx +str_t g_msg[512] ; + +#define File_t PersistenceResourceType_file +#define Key_t PersistenceResourceType_key + + +static entryRctInit_s RCT_public_init[] = +{ + {"pubSettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSetting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSetting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared,File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared,File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared,File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared,File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}} +} ; + +static entryDataInit_s dataKeysPublicInit[] = +{ + {0, PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PersistencePolicy_wt, 0, 0, "Data>>/pubSettingA"}, + {0, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PersistencePolicy_wt, 2, 1, "Data>>/pubSettingB::user2::seat1"}, + {0, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PersistencePolicy_wt, 2, 2, "Data>>/pubSettingB::user2:seat2"}, + {0, PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PersistencePolicy_wt, 0, 0, "Data>>/pubSettingC"}, + {0, PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PersistencePolicy_wt, 1, 0, "Data>>/pubSetting/ABC::user1"}, + {0, PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PersistencePolicy_wt, 2, 0, "Data>>/pubSetting/ABC::user2"}, + {0, PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PersistencePolicy_wt, 3, 0, "Data>>/pubSetting/ABC::user3"}, + {0, PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PersistencePolicy_wt, 4, 0, "Data>>/pubSetting/ABC::user4"}, + {0, PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PersistencePolicy_wc, 0, 0, "Data>>/pubSettingD"}, + {0, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PersistencePolicy_wc, 2, 1, "Data>>/pubSettingE::user2:seat1"}, + {0, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PersistencePolicy_wc, 2, 2, "Data>>/pubSettingE::user2:seat2"}, + {0, PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PersistencePolicy_wc, 0, 0, "Data>>/pubSettingF"}, + {0, PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/pubSetting/DEF::user1"}, + {0, PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PersistencePolicy_wc, 2, 0, "Data>>/pubSetting/DEF::user2"}, + {0, PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/pubSetting/DEF::user3"}, + {0, PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/pubSetting/DEF::user4"} +} ; + + +static entryDataInit_s dataFilesPublicInit[] = +{ + {0, PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>/doc1.txt"}, + {0, PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>/Docs/doc2.txt"}, + {0, PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", PersistencePolicy_wc, 1, 0, "File>>/docA.txt::user1"}, + {0, PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", PersistencePolicy_wc, 2, 0, "File>>/docA.txt::user2"}, + {0, PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", PersistencePolicy_wc, 3, 0, "File>>/docA.txt::user3"}, + {0, PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", PersistencePolicy_wc, 4, 0, "File>>/docA.txt::user4"}, + {0, PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>/docB.txt::user2:seat1"}, + {0, PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>/docB.txt::user2:seat2"}, + {0, PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>/docB.txt::user2:seat3"}, + {0, PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>/docB.txt::user2:seat4"} +}; + +static defaultDataInit_s factoryDefaultInitKey[] = +{ + {"pubSettingA", "FactoryDefault : pubSettingA : orig" }, + {"pubSettingD", "FactoryDefault : pubSettingD : orig" }, + {"pubSetting/ABC", "FactoryDefault : pubSetting/ABC : orig" } +}; + +static defaultDataInit_s configurableDefaultInitKey[] = +{ + {"pubSettingA", "ConfigurableDefault : pubSettingA : orig" }, + {"pubSetting/ABC", "ConfigurableDefault : pubSetting/ABC : orig" } +}; + +static dataInit_s sSharedPubDataInit = +{ + PERS_ORG_SHARED_PUBLIC_WT_PATH_, + PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, + dbType_RCT, + PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, + dbType_local, + PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, + dbType_local, + RCT_public_init, + sizeof(RCT_public_init)/sizeof(RCT_public_init[0]), + dataKeysPublicInit, + sizeof(dataKeysPublicInit)/sizeof(dataKeysPublicInit[0]), + dataFilesPublicInit, + sizeof(dataFilesPublicInit)/sizeof(dataFilesPublicInit[0]), + + "/Data/mnt-wt/shared/public"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_, + factoryDefaultInitKey, + sizeof(factoryDefaultInitKey)/sizeof(factoryDefaultInitKey[0]), + "/Data/mnt-wt/shared/public"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, + configurableDefaultInitKey, + sizeof(configurableDefaultInitKey)/sizeof(configurableDefaultInitKey[0]) +} ; + + +/********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ +static entryRctInit_s RCT_group10_init[] = +{ + {"gr10_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}}, + {"gr10_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}}, + {"gr10_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}}, + {"gr10_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}}, + {"gr10_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}}, + {"gr10_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}}, + {"gr10_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}}, + {"gr10_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}}, + {"gr10_1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}}, + {"Docs/gr10_A.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}}, + {"gr10_2.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}}, + {"Docs/gr10_B.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}} +} ; + +static entryDataInit_s dataKeys_Group10_Init[] = +{ + {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", PersistencePolicy_wt, 0, 0, "Data>>/gr10_SettingA"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PersistencePolicy_wt, 2, 1, "Data>>/gr10_SettingB::user2::seat1"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PersistencePolicy_wt, 2, 2, "Data>>/gr10_SettingB::user2:seat2"}, + {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", PersistencePolicy_wt, 0, 0, "Data>>/gr10_SettingC"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", PersistencePolicy_wt, 1, 0, "Data>>/gr10_Setting/ABC::user1"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", PersistencePolicy_wt, 2, 0, "Data>>/gr10_Setting/ABC::user2"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", PersistencePolicy_wt, 3, 0, "Data>>/gr10_Setting/ABC::user3"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", PersistencePolicy_wt, 4, 0, "Data>>/gr10_Setting/ABC::user4"}, + {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PersistencePolicy_wc, 0, 0, "Data>>/gr10_SettingD"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PersistencePolicy_wc, 2, 1, "Data>>/gr10_SettingE::user2:seat1"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PersistencePolicy_wc, 2, 2, "Data>>/gr10_SettingE::user2:seat2"}, + {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PersistencePolicy_wc, 0, 0, "Data>>/gr10_SettingF"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/gr10_Setting/DEF::user1"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PersistencePolicy_wc, 2, 0, "Data>>/gr10_Setting/DEF::user2"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/gr10_Setting/DEF::user3"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/gr10_Setting/DEF::user4"} +} ; + +static defaultDataInit_s dataKeys_Group10_FactoryDefaultInit[] = +{ + {"gr10_SettingA", "FactoryDefault : gr10_SettingA : orig" }, + {"gr10_SettingB", "FactoryDefault : gr10_SettingB : orig" }, + {"gr10_SettingC", "FactoryDefault : gr10_SettingC : orig" }, + {"gr10_Setting/ABC", "FactoryDefault : gr10_Setting/ABC : orig" } +}; + +static defaultDataInit_s dataKeys_Group10_ConfigurableDefaultInit[] = +{ + {"gr10_SettingA", "ConfigurableDefault : gr10_SettingA : orig" }, + {"gr10_SettingB", "ConfigurableDefault : gr10_SettingB : orig" }, + {"gr10_SettingC", "ConfigurableDefault : gr10_SettingC : orig" }, + {"gr10_Setting/ABC", "ConfigurableDefault : gr10_Setting/ABC : orig" } +}; + +static entryDataInit_s dataFiles_Group10_Init[] = +{ + {0x10, PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", PersistencePolicy_wt, 0, 0, "File>>gr10_>>/gr10_1.txt"}, + {0x10, PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", PersistencePolicy_wt, 0, 0, "File>>gr10_>>/Docs/gr10_A.txt"}, + {0x10, PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", PersistencePolicy_wc, 1, 0, "File>>gr10_>>/gr10_2.txt::user1"}, + {0x10, PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", PersistencePolicy_wc, 2, 0, "File>>gr10_>>/gr10_2.txt::user2"}, + {0x10, PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", PersistencePolicy_wc, 3, 0, "File>>gr10_>>/gr10_2.txt::user3"}, + {0x10, PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", PersistencePolicy_wc, 4, 0, "File>>gr10_>>/gr10_2.txt::user4"}, + {0x10, PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 1, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1"}, + {0x10, PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 2, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2"}, + {0x10, PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 3, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3"}, + {0x10, PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 4, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4"}, + /* factory-default data */ + {0x10, PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/gr10_1.txt", PersistencePolicy_wt, 0, 0, "File>>gr10_>>/gr10_1.txt factory-default : orig"}, + {0x10, PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/Docs/gr10_A.txt", PersistencePolicy_wt, 0, 0, "File>>gr10_>>/Docs/gr10_A.txt factory-default : orig"}, + {0x10, PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/gr10_2.txt", PersistencePolicy_wc, 0, 0, "File>>gr10_>>/gr10_2.txt factory-default : orig"}, + {0x10, PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/Docs/gr10_B.txt", PersistencePolicy_wc, 0, 0, "File>>gr10_>>/Docs/gr10_B.txt factory-default : orig"}, + /* configurable-default data */ + {0x10, PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_"/gr10_1.txt", PersistencePolicy_wt, 0, 0, "File>>gr10_>>/gr10_1.txt configurable-default : orig"}, + {0x10, PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_"/Docs/gr10_A.txt", PersistencePolicy_wt, 0, 0, "File>>gr10_>>/Docs/gr10_A.txt configurable-default : orig"}, + {0x10, PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_"/gr10_2.txt", PersistencePolicy_wc, 0, 0, "File>>gr10_>>/gr10_2.txt configurable-default : orig"}, + {0x10, PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_"/Docs/gr10_B.txt", PersistencePolicy_wc, 0, 0, "File>>gr10_>>/Docs/gr10_B.txt configurable-default : orig"}, +}; + + +static dataInit_s sShared_Group10_DataInit = +{ + PERS_ORG_SHARED_GROUP_WT_PATH_"10/", + PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_RCT_NAME, + dbType_RCT, + PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, + dbType_local, + PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, + dbType_local, + RCT_group10_init, + sizeof(RCT_group10_init)/sizeof(RCT_group10_init[0]), + dataKeys_Group10_Init, + sizeof(dataKeys_Group10_Init)/sizeof(dataKeys_Group10_Init[0]), + dataFiles_Group10_Init, + sizeof(dataFiles_Group10_Init)/sizeof(dataFiles_Group10_Init[0]), + PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_, + dataKeys_Group10_FactoryDefaultInit, + sizeof(dataKeys_Group10_FactoryDefaultInit)/sizeof(dataKeys_Group10_FactoryDefaultInit[0]), + PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, + dataKeys_Group10_ConfigurableDefaultInit, + sizeof(dataKeys_Group10_ConfigurableDefaultInit)/sizeof(dataKeys_Group10_ConfigurableDefaultInit[0]) +} ; + + +/********************************************************************************************************************************************** + ***************************************** Group 20 ******************************************************************************************* + *********************************************************************************************************************************************/ +static entryRctInit_s RCT_group20_init[] = +{ + {"gr20_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}}, + {"gr20_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}}, + {"gr20_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}}, + {"gr20_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}}, + {"gr20_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}}, + {"gr20_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}}, + {"gr20_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}}, + {"gr20_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}}, + {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}}, + {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}}, + {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}}, + {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}} +} ; + +static entryDataInit_s dataKeys_Group20_Init[] = +{ + {0x20, PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", PersistencePolicy_wt, 0, 0, "Data>>/gr20_SettingA"}, + {0x20, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PersistencePolicy_wt, 2, 1, "Data>>/gr20_SettingB::user2::seat1"}, + {0x20, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PersistencePolicy_wt, 2, 2, "Data>>/gr20_SettingB::user2:seat2"}, + {0x20, PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", PersistencePolicy_wt, 0, 0, "Data>>/gr20_SettingC"}, + {0x20, PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", PersistencePolicy_wt, 1, 0, "Data>>/gr20_Setting/ABC::user1"}, + {0x20, PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", PersistencePolicy_wt, 2, 0, "Data>>/gr20_Setting/ABC::user2"}, + {0x20, PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", PersistencePolicy_wt, 3, 0, "Data>>/gr20_Setting/ABC::user3"}, + {0x20, PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", PersistencePolicy_wt, 4, 0, "Data>>/gr20_Setting/ABC::user4"}, + {0x20, PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PersistencePolicy_wc, 0, 0, "Data>>/gr20_SettingD"}, + {0x20, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PersistencePolicy_wc, 2, 1, "Data>>/gr20_SettingE::user2:seat1"}, + {0x20, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PersistencePolicy_wc, 2, 2, "Data>>/gr20_SettingE::user2:seat2"}, + {0x20, PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PersistencePolicy_wc, 0, 0, "Data>>/gr20_SettingF"}, + {0x20, PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/gr20_Setting/DEF::user1"}, + {0x20, PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PersistencePolicy_wc, 2, 0, "Data>>/gr20_Setting/DEF::user2"}, + {0x20, PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/gr20_Setting/DEF::user3"}, + {0x20, PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/gr20_Setting/DEF::user4"} +}; + +static entryDataInit_s dataFiles_Group20_Init[] = +{ + {0x20, PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>gr20_>>/doc1.txt"}, + {0x20, PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>gr20_>>/Docs/doc2.txt"}, + {0x20, PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", PersistencePolicy_wc, 1, 0, "File>>gr20_>>/docA.txt::user1"}, + {0x20, PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", PersistencePolicy_wc, 2, 0, "File>>gr20_>>/docA.txt::user2"}, + {0x20, PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", PersistencePolicy_wc, 3, 0, "File>>gr20_>>/docA.txt::user3"}, + {0x20, PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", PersistencePolicy_wc, 4, 0, "File>>gr20_>>/docA.txt::user4"}, + {0x20, PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>gr20_>>/docB.txt::user2:seat1"}, + {0x20, PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>gr20_>>/docB.txt::user2:seat2"}, + {0x20, PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>gr20_>>/docB.txt::user2:seat3"}, + {0x20, PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>gr20_>>/docB.txt::user2:seat4"} +}; + + +static dataInit_s sShared_Group20_DataInit = +{ + PERS_ORG_SHARED_GROUP_WT_PATH_"20/", + PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_RCT_NAME, + dbType_RCT, + PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, + dbType_local, + PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, + dbType_local, + RCT_group20_init, + sizeof(RCT_group20_init)/sizeof(RCT_group20_init[0]), + dataKeys_Group20_Init, + sizeof(dataKeys_Group20_Init)/sizeof(dataKeys_Group20_Init[0]), + dataFiles_Group20_Init, + sizeof(dataFiles_Group20_Init)/sizeof(dataFiles_Group20_Init[0]), + NIL, + NIL, + 0, + NIL, + NIL, + 0 +} ; + +/********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ +static entryRctInit_s RCT_App1_init[] = +{ + {"App1_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"},{NIL},{NIL}}}, + {"App1_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"},{NIL},{NIL}}}, + {"App1_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"},{NIL},{NIL}}}, + {"App1_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"},{NIL},{NIL}}}, + {"App1_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"},{NIL},{NIL}}}, + {"App1_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"},{NIL},{NIL}}}, + {"App1_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"},{NIL},{NIL}}}, + {"App1_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"},{NIL},{NIL}}}, + {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"},{NIL},{NIL}}}, + {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"},{NIL},{NIL}}}, + {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"},{NIL},{NIL}}}, + {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"},{NIL},{NIL}}} +} ; + +static entryDataInit_s dataKeys_App1_Init[] = +{ + {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PersistencePolicy_wt, 0, 0, "Data>>/App1_SettingA"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PersistencePolicy_wt, 2, 1, "Data>>/App1_SettingB::user2::seat1"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PersistencePolicy_wt, 2, 2, "Data>>/App1_SettingB::user2:seat2"}, + {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PersistencePolicy_wt, 0, 0, "Data>>/App1_SettingC"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PersistencePolicy_wt, 1, 0, "Data>>/App1_Setting/ABC::user1"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PersistencePolicy_wt, 2, 0, "Data>>/App1_Setting/ABC::user2"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PersistencePolicy_wt, 3, 0, "Data>>/App1_Setting/ABC::user3"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PersistencePolicy_wt, 4, 0, "Data>>/App1_Setting/ABC::user4"}, + {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PersistencePolicy_wc, 0, 0, "Data>>/App1_SettingD"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PersistencePolicy_wc, 2, 1, "Data>>/App1_SettingE::user2:seat1"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PersistencePolicy_wc, 2, 2, "Data>>/App1_SettingE::user2:seat2"}, + {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PersistencePolicy_wc, 0, 0, "Data>>/App1_SettingF"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/App1_Setting/DEF::user1"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PersistencePolicy_wc, 2, 0, "Data>>/App1_Setting/DEF::user2"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/App1_Setting/DEF::user3"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/App1_Setting/DEF::user4"} +} ; + +static entryDataInit_s dataFiles_App1_Init[] = +{ + {0xFF, PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>App1>>/doc1.txt"}, + {0xFF, PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>App1>>/Docs/doc2.txt"}, + {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", PersistencePolicy_wc, 1, 0, "File>>App1>>/docA.txt::user1"}, + {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", PersistencePolicy_wc, 2, 0, "File>>App1>>/docA.txt::user2"}, + {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", PersistencePolicy_wc, 3, 0, "File>>App1>>/docA.txt::user3"}, + {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", PersistencePolicy_wc, 4, 0, "File>>App1>>/docA.txt::user4"}, + {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>App1>>/docB.txt::user2:seat1"}, + {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>App1>>/docB.txt::user2:seat2"}, + {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>App1>>/docB.txt::user2:seat3"}, + {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>App1>>/docB.txt::user2:seat4"} +}; + + +static dataInit_s s_App1_DataInit = +{ + PERS_ORG_LOCAL_APP_WT_PATH_"App1/", + PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, + dbType_RCT, + PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, + dbType_local, + PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, + dbType_local, + RCT_App1_init, + sizeof(RCT_App1_init)/sizeof(RCT_App1_init[0]), + dataKeys_App1_Init, + sizeof(dataKeys_App1_Init)/sizeof(dataKeys_App1_Init[0]), + dataFiles_App1_Init, + sizeof(dataFiles_App1_Init)/sizeof(dataFiles_App1_Init[0]), + NIL, + NIL, + 0, + NIL, + NIL, + 0 +} ; + +/********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ +static entryRctInit_s RCT_App2_init[] = +{ + {"App2_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"},{NIL},{NIL}}}, + {"App2_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"},{NIL},{NIL}}}, + {"App2_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"},{NIL},{NIL}}}, + {"App2_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"},{NIL},{NIL}}}, + {"App2_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"},{NIL},{NIL}}}, + {"App2_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"},{NIL},{NIL}}}, + {"App2_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"},{NIL},{NIL}}}, + {"App2_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"},{NIL},{NIL}}}, + {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"},{NIL},{NIL}}}, + {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"},{NIL},{NIL}}}, + {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"},{NIL},{NIL}}}, + {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"},{NIL},{NIL}}} +} ; + +static entryDataInit_s dataKeys_App2_Init[] = +{ + {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PersistencePolicy_wt, 0, 0, "Data>>/App2_SettingA"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PersistencePolicy_wt, 2, 1, "Data>>/App2_SettingB::user2::seat1"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PersistencePolicy_wt, 2, 2, "Data>>/App2_SettingB::user2:seat2"}, + {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PersistencePolicy_wt, 0, 0, "Data>>/App2_SettingC"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PersistencePolicy_wt, 1, 0, "Data>>/App2_Setting/ABC::user1"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PersistencePolicy_wt, 2, 0, "Data>>/App2_Setting/ABC::user2"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PersistencePolicy_wt, 3, 0, "Data>>/App2_Setting/ABC::user3"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PersistencePolicy_wt, 4, 0, "Data>>/App2_Setting/ABC::user4"}, + {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PersistencePolicy_wc, 0, 0, "Data>>/App2_SettingD"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PersistencePolicy_wc, 2, 1, "Data>>/App2_SettingE::user2:seat1"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PersistencePolicy_wc, 2, 2, "Data>>/App2_SettingE::user2:seat2"}, + {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PersistencePolicy_wc, 0, 0, "Data>>/App2_SettingF"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/App2_Setting/DEF::user1"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PersistencePolicy_wc, 2, 0, "Data>>/App2_Setting/DEF::user2"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/App2_Setting/DEF::user3"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/App2_Setting/DEF::user4"} +} ; + +static entryDataInit_s dataFiles_App2_Init[] = +{ + {0xFF, PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>App2>>/doc1.txt"}, + {0xFF, PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>App2>>/Docs/doc2.txt"}, + {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", PersistencePolicy_wc, 1, 0, "File>>App2>>/docA.txt::user1"}, + {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", PersistencePolicy_wc, 2, 0, "File>>App2>>/docA.txt::user2"}, + {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", PersistencePolicy_wc, 3, 0, "File>>App2>>/docA.txt::user3"}, + {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", PersistencePolicy_wc, 4, 0, "File>>App2>>/docA.txt::user4"}, + {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>App2>>/docB.txt::user2:seat1"}, + {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>App2>>/docB.txt::user2:seat2"}, + {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>App2>>/docB.txt::user2:seat3"}, + {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>App2>>/docB.txt::user2:seat4"} +}; + + +static dataInit_s s_App2_DataInit = +{ + PERS_ORG_LOCAL_APP_WT_PATH_"App2/", + PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_RCT_NAME, + dbType_RCT, + PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, + dbType_local, + PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, + dbType_local, + RCT_App2_init, + sizeof(RCT_App2_init)/sizeof(RCT_App2_init[0]), + dataKeys_App2_Init, + sizeof(dataKeys_App2_Init)/sizeof(dataKeys_App2_Init[0]), + dataFiles_App2_Init, + sizeof(dataFiles_App2_Init)/sizeof(dataFiles_App2_Init[0]), + NIL, + NIL, + 0, + NIL, + NIL, + 0 +} ; + + + +#if 0 +expected_key_data_localDB_s expectedKeyDataAfterExportAll[] = +{ + /* add here ... */ +}; +expected_file_data_s expectedFileDataAfterExportAll[] = +{ + /* add here ... */ +} +#endif + +/************************************************************************************************************** +***************************************** ADD TEST CASES HERE ******************************************** +**************************************************************************************************************/ + +testcase_s tc_testDataAfterReset = +{ + Test_DataAfterReset, + 0, + NIL, + "Check reference data structure after initialization", + expectedKeyData_shared_public_RCT_AfterReset, + sizeof(expectedKeyData_shared_public_RCT_AfterReset)/sizeof(expectedKeyData_shared_public_RCT_AfterReset[0]), + expectedKeyData_shared_public_localDB_AfterReset, + sizeof(expectedKeyData_shared_public_localDB_AfterReset)/sizeof(expectedKeyData_shared_public_localDB_AfterReset[0]), + expectedFileData_shared_public_AfterReset, + sizeof(expectedFileData_shared_public_AfterReset)/sizeof(expectedFileData_shared_public_AfterReset[0]) +}; + +testcase_s tc_testResourceConfigAdd_public = +{ + Test_ResourceConfigAdd_1, + 0, + NIL, + "Resource Config Add : Configure public", + expected_RCT_public, + sizeof(expected_RCT_public)/sizeof(expected_RCT_public[0]), + expectedKeyData_public, + sizeof(expectedKeyData_public)/sizeof(expectedKeyData_public[0]), + expectedFileData_public, + sizeof(expectedFileData_public)/sizeof(expectedFileData_public[0]), + false +}; + +testcase_s tc_testResourceConfigAdd_group_10 = +{ + NIL, //skip it + 0, + NIL, + "Resource Config Add : Configure group 10", + expected_RCT_group_10, + sizeof(expected_RCT_group_10)/sizeof(expected_RCT_group_10[0]), + expectedKeyData_group_10, + sizeof(expectedKeyData_group_10)/sizeof(expectedKeyData_group_10[0]), + expectedFileData_group_10, + sizeof(expectedFileData_group_10)/sizeof(expectedFileData_group_10[0]), + true //skip data reset +}; + +testcase_s tc_testResourceConfigAdd_group_20 = +{ + NIL, //skip it + 0, + NIL, + "Resource Config Add : Configure group 20", + expected_RCT_group_20, + sizeof(expected_RCT_group_20)/sizeof(expected_RCT_group_20[0]), + expectedKeyData_group_20, + sizeof(expectedKeyData_group_20)/sizeof(expectedKeyData_group_20[0]), + expectedFileData_group_20, + sizeof(expectedFileData_group_20)/sizeof(expectedFileData_group_20[0]), + true //skip data reset +}; + +testcase_s tc_testResourceConfigAdd_group_30 = +{ + NIL, //skip it + 0, + NIL, + "Resource Config Add : Configure new group 30", + expected_RCT_group_30, + sizeof(expected_RCT_group_30)/sizeof(expected_RCT_group_30[0]), + expectedKeyData_group_30, + sizeof(expectedKeyData_group_30)/sizeof(expectedKeyData_group_30[0]), + expectedFileData_group_30, + sizeof(expectedFileData_group_30)/sizeof(expectedFileData_group_30[0]), + true //skip data reset +}; + +testcase_s tc_testResourceConfigAdd_App30 = +{ + NIL, //skip it + 0, + NIL, + "Resource Config Add : Configure new App30", + expected_RCT_App30_Phase_1, + sizeof(expected_RCT_App30_Phase_1)/sizeof(expected_RCT_App30_Phase_1[0]), + expectedKeyData_App30_Phase_1, + sizeof(expectedKeyData_App30_Phase_1)/sizeof(expectedKeyData_App30_Phase_1[0]), + expectedFileData_App30_Phase_1, + sizeof(expectedFileData_App30_Phase_1)/sizeof(expectedFileData_App30_Phase_1[0]), + true //skip data reset +}; + +testcase_s tc_testResourceConfigAdd_public_phase_2 = +{ + Test_ResourceConfigAdd_2, + 0, + NIL, + "Resource Config Add : Configure public - Phase 2", + expected_RCT_public, + sizeof(expected_RCT_public)/sizeof(expected_RCT_public[0]), + expectedKeyData_public_phase2, + sizeof(expectedKeyData_public_phase2)/sizeof(expectedKeyData_public_phase2[0]), + expectedFileData_public_phase2, + sizeof(expectedFileData_public_phase2)/sizeof(expectedFileData_public_phase2[0]), + true //skip data reset +}; + +testcase_s tc_testDataAfterDeleteUser2Data = +{ + Test_DataAfterDeleteUser2Data, + 0, + NIL, + "Check user data delete for user 2 data", + NIL, + 0, + expectedKeyData_shared_public_localDB_AfterDeleteUser2Data, + sizeof(expectedKeyData_shared_public_localDB_AfterDeleteUser2Data)/sizeof(expectedKeyData_shared_public_localDB_AfterDeleteUser2Data[0]), + expectedFileData_shared_public_AfterDeleteUser2Data, + sizeof(expectedFileData_shared_public_AfterDeleteUser2Data)/sizeof(expectedFileData_shared_public_AfterDeleteUser2Data[0]), + false +}; + +testcase_s tc_testDataAfterBackupCreateAll = +{ + Test_DataAfterBackupCreateAll, + 0, + NIL, + "Check data backup create all", + NIL, + 0, + expectedKeyData_shared_public_localDB_AfterBackupCreateAll, + sizeof(expectedKeyData_shared_public_localDB_AfterBackupCreateAll)/sizeof(expectedKeyData_shared_public_localDB_AfterBackupCreateAll[0]), + expectedFileData_shared_public_AfterBackupCreateAll, + sizeof(expectedFileData_shared_public_AfterBackupCreateAll)/sizeof(expectedFileData_shared_public_AfterBackupCreateAll[0]), + false +}; + +testcase_s tc_testDataAfterBackupCreateApplication = +{ + Test_DataAfterBackupCreateApplication, + 0, + NIL, + "Check data backup create application", + NIL, + 0, + expectedKeyData_shared_public_localDB_AfterBackupApplication, + sizeof(expectedKeyData_shared_public_localDB_AfterBackupApplication)/sizeof(expectedKeyData_shared_public_localDB_AfterBackupApplication[0]), + expectedFileData_shared_public_AfterBackupApplication, + sizeof(expectedFileData_shared_public_AfterBackupApplication)/sizeof(expectedFileData_shared_public_AfterBackupApplication[0]), + false +}; + +testcase_s tc_testDataAfterBackupCreateUserAll = +{ + Test_DataAfterBackupCreateUserAll, + 0, + NIL, + "Check data backup create user all", + NIL, + 0, + expectedKeyData_shared_public_localDB_AfterBackupUserAll, + sizeof(expectedKeyData_shared_public_localDB_AfterBackupUserAll)/sizeof(expectedKeyData_shared_public_localDB_AfterBackupUserAll[0]), + expectedFileData_shared_public_AfterBackupUserAll, + sizeof(expectedFileData_shared_public_AfterBackupUserAll)/sizeof(expectedFileData_shared_public_AfterBackupUserAll[0]), + false +}; + +testcase_s tc_testDataAfterBackupCreateUser2SeatAll = +{ + Test_DataAfterBackupCreateUser2SeatAll, + 0, + NIL, + "Check data backup create user 2 seat all", + NIL, + 0, + expectedKeyData_shared_public_localDB_AfterBackupUser2SeatAll, + sizeof(expectedKeyData_shared_public_localDB_AfterBackupUser2SeatAll)/sizeof(expectedKeyData_shared_public_localDB_AfterBackupUser2SeatAll[0]), + expectedFileData_shared_public_AfterBackupUser2SeatAll, + sizeof(expectedFileData_shared_public_AfterBackupUser2SeatAll)/sizeof(expectedFileData_shared_public_AfterBackupUser2SeatAll[0]), + false +}; + +testcase_s tc_test_Recover_App1 = +{ + Test_Recover_App1, + 0, + NIL, + "Check reference data structure after App1 recovery", + NIL, + 0, + expected_key_data_after_restore_App1, + sizeof(expected_key_data_after_restore_App1)/sizeof(expected_key_data_after_restore_App1[0]), + expected_file_data_after_restore_App1, + sizeof(expected_file_data_after_restore_App1)/sizeof(expected_file_data_after_restore_App1[0]), + false +}; + +testcase_s tc_test_Recover_User1 = +{ + Test_Recover_User1, + 0, + NIL, + "Check reference data structure after User1 recovery", + NIL, + 0, + expected_App1_key_data_after_restore_User1, + sizeof(expected_App1_key_data_after_restore_User1)/sizeof(expected_App1_key_data_after_restore_User1[0]), + expected_App1_file_data_after_restore_User1, + sizeof(expected_App1_file_data_after_restore_User1)/sizeof(expected_App1_file_data_after_restore_User1[0]), + false +}; + +testcase_s tc_test_Recover_All = +{ + Test_Recover_All, + 0, + NIL, + "Check reference data structure after All recovery", + NIL, + 0, + expected_key_data_after_restore_All, + sizeof(expected_key_data_after_restore_All)/sizeof(expected_key_data_after_restore_All[0]), + expected_file_data_after_restore_All, + sizeof(expected_file_data_after_restore_All)/sizeof(expected_file_data_after_restore_All[0]), + false +}; + +testcase_s tc_test_Recover_Users = +{ + Test_Recover_Users, + 0, + NIL, + "Check reference data structure after All recovery", + NIL, + 0, + expected_key_data_after_restore_Users, + sizeof(expected_key_data_after_restore_Users)/sizeof(expected_key_data_after_restore_Users[0]), + expected_file_data_after_restore_Users, + sizeof(expected_file_data_after_restore_Users)/sizeof(expected_file_data_after_restore_Users[0]), + false +}; + +testcase_s tc_test_Recover_All_InitialContent = +{ + Test_Recover_All_InitialContent, + 0, + NIL, + "Check reference data structure after All InitialContent recovery", + NIL, + 0, + expected_key_data_after_restore_All_InitialContent, + sizeof(expected_key_data_after_restore_All_InitialContent)/sizeof(expected_key_data_after_restore_All_InitialContent[0]), + expected_file_data_after_restore_All_InitialContent, + sizeof(expected_file_data_after_restore_All_InitialContent)/sizeof(expected_file_data_after_restore_All_InitialContent[0]), + false +}; + +testcase_s tc_test_Recover_App1_InitialContent_From_All = +{ + Test_Recover_App1_InitialContent_From_All, + 0, + NIL, + "Check reference data structure after App1 InitialContent recovery from All", + NIL, + 0, + expected_key_data_after_restore_App1_InitialContent, + sizeof(expected_key_data_after_restore_App1_InitialContent)/sizeof(expected_key_data_after_restore_App1_InitialContent[0]), + expected_file_data_after_restore_App1_InitialContent, + sizeof(expected_file_data_after_restore_App1_InitialContent)/sizeof(expected_file_data_after_restore_App1_InitialContent[0]), + false +}; + +testcase_s tc_test_Recover_App1_InitialContent_From_App1 = +{ + Test_Recover_App1_InitialContent_From_App1, + 0, + NIL, + "Check reference data structure after App1 InitialContent recovery from App1", + NIL, + 0, + expected_key_data_after_restore_App1_InitialContent, + sizeof(expected_key_data_after_restore_App1_InitialContent)/sizeof(expected_key_data_after_restore_App1_InitialContent[0]), + expected_file_data_after_restore_App1_InitialContent, + sizeof(expected_file_data_after_restore_App1_InitialContent)/sizeof(expected_file_data_after_restore_App1_InitialContent[0]), + false +}; + +testcase_s tc_test_Recover_User1_InitialContent_From_All = +{ + Test_Recover_User1_InitialContent_From_All, + 0, + NIL, + "Check reference data structure after User1 InitialContent recovery from All", + NIL, + 0, + expected_key_data_after_restore_User1_InitialContent, + sizeof(expected_key_data_after_restore_User1_InitialContent)/sizeof(expected_key_data_after_restore_User1_InitialContent[0]), + expected_file_data_after_restore_User1_InitialContent, + sizeof(expected_file_data_after_restore_User1_InitialContent)/sizeof(expected_file_data_after_restore_User1_InitialContent[0]), + false +}; + +testcase_s tc_test_Recover_User1_InitialContent_From_User1 = +{ + Test_Recover_User1_InitialContent_From_User1, + 0, + NIL, + "Check reference data structure after User1 InitialContent recovery from User1", + NIL, + 0, + expected_key_data_after_restore_User1_InitialContent, + sizeof(expected_key_data_after_restore_User1_InitialContent)/sizeof(expected_key_data_after_restore_User1_InitialContent[0]), + expected_file_data_after_restore_User1_InitialContent, + sizeof(expected_file_data_after_restore_User1_InitialContent)/sizeof(expected_file_data_after_restore_User1_InitialContent[0]), + false +}; + +testcase_s tc_test_Recover_User2_Seat1_InitialContent_From_All = +{ + Test_Recover_User2_Seat1_InitialContent_From_All, + 0, + NIL, + "Check reference data structure after User2 Seat1 InitialContent recovery from All", + NIL, + 0, + expected_key_data_after_restore_User2_Seat1_InitialContent, + sizeof(expected_key_data_after_restore_User2_Seat1_InitialContent)/sizeof(expected_key_data_after_restore_User2_Seat1_InitialContent[0]), + expected_file_data_after_restore_User2_Seat1_InitialContent, + sizeof(expected_file_data_after_restore_User2_Seat1_InitialContent)/sizeof(expected_file_data_after_restore_User2_Seat1_InitialContent[0]), + false +}; + +testcase_s tc_test_Recover_User2_Seat1_InitialContent_From_User2_Seat1 = +{ + Test_Recover_User2_Seat1_InitialContent_From_User2_Seat1, + 0, + NIL, + "Check reference data structure after User2 Seat1 InitialContent recovery from User2 Seat1", + NIL, + 0, + expected_key_data_after_restore_User2_Seat1_InitialContent, + sizeof(expected_key_data_after_restore_User2_Seat1_InitialContent)/sizeof(expected_key_data_after_restore_User2_Seat1_InitialContent[0]), + expected_file_data_after_restore_User2_Seat1_InitialContent, + sizeof(expected_file_data_after_restore_User2_Seat1_InitialContent)/sizeof(expected_file_data_after_restore_User2_Seat1_InitialContent[0]), + false +}; + +testcase_s tc_test_Restore_Factory_Default_App1 = +{ + Test_Restore_Factory_Default_App1, + 0, + NIL, + "Check reference data structure after restore to factory default of App1", + NIL, + 0, + expected_key_data_after_restore_default_App1, + sizeof(expected_key_data_after_restore_default_App1)/sizeof(expected_key_data_after_restore_default_App1[0]), + expected_file_data_after_restore_default_App1, + sizeof(expected_file_data_after_restore_default_App1)/sizeof(expected_file_data_after_restore_default_App1[0]), + false +}; + +testcase_s tc_test_Restore_Configurable_Default_App1 = +{ + Test_Restore_Configurable_Default_App1, + 0, + NIL, + "Check reference data structure after restore to configurable default of App1", + NIL, + 0, + expected_key_data_after_restore_default_App1, + sizeof(expected_key_data_after_restore_default_App1)/sizeof(expected_key_data_after_restore_default_App1[0]), + expected_file_data_after_restore_default_App1, + sizeof(expected_file_data_after_restore_default_App1)/sizeof(expected_file_data_after_restore_default_App1[0]), + false +}; + +testcase_s tc_test_Restore_Configurable_Default_User1 = +{ + Test_Restore_Configurable_Default_User1, + 0, + NIL, + "Check reference data structure after restore to configurable default of User1", + NIL, + 0, + expected_key_data_after_restore_default_User1, + sizeof(expected_key_data_after_restore_default_User1)/sizeof(expected_key_data_after_restore_default_User1[0]), + expected_file_data_after_restore_default_User1, + sizeof(expected_file_data_after_restore_default_User1)/sizeof(expected_file_data_after_restore_default_User1[0]), + false +}; + +testcase_s tc_test_Restore_Configurable_Default_User2Seat1 = +{ + Test_Restore_Configurable_Default_User2Seat1, + 0, + NIL, + "Check reference data structure after restore to configurable default of User2 Seat1", + NIL, + 0, + expected_key_data_after_restore_default_User2Seat1, + sizeof(expected_key_data_after_restore_default_User2Seat1)/sizeof(expected_key_data_after_restore_default_User2Seat1[0]), + expected_file_data_after_restore_default_User2Seat1, + sizeof(expected_file_data_after_restore_default_User2Seat1)/sizeof(expected_file_data_after_restore_default_User2Seat1[0]), + false +}; + +testcase_s tc_test_Restore_Configurable_Default_User2App1 = +{ + Test_Restore_Configurable_Default_User2App1, + 0, + NIL, + "Check reference data structure after restore to configurable default of User2 App1", + NIL, + 0, + expected_key_data_after_restore_default_User2App1, + sizeof(expected_key_data_after_restore_default_User2App1)/sizeof(expected_key_data_after_restore_default_User2App1[0]), + expected_file_data_after_restore_default_User2App1, + sizeof(expected_file_data_after_restore_default_User2App1)/sizeof(expected_file_data_after_restore_default_User2App1[0]), + false +}; + +testcase_s tc_test_Restore_Factory_Default_All = +{ + Test_Restore_Factory_Default_All, + 0, + NIL, + "Check reference data structure after restore to factory default All content", + NIL, + 0, + expected_key_data_after_restore_default_All, + sizeof(expected_key_data_after_restore_default_All)/sizeof(expected_key_data_after_restore_default_All[0]), + expected_file_data_after_restore_default_All, + sizeof(expected_file_data_after_restore_default_All)/sizeof(expected_file_data_after_restore_default_All[0]), + false +}; + +testcase_s tc_test_Restore_Configurable_Default_All = +{ + Test_Restore_Configurable_Default_All, + 0, + NIL, + "Check reference data structure after restore to configurable default All content", + NIL, + 0, + expected_key_data_after_restore_default_All, + sizeof(expected_key_data_after_restore_default_All)/sizeof(expected_key_data_after_restore_default_All[0]), + expected_file_data_after_restore_default_All, + sizeof(expected_file_data_after_restore_default_All)/sizeof(expected_file_data_after_restore_default_All[0]), + false +}; + + +testcase_s tc_testImportApp = +{ + Test_import_all_app, + 0, + NIL, + "Import all _ app", + NIL, + 0, + expected_key_data_after_import_app_all, + sizeof(expected_key_data_after_import_app_all)/sizeof(expected_key_data_after_import_app_all[0]), + expected_file_data_after_import_app_all, + sizeof(expected_file_data_after_import_app_all)/sizeof(expected_file_data_after_import_app_all[0]), + false +}; + +testcase_s tc_testImportAll = +{ + Test_import_all_all, + 0, + NIL, + "Import all _ all", + NIL, + 0, + expected_key_data_after_import_all_all, + sizeof(expected_key_data_after_import_all_all)/sizeof(expected_key_data_after_import_all_all[0]), + expected_file_data_after_import_all_all, + sizeof(expected_file_data_after_import_all_all)/sizeof(expected_file_data_after_import_all_all[0]), + false +}; + +testcase_s tc_testImportUser = +{ + Test_import_all_user, + 0, + NIL, + "Import all _ user", + NIL, + 0, + expected_key_data_after_import_all_user, + sizeof(expected_key_data_after_import_all_user)/sizeof(expected_key_data_after_import_all_user[0]), + expected_file_data_after_import_all_user, + sizeof(expected_file_data_after_import_all_user)/sizeof(expected_file_data_after_import_all_user[0]), + false +}; + + + + +/************************************************************************************************************** +***************************************** ADD TEST CASES HERE ******************************************** +**************************************************************************************************************/ + +testcase_s* testCases[] = +{ + /* add here test cases */ + + /* ResourceConfigAdd */ + /* don't change the order - start */ + &tc_testResourceConfigAdd_public + ,&tc_testResourceConfigAdd_group_10 + ,&tc_testResourceConfigAdd_group_20 + ,&tc_testResourceConfigAdd_group_30 + ,&tc_testResourceConfigAdd_App30 + ,&tc_testResourceConfigAdd_public_phase_2 + /* don't change the order - end */ + + + /* Delete */ + ,&tc_testDataAfterDeleteUser2Data + + /* Backup */ + ,&tc_testDataAfterBackupCreateAll + ,&tc_testDataAfterBackupCreateApplication + ,&tc_testDataAfterBackupCreateUserAll + ,&tc_testDataAfterBackupCreateUser2SeatAll + + /* Recovery */ + ,&tc_test_Recover_App1 + ,&tc_test_Recover_User1 + ,&tc_test_Recover_All + ,&tc_test_Recover_Users + ,&tc_test_Recover_All_InitialContent + ,&tc_test_Recover_App1_InitialContent_From_All + ,&tc_test_Recover_App1_InitialContent_From_App1 + ,&tc_test_Recover_User1_InitialContent_From_All + ,&tc_test_Recover_User1_InitialContent_From_User1 + ,&tc_test_Recover_User2_Seat1_InitialContent_From_All + ,&tc_test_Recover_User2_Seat1_InitialContent_From_User2_Seat1 + + /* Restore default */ + ,&tc_test_Restore_Factory_Default_App1 + ,&tc_test_Restore_Configurable_Default_App1 + ,&tc_test_Restore_Configurable_Default_User1 + ,&tc_test_Restore_Factory_Default_All + ,&tc_test_Restore_Configurable_Default_All + ,&tc_test_Restore_Configurable_Default_User2Seat1 + ,&tc_test_Restore_Configurable_Default_User2App1 + + /* Import */ + ,&tc_testImportApp + ,&tc_testImportAll + ,&tc_testImportUser +} ; + + + +/********************************************************************************************************************************************** + *********************************************************************************************************************************************/ + + + +typedef struct +{ + void* dbHandle ; + pstr_t dbPath ; + dbType_e dbType ; +}db_handle_s; + + + +static bool_t ResetReferenceData(void) ; +static bool_t CreateFileWithData(pstr_t filePath, pstr_t data, sint_t dataSize) ; +static bool_t ExecuteTestCase(testcase_s* psTestCase) ; + +static sint_t persadmin_serialize_data(PersistenceConfigurationKey_s pc, char* buffer) ; + +static bool_t CreateFileWithData(pstr_t filePath, pstr_t data, sint_t dataSize) +{ + bool_t bEverythingOK = true ; + str_t folderPath[256] ; + + if((NIL == filePath) || (NIL == data) || (dataSize < 0)) + { + bEverythingOK = false ; + } + + if(bEverythingOK) + { + sint_t result = persadmin_get_folder_path(filePath, folderPath, sizeof(folderPath)) ; + if(result >= 0) + { + result = persadmin_create_folder(folderPath) ; + if(result < 0) + { + bEverythingOK = false ; + } + } + } + + if(bEverythingOK) + { + FILE *pFile = fopen(filePath, "wb") ; + if(NIL != pFile) + { + if(dataSize != fwrite (data , 1 , dataSize , pFile )) + { + bEverythingOK = false ; + } + fclose (pFile); + } + else + { + bEverythingOK = false ; + } + } + + return bEverythingOK ; +} + +bool_t InitDataFolder(dataInit_s* psDataInit) +{ + bool_t bEverythingOK = true ; + sint_t i = 0 ; + + if(0 > persadmin_create_folder(psDataInit->installFolderPath)) + { + bEverythingOK = false ; + } + #if 0 + else + { + str_t buffer[1] ; + if(! CreateFileWithData(psDataInit->RCT_pathname, buffer, 0)) + { + bEverythingOK = false ; + } + } + #endif + + if(bEverythingOK) + { + if( (NIL != psDataInit->RctInitTab) + && (NIL != psDataInit->RCT_pathname) + && (psDataInit->RctDBtype) + ) + { + sint_t rctHandler = persComRctOpen(psDataInit->RCT_pathname, true) ; + if(rctHandler >= 0) + { + for(i = 0 ; i < psDataInit->noEntriesRctInitTab ; i++) + { + str_t buffer[64] ; + persadmin_serialize_data(psDataInit->RctInitTab[i].sRctEntry, buffer) ; + psDataInit->RctInitTab[i].sRctEntry.type = + psDataInit->RctInitTab[i].bIsKey ? PersistenceResourceType_key : PersistenceResourceType_file ; + + if(0 > persComRctWrite(rctHandler, psDataInit->RctInitTab[i].resourceID, &psDataInit->RctInitTab[i].sRctEntry)) + { + bEverythingOK = false ; + sprintf(g_msg, "persComRctWrite(<%s> <%s> <%s>) FAILED", psDataInit->RCT_pathname, psDataInit->RctInitTab[i].resourceID, buffer) ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + break ; + } + else + { + sprintf(g_msg, "persComRctWrite(<%s> <%s> <%s> type=%d) done", + psDataInit->RCT_pathname, psDataInit->RctInitTab[i].resourceID, buffer, psDataInit->RctInitTab[i].sRctEntry.type) ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + } + } + persComRctClose(rctHandler) ; + } + else + { + bEverythingOK = false ; + sprintf(g_msg, "persComRctOpen(<<%s>>, true) FAILED", psDataInit->RCT_pathname) ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_ERROR, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + } + } + } + + if(bEverythingOK) + { + if(NIL != psDataInit->dataKeysInitTab) + { + sint_t wcDbHandler = persComDbOpen(psDataInit->wcDBpathname, true) ; + sint_t wtDbHandler = persComDbOpen(psDataInit->wtDBpathname, true) ; + sprintf(g_msg, "InitDataFolder: wcDbHandler=<%d> wtDbHandler=<%d>", wcDbHandler, wtDbHandler) ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + for(i = 0 ; i < psDataInit->noEntriesDataKeysInitTab; i++) + { + pstr_t dbPath = ( PersistencePolicy_wc == psDataInit->dataKeysInitTab[i].policy) ? psDataInit->wcDBpathname : psDataInit->wtDBpathname ; + sint_t dbHandler = ( PersistencePolicy_wc == psDataInit->dataKeysInitTab[i].policy) ? wcDbHandler : wtDbHandler ; + if((dbHandler >= 0) && (psDataInit->dataKeysInitTab[i].data)) + { + + if(0 > persComDbWriteKey(dbHandler, psDataInit->dataKeysInitTab[i].resourceID, psDataInit->dataKeysInitTab[i].data, (strlen(psDataInit->dataKeysInitTab[i].data)+1))) + { + bEverythingOK = false ; + sprintf(g_msg, "persComDbWriteKey(<%s> <%s> %d) FAILED", dbPath, psDataInit->dataKeysInitTab[i].resourceID, (strlen(psDataInit->dataKeysInitTab[i].data)+1)) ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + break ; + } + else + { + sprintf(g_msg, "persComDbWriteKey(<%s> <%s> %d) done", dbPath, psDataInit->dataKeysInitTab[i].resourceID, (strlen(psDataInit->dataKeysInitTab[i].data)+1)) ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + } + } + } + persComDbClose(wcDbHandler) ; + persComDbClose(wtDbHandler) ; + } + } + + if(bEverythingOK) + { + if(NIL != psDataInit->dataFilesInitTab) + { + for(i = 0 ; i < psDataInit->noEntriesDataFilesInitTab; i++) + { + sprintf(g_msg, "CreateFileWithData(%s)...", psDataInit->dataFilesInitTab[i].resourceID) ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + if(!CreateFileWithData(psDataInit->dataFilesInitTab[i].resourceID, psDataInit->dataFilesInitTab[i].data, (strlen(psDataInit->dataFilesInitTab[i].data)+1))) + { + bEverythingOK = false ; + sprintf(g_msg, "CreateFileWithData(%s) FAILED", psDataInit->dataFilesInitTab[i].resourceID) ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + break ; + } + } + } + } + + if(bEverythingOK) + { + typedef struct + { + pstr_t dbPathname ; + defaultDataInit_s* psDefaultData ; + sint_t iNoOfEntries ; + }defaultDataInfo_s ; + + defaultDataInfo_s sDefaultDataTab[] = + { + {psDataInit->factoryDefaultDBpathname, psDataInit->factoryDefaultInitTab, psDataInit->noEntriesFactoryDefaultInitTab}, + {psDataInit->configurableDefaultDBpathname, psDataInit->configurableDefaultInitTab, psDataInit->noEntriesConfigurableDefaultInitTab} + }; + + for(i = 0 ; i < sizeof(sDefaultDataTab)/sizeof(sDefaultDataTab[0]) ; i++) + { + if( (NIL != sDefaultDataTab[i].dbPathname) && (NIL != sDefaultDataTab[i].psDefaultData)) + { + sint_t hDefaultDB = persComDbOpen(sDefaultDataTab[i].dbPathname, true) ; + if(hDefaultDB >= 0) + { + sint_t j = 0 ; + for(j = 0 ; j < sDefaultDataTab[i].iNoOfEntries ; j++) + { + if(0 > persComDbWriteKey(hDefaultDB, sDefaultDataTab[i].psDefaultData[j].pResourceID, + sDefaultDataTab[i].psDefaultData[j].data, (strlen(sDefaultDataTab[i].psDefaultData[j].data)+1))) + { + bEverythingOK = false ; + sprintf(g_msg, "persComDbWriteKey(<%s> <%s> %d) FAILED", + sDefaultDataTab[i].dbPathname, sDefaultDataTab[i].psDefaultData[j].pResourceID, (strlen(sDefaultDataTab[i].psDefaultData[j].data)+1)) ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + break ; + } + else + { + sprintf(g_msg, "persComDbWriteKey(<%s> <%s> %d) done", + sDefaultDataTab[i].dbPathname, sDefaultDataTab[i].psDefaultData[j].pResourceID, (strlen(sDefaultDataTab[i].psDefaultData[j].data)+1)) ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + } + } + + persComDbClose(hDefaultDB) ; + } + else + { + bEverythingOK = false ; + sprintf(g_msg, "InitDataFolder: persComDbOpen(%s) failed", sDefaultDataTab[i].dbPathname) ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + } + } + } + + } + + + return bEverythingOK ; +} + +sint_t DeleteFolderContent(pstr_t folderPath) +{ + bool_t bEverythingOK = true ; + sint_t bytesDeleted = 0 ; + pstr_t listingBuffer = NIL ; + + sint_t neededBufferSize = persadmin_list_folder_get_size(folderPath, PersadminFilterAll, false) ; + if(neededBufferSize > 0) + { + listingBuffer = (pstr_t)malloc(neededBufferSize) ; + if(NIL != listingBuffer) + { + if(neededBufferSize != persadmin_list_folder(folderPath, listingBuffer, neededBufferSize, PersadminFilterAll, false)) + { + bEverythingOK = false ; + } + } + else + { + bEverythingOK = false ; + } + } + + if(bEverythingOK) + { + str_t completePath[256] ; + sint_t posInBuffer = 0 ; + sint_t posRelativePath ; + strcpy(completePath, folderPath) ; + posRelativePath = strlen(completePath) ; + if('/' != completePath[posRelativePath-1]) + { + strcat(completePath, "/") ; + posRelativePath = strlen(completePath) ; + } + while(posInBuffer < neededBufferSize) + { + sint_t len = strlen(listingBuffer + posInBuffer) ; + sint_t bytesDeletedLocal = -1 ; + strcpy(completePath + posRelativePath, listingBuffer + posInBuffer) ; + if(0 == persadmin_check_if_file_exists(completePath, true)) + { + bytesDeletedLocal = persadmin_delete_folder(completePath) ; + } + else + { + if(0 == persadmin_check_if_file_exists(completePath, false)) + { + bytesDeletedLocal = persadmin_delete_file(completePath) ; + } + else + { + bEverythingOK = false ; + } + } + if(bytesDeletedLocal >= 0) + { + bytesDeleted += bytesDeletedLocal ; + } + else + { + bEverythingOK = false ; + } + posInBuffer += (len + 1) ; + } + } + + if(NIL != listingBuffer) + { + free(listingBuffer) ; + } + + return bEverythingOK ? bytesDeleted : (-1) ; +} + + +sint_t DeleteFolder(pstr_t folderPath) +{ + sint_t bytesDeleted; + + bytesDeleted = DeleteFolderContent(folderPath); + if(bytesDeleted < 0) + { + sprintf(g_msg, "DeleteFolderContent(%s) returned %d", folderPath, bytesDeleted); + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_ERROR, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + return bytesDeleted; + } + + if(0 == remove(folderPath)) + { + (void)snprintf(g_msg, sizeof(g_msg), "deleted >>%s<<", folderPath) ; + } + else + { + (void)snprintf(g_msg, sizeof(g_msg), "DeleteFolder: remove(%s) errno=<%s>", folderPath, strerror(errno)); + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_ERROR, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + } + + return bytesDeleted; +} + +sint_t CheckIfFileExists(pstr_t pathname, bool_t bIsFolder) +{ + bool_t bEverythingOK = true ; + if(NIL == pathname) + { + bEverythingOK = false ; + (void)snprintf(g_msg, sizeof(g_msg), "persadmin_check_if_file_exist: NIL pathname") ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_DEBUG, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + } + else + { + if('/' != pathname[0]) + { + bEverythingOK = false ; + (void)snprintf(g_msg, sizeof(g_msg), "persadmin_check_if_file_exist: not an absolute path(%s)", pathname) ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_DEBUG, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + } + } + + if(bEverythingOK) + { + struct stat sb; + + if (0 == lstat(pathname, &sb)) + { + /* pathname exist*/ + if(bIsFolder) + { + /* check if it is a foler */ + if( ! S_ISDIR(sb.st_mode)) + { + /* not a folder */ + bEverythingOK = false ; + } + } + else + { + /* check if it is a file */ + if(S_ISDIR(sb.st_mode)) + { + /* it is a folder */ + bEverythingOK = false ; + } + } + } + else + { + bEverythingOK = false ; + } + } + + return bEverythingOK ? 0 : PAS_FAILURE ; +} + +static bool_t ResetReferenceData(void) +{ + bool_t bEverythingOK = true ; + pstr_t referenceDataPath = PERS_ORG_LOCAL_APP_WT_PATH_ ; + + sint_t result = DeleteFolderContent(referenceDataPath) ; + sprintf(g_msg, "DeleteFolderContent(%s) returned %d", referenceDataPath, result) ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + if(result < 0) + { + bEverythingOK = false ; + } + + if(bEverythingOK) + { + dataInit_s* sDataInit[] = + { + &sSharedPubDataInit, + &sShared_Group10_DataInit, + &sShared_Group20_DataInit, + &s_App1_DataInit, + &s_App2_DataInit + }; + + sint_t i = 0 ; + for(i = 0 ; i < sizeof(sDataInit)/sizeof(sDataInit[0]) ; i++) + { + if(! InitDataFolder(sDataInit[i])) + { + bEverythingOK = false ; + } + } + } + + return bEverythingOK ; +} + + +static bool_t CheckExpectedDataKeyLocalDB(expected_key_data_localDB_s* pExpectedData) +{ + bool_t bEverythingOK = true ; + + str_t dataBuffer[256] ; + sint_t readSize = sizeof(dataBuffer) ; + + sint_t dbHandler = persComDbOpen(pExpectedData->dbPath, false) ; + if(dbHandler >= 0) + { + readSize = persComDbReadKey(dbHandler, pExpectedData->key, dataBuffer, sizeof(dataBuffer)) ; + persComDbClose(dbHandler) ; + + if(readSize >= 0) + { + sprintf(g_msg, "Found <%s> in %s :: size = %d data=<%s>", + pExpectedData->key, pExpectedData->dbPath, readSize, dataBuffer) ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + if(pExpectedData->bExpectedToExist) + { + if(readSize == pExpectedData->expectedDataSize) + { + if(0 == memcmp(dataBuffer, pExpectedData->expectedData, pExpectedData->expectedDataSize)) + { + sprintf(g_msg, "\t\t...as expected") ; + } + else + { + bEverythingOK = false ; + sprintf(g_msg, "\t\t...FAILURE - expected size = %d data=<%s>", pExpectedData->expectedDataSize, pExpectedData->expectedData) ; + } + } + else + { + bEverythingOK = false ; + sprintf(g_msg, "\t\t...FAILURE - expected size = %d data=<%s>", pExpectedData->expectedDataSize, pExpectedData->expectedData) ; + } + } + else + { + bEverythingOK = false ; + sprintf(g_msg, "\t\t...FAILURE - expected to not find key") ; + } + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + } + else + { + sprintf(g_msg, "Failed to find <%s> in %s", + pExpectedData->key, pExpectedData->dbPath) ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + if( ! pExpectedData->bExpectedToExist) + { + sprintf(g_msg, "\t\t...as expected") ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + } + else + { + bEverythingOK = false ; + sprintf(g_msg, "\t\t...FAILURE - expected size = %d data=<%s>", pExpectedData->expectedDataSize, pExpectedData->expectedData) ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + } + + } + } + else + { + sprintf(g_msg, "persComDbOpen(%s) returned <%d>", pExpectedData->dbPath, dbHandler) ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + bEverythingOK = false ; + } + + + return bEverythingOK ; +} + +/* copied here from PCL */ +static sint_t persadmin_serialize_data(PersistenceConfigurationKey_s pc, char* buffer) +{ + sint_t rval = 0; + rval = snprintf(buffer, 128, "%d %d %d %s", + pc.policy, pc.storage, pc.max_size, + pc.reponsible); + + //printf("persadmin_serialize_data: %s \n", buffer); + return rval; +} + + +static bool_t CheckExpectedDataKeyRCT(expected_key_data_RCT_s* pExpectedData) +{ + bool_t bEverythingOK = true ; + PersistenceConfigurationKey_s sFoundConfig ; + str_t serializedFound[256] ; + str_t serializedExpected[256] ; + + sint_t rctHandler = persComRctOpen(pExpectedData->dbPath, false); + if(rctHandler >= 0) + { + if(sizeof(PersistenceConfigurationKey_s) == persComRctRead(rctHandler, pExpectedData->key, &sFoundConfig)) + { + persadmin_serialize_data(sFoundConfig, serializedFound) ; + persadmin_serialize_data(pExpectedData->sExpectedConfig, serializedExpected) ; + sprintf(g_msg, "Found <%s> in %s :: config=<%s>", + pExpectedData->key, pExpectedData->dbPath, serializedFound) ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + if(pExpectedData->bExpectedToExist) + { + if(0 == strcmp(serializedFound, serializedExpected)) + { + sprintf(g_msg, "\t\t...as expected") ; + } + else + { + bEverythingOK = false ; + sprintf(g_msg, "\t\t...FAILURE - expected config=<%s>", serializedExpected) ; + } + } + else + { + bEverythingOK = false ; + sprintf(g_msg, "\t\t...FAILURE - expected to not find key") ; + } + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + } + else + { + sprintf(g_msg, "Failed to find <%s> in %s", + pExpectedData->key, pExpectedData->dbPath) ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + if( ! pExpectedData->bExpectedToExist) + { + sprintf(g_msg, "\t\t...as expected") ; + } + else + { + bEverythingOK = false ; + sprintf(g_msg, "\t\t...FAILURE - expected config=<%s>", serializedExpected) ; + } + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + } + + persComRctClose(rctHandler) ; + } + + return bEverythingOK ; +} + +static bool_t GetFileContent(pstr_t absPath, pstr_t dataBuffer_out, sint_t* pSize_inout) +{ + bool_t bEverythingOK = true ; + + FILE* pFile = fopen(absPath, "rb") ; + + if(NIL != pFile) + { + sint_t readSize = fread(dataBuffer_out, 1, *pSize_inout, pFile); + if( (readSize >= 0) && (readSize < *pSize_inout)) + { + *pSize_inout = readSize ; + } + else + { + if(readSize >= *pSize_inout) + { + bEverythingOK = false ; + sprintf(g_msg, "GetFileContent(%s) buffer too small (%d)", absPath, *pSize_inout) ; + } + else + { + bEverythingOK = false ; + } + } + + fclose(pFile) ; + } + + return bEverythingOK ; +} + +static bool_t CheckExpectedDataFile(expected_file_data_s* pExpectedData) +{ + bool_t bEverythingOK = true ; + + str_t dataBuffer[256] ; + sint_t size = sizeof(dataBuffer) ; + + if(0 <= persadmin_check_if_file_exists(pExpectedData->filename, false)) + { + /* file found */ + memset(dataBuffer, 0x0, sizeof(dataBuffer)) ; + if(GetFileContent(pExpectedData->filename, dataBuffer, &size)) + { + sprintf(g_msg, "Found <%s> :: size = %d data=<%s>", + pExpectedData->filename, size, dataBuffer) ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + if(pExpectedData->bExpectedToExist) + { + if(size == pExpectedData->expectedDataSize) + { + if(0 == memcmp(dataBuffer, pExpectedData->expectedData, pExpectedData->expectedDataSize)) + { + sprintf(g_msg, "\t\t...as expected") ; + } + else + { + bEverythingOK = false ; + sprintf(g_msg, "\t\t...FAILURE - expected size = %d data=<%s>", pExpectedData->expectedDataSize, pExpectedData->expectedData) ; + } + } + else + { + bEverythingOK = false ; + sprintf(g_msg, "\t\t...FAILURE - expected size = %d data=<%s>", pExpectedData->expectedDataSize, pExpectedData->expectedData) ; + } + } + else + { + bEverythingOK = false ; + sprintf(g_msg, "\t\t...FAILURE - expected to not find file") ; + } + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + } + else + { + bEverythingOK = false ; + sprintf(g_msg, "GetFileContent(%s) failed", pExpectedData->filename) ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + } + } + else + { + sprintf(g_msg, "Failed to find <%s>", pExpectedData->filename) ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + if( ! pExpectedData->bExpectedToExist) + { + sprintf(g_msg, "\t\t...as expected") ; + } + else + { + bEverythingOK = false ; + sprintf(g_msg, "\t\t...FAILURE - expected size = %d data=<%s>", pExpectedData->expectedDataSize, pExpectedData->expectedData) ; + } + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + } + + return bEverythingOK ; +} + + +static bool_t ExecuteTestCase(testcase_s* psTestCase) +{ + bool_t bTestResult = true ; + sprintf(g_msg, "ExecuteTestCase: %s", psTestCase->testCaseDescription) ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + + if( ! psTestCase->bSkipDataReset) + { + sprintf(g_msg, "First init reference data...") ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + if(ResetReferenceData()) + { + sprintf(g_msg, "ResetReferenceData - Done") ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + } + else + { + bTestResult = false ; + sprintf(g_msg, "ResetReferenceData - Failed") ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + } + } + else + { + sprintf(g_msg, "Skip ResetReferenceData") ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + } + + + if(bTestResult) + { + if(NIL != psTestCase->TestCaseFunction) + { + sprintf(g_msg, "Call test case function...") ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + bTestResult = psTestCase->TestCaseFunction(psTestCase->iParam, psTestCase->pvoidParam) ; + sprintf(g_msg, "Test case function returned with %s", bTestResult ? "SUCCESS" : "FAILURE") ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + } + else + { + sprintf(g_msg, "Skip calling test case function...") ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + } + } + + if(bTestResult) + { + sint_t i = 0 ; + sint_t noOfFailedTests = 0 ; + sint_t noOfSuccessfulTests = 0 ; + + sprintf(g_msg, "+++++++++++++++++++++ Check data key RCT START ... +++++++++++++++++++++++++++") ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + for(i = 0 ; i < psTestCase->noItemsInExpectedKeyDataRCT; i++) + { + if( ! CheckExpectedDataKeyRCT(&psTestCase->pExpectedKeyDataRCT[i])) + { + noOfFailedTests++ ; + bTestResult = false ; + } + else + { + noOfSuccessfulTests++ ; + } + } + sprintf(g_msg, "++++++++ Check data key RCT SUMMARY: tests ; %d executed %d success %d failed +++++++++++++", + noOfFailedTests + noOfSuccessfulTests, noOfSuccessfulTests, noOfFailedTests) ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + + noOfFailedTests = 0 ; + noOfSuccessfulTests = 0 ; + sprintf(g_msg, "+++++++++++++++++++++ Check data key localDB START ... +++++++++++++++++++++++++++") ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + for(i = 0 ; i < psTestCase->noItemsInExpectedKeyDataLocalDB ; i++) + { + if( ! CheckExpectedDataKeyLocalDB(&psTestCase->pExpectedKeyDataLocalDB[i])) + { + noOfFailedTests++ ; + bTestResult = false ; + } + else + { + noOfSuccessfulTests++ ; + } + } + sprintf(g_msg, "++++++++ Check data key localDB SUMMARY: tests ; %d executed %d success %d failed +++++++++++++", + noOfFailedTests + noOfSuccessfulTests, noOfSuccessfulTests, noOfFailedTests) ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + + noOfFailedTests = 0 ; + noOfSuccessfulTests = 0 ; + sprintf(g_msg, "+++++++++++++++++++++ Check data file START ... +++++++++++++++++++++++++++") ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + for(i = 0 ; i < psTestCase->noItemsInExpectedFileData; i++) + { + if( ! CheckExpectedDataFile(&psTestCase->pExpectedFileData[i])) + { + noOfFailedTests++ ; + bTestResult = false ; + } + else + { + noOfSuccessfulTests++ ; + } + } + sprintf(g_msg, "++++++++ Check data file SUMMARY: tests ; %d executed %d success %d failed +++++++++++++", + noOfFailedTests + noOfSuccessfulTests, noOfSuccessfulTests, noOfFailedTests) ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + } + + return bTestResult ; +} + + +bool_t ExecuteTestCases(sint_t *pNoOfTestCases, + sint_t *pNoOfTestCasesSuccessful, + sint_t *pNoOfTestCasesFailed ) +{ + bool_t bTestsResult = true ; + sint_t noOfTestCasesSuccessful = 0 ; + sint_t noOfTestCasesFailed = 0 ; + sint_t i = 0 ; + for(i = 0 ; i < sizeof(testCases)/sizeof(testCases[0]) ; i++) + { + bool_t bCurrentTestcaseResult = true ; + sprintf(g_msg, "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++") ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + sprintf(g_msg, "++++++++++++++++++++++++ Test Case No %d Started... +++++++++++++++++++++++++++++++++++++++", i) ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + sprintf(g_msg, "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++") ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + if(ExecuteTestCase(testCases[i])) + { + noOfTestCasesSuccessful++ ; + } + else + { + bCurrentTestcaseResult = false ; + noOfTestCasesFailed++ ; + bTestsResult = false ; + } + sprintf(g_msg, "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++") ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + sprintf(g_msg, "++++++++++++++++++++++++ Test Case No %d Completed %s +++++++++++++++++++++++++++++++++++++++", i, bCurrentTestcaseResult ? "OK" : "with EROORS") ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + sprintf(g_msg, "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++") ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + } + + sprintf(g_msg, "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++") ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + sprintf(g_msg, "++++++++ SUMMARY: Test cases <%d executed> <%d ok> <%d failed> ++++++++++++++++++++++++++++", noOfTestCasesSuccessful+noOfTestCasesFailed, noOfTestCasesSuccessful, noOfTestCasesFailed) ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + sprintf(g_msg, "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++") ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + if(NULL != pNoOfTestCases) + { + *pNoOfTestCases = sizeof(testCases)/sizeof(testCases[0]); + } + + if(NULL != pNoOfTestCasesSuccessful) + { + *pNoOfTestCasesSuccessful = noOfTestCasesSuccessful; + } + + if(NULL != pNoOfTestCasesFailed) + { + *pNoOfTestCasesFailed = noOfTestCasesFailed; + } + + return bTestsResult ; +} + + + + + +// =============================== + + + +// =============================== + + +int main(void) +{ + char context[16] ; + char contextID[16] ; + char appID[16] ; + pid_t pid = getpid() ; + + sprintf(context, "ID_%d", pid) ; + sprintf(contextID, "CONTEXT_%d", pid) ; + sprintf(appID, "APP_%d", pid) ; + DLT_REGISTER_APP(appID,"PAS"); + //DLT_REGISTER_CONTEXT(testPersAdminDLTCtx,"TestPAS", contextID); + DLT_REGISTER_CONTEXT(persAdminSvcDLTCtx,"TestPAS", contextID); + + + //sprintf(g_msg, "\n\n++++++++++ Test PAS - START +++++++++++++++++\n\n") ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("++++++++++ Test PAS - START +++++++++++++++++")); + + ExecuteTestCases(NULL, NULL, NULL) ; + + //sprintf(g_msg, "\n\n++++++++++ Test PAS - FINISH ++++++++++++++++\n\n") ; + DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("++++++++++ Test PAS - FINISH ++++++++++++++++")); + /* Init and run the main DBus loop */ + persadmin_RunDBusMainLoop(); + + return 1 ; +} diff --git a/test/pers_svc_test/src/test_PAS_dbus.c b/test/pers_svc_test/src/test_PAS_dbus.c new file mode 100644 index 0000000..550ca76 --- /dev/null +++ b/test/pers_svc_test/src/test_PAS_dbus.c @@ -0,0 +1,233 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#include "stdio.h" +#include +#include +#include +#include + +#include "test_PAS.h" +#include "PasModuleTestGen.h" + + + +/********************************************************************************************************************** +* +* Global variables. Initialization of global contexts. +* +**********************************************************************************************************************/ +static GMainLoop *g_pMainLoop = NULL; +static GDBusConnection *g_pBusConnection = NULL; +static OipPersistenceAdmintestframeworkSkeleton *g_pTFSkeleton = NULL; +static volatile bool_t g_bDBusConnInit = false; + +static pthread_mutex_t testOpMtx; // run test cases - operation mutex + + + +/********************************************************************************************************************** +* +* Prototypes for local functions (see implementation for description) +* +**********************************************************************************************************************/ + +static void OnBusAcquired_cb(GDBusConnection *pConnection, const gchar* sName, gpointer pUserData); +static void OnNameAcquired_cb(GDBusConnection *pConnection, const gchar* sName, gpointer pUserData); +static void OnNameLost_cb(GDBusConnection *pConnection, const gchar* sName, gpointer pUserData); + +/* ExecuteTestCases */ +static gboolean OnHandleExecuteTestCases ( OipPersistenceAdmintestframework *object, + GDBusMethodInvocation *invocation); + + + +/********************************************************************************************************************** +* +* The function is called when a connection to the D-Bus could be established. +* According to the documentation the objects should be exported here. +* +* @param pConnection: Connection, which was acquired +* @param sName: Bus name +* @param pUserData: Optionally user data +* +* @return void +* +**********************************************************************************************************************/ +static void OnBusAcquired_cb(GDBusConnection *pConnection, const gchar* sName, gpointer pUserData) +{ + GError *pError = NULL; + + /* Store the connection. */ + g_pBusConnection = pConnection; + + /* Create real object to offer on the DBus */ + g_pTFSkeleton = (OipPersistenceAdmintestframeworkSkeleton*) oip_persistence_admintestframework_skeleton_new(); + + g_signal_connect(g_pTFSkeleton, "handle-execute-test-cases", G_CALLBACK(OnHandleExecuteTestCases), pUserData); + + /* Attach interfaces to the objects and export them */ + if(TRUE == g_dbus_interface_skeleton_export( G_DBUS_INTERFACE_SKELETON(g_pTFSkeleton), + g_pBusConnection, + PERSISTENCE_ADMIN_TF_OBJ_PATH, + &pError)) + { + printf("Successfully connected to D-Bus and exported object.\n"); + } + else + { + /* Error: the PersistenceAdminService TF interface could not be exported. */ + printf("Failed to export PersistenceAdminService TF object.\n"); + g_main_loop_quit(g_pMainLoop); + } + fflush(stdout); +} + + + +/********************************************************************************************************************** +* +* The function is called when the "bus name" could be acquired on the D-Bus. +* +* @param pConnection: Connection over which the bus name was acquired +* @param sName: Acquired bus name +* @param pUserData: Optionally user data +* +* @return void +* +**********************************************************************************************************************/ +static void OnNameAcquired_cb(GDBusConnection *pConnection, const gchar* sName, gpointer pUserData) +{ + printf("Successfully obtained D-Bus name: %s\n", sName); + + /* DBus connection initialized */ + g_bDBusConnInit = true; + + fflush(stdout); +} + + + +/********************************************************************************************************************** +* +* The function is called if either no connection to D-Bus could be established or +* the bus name could not be acquired. +* +* @param pConnection: Connection. If it is NULL, no D-Bus connection could be established. +* Otherwise the bus name was lost. +* @param sName: Bus name +* @param pUserData: Optionally user data +* +* @return void +* +**********************************************************************************************************************/ +static void OnNameLost_cb(GDBusConnection *pConnection, const gchar* sName, gpointer pUserData) +{ + if(pConnection == NULL) + { + /* Error: the connection could not be established. */ + printf("Failed to establish D-Bus connection."); + } + else + { + /* Error: connection established, but name not obtained. This might be a second instance of the application */ + printf("Failed to obtain bus name %s\n", sName); + } + fflush(stdout); + + /* In both cases leave the main loop. */ + g_main_loop_quit(g_pMainLoop); +} + + + +/********************************************************************************************************************** +* +* Handler for ExecuteTestCases. +* Signature based on generated code. +* +**********************************************************************************************************************/ +static gboolean OnHandleExecuteTestCases ( OipPersistenceAdmintestframework *object, + GDBusMethodInvocation *invocation) +{ + sint_t noOfTestCases = 0; + sint_t noOfTestCasesSuccessful = 0; + sint_t noOfTestCasesFailed = 0; + + // Acquire op mutex + pthread_mutex_lock (&testOpMtx); + + ExecuteTestCases( &noOfTestCases, + &noOfTestCasesSuccessful, + &noOfTestCasesFailed ); + + // Release list mutex + pthread_mutex_unlock (&testOpMtx); + + oip_persistence_admintestframework_complete_execute_test_cases( object, + invocation, + noOfTestCases, + noOfTestCasesSuccessful, + noOfTestCasesFailed); + + return(TRUE); +} + + +/********************************************************************************************************************** +* +* Initialize DBus registration mechanism +* +**********************************************************************************************************************/ +void persadmin_RunDBusMainLoop() +{ + uint u32ConnectionId = 0; + + /* Initialize glib */ + g_type_init(); + + /* Init synchronization objects */ + pthread_mutex_init (&testOpMtx, NULL); + + /* Create the main loop */ + g_pMainLoop = g_main_loop_new(NULL, FALSE); + + + /* Connect to the D-Bus. Obtain a bus name to offer PAS objects */ + u32ConnectionId = g_bus_own_name( PERSISTENCE_ADMIN_TF_BUS_TYPE + , PERSISTENCE_ADMIN_TF_BUS_NAME + , G_BUS_NAME_OWNER_FLAGS_NONE + , &OnBusAcquired_cb + , &OnNameAcquired_cb + , &OnNameLost_cb + , NULL + , NULL); + + /* The main loop is only canceled if the Node is completely shut down or the D-Bus connection fails */ + g_main_loop_run(g_pMainLoop); + + /* If the main loop returned, clean up. Release bus name and main loop */ + g_bus_unown_name(u32ConnectionId); + g_main_loop_unref(g_pMainLoop); + + + /* Release the (created) skeleton object */ + if(NULL != g_pTFSkeleton) + { + g_object_unref(g_pTFSkeleton); + } +} diff --git a/test/pers_svc_test/src/test_pas_check_data_after_backup_application.c b/test/pers_svc_test/src/test_pas_check_data_after_backup_application.c new file mode 100644 index 0000000..783dd1d --- /dev/null +++ b/test/pers_svc_test/src/test_pas_check_data_after_backup_application.c @@ -0,0 +1,100 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#include "persComTypes.h" +#include "string.h" +#include "stdio.h" +#include +#include +#include +#include +#include + +#include "test_PAS.h" +#include "ssw_pers_admin_files_helper.h" +#include "test_pas_check_data_after_backup_application.h" +#include "persistence_admin_service.h" + +expected_key_data_localDB_s expectedKeyData_shared_public_localDB_AfterBackupApplication[16] = +{ +/* App1 */ + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingA" , sizeof("Data>>/App1_SettingA" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1" , sizeof("Data>>/App1_SettingB::user2::seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2" , sizeof("Data>>/App1_SettingB::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingC" , sizeof("Data>>/App1_SettingC" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user1" , sizeof("Data>>/App1_Setting/ABC::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user2" , sizeof("Data>>/App1_Setting/ABC::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user3" , sizeof("Data>>/App1_Setting/ABC::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user4" , sizeof("Data>>/App1_Setting/ABC::user4" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD" , sizeof("Data>>/App1_SettingD" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1" , sizeof("Data>>/App1_SettingE::user2:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2" , sizeof("Data>>/App1_SettingE::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF" , sizeof("Data>>/App1_SettingF" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1" , sizeof("Data>>/App1_Setting/DEF::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2" , sizeof("Data>>/App1_Setting/DEF::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3" , sizeof("Data>>/App1_Setting/DEF::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4" , sizeof("Data>>/App1_Setting/DEF::user4" )} +}; + +expected_file_data_s expectedFileData_shared_public_AfterBackupApplication[10] = +{ +/* App1 */ + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )} +} ; + +/************************************************************************************************************** +***************************************** ADD TEST CASES HERE ******************************************** +**************************************************************************************************************/ +bool_t Test_DataAfterBackupCreateApplication(int ceva, void* pAltceva) +{ + long sResult = 0; + PersASSelectionType_e eSelection = PersASSelectionType_LastEntry; + char pchBackupName [MAX_PATH_SIZE]; + char pchApplicationID [MAX_APPLICATION_NAME_SIZE]; + int iBackupNameSize = sizeof(pchBackupName); + int iApplicationNameSize = sizeof(pchApplicationID); + + // reset; + memset(pchBackupName, 0, iBackupNameSize); + memset(pchApplicationID, 0, iApplicationNameSize); + + // selection application : valid application, all users, all seats; + + // create input data; + snprintf(pchBackupName, iBackupNameSize, "%s", BACKUP_NAME); + snprintf(pchApplicationID, iApplicationNameSize, "%s", APPLICATION_NAME); + eSelection = PersASSelectionType_Application; + + persadmin_delete_folder(BACKUP_NAME); + // persAdminDataBackupCreate(PersASSelectionType_Application, "/tmp/backup", "App1", 0xFF, 0xFF); + sResult = persAdminDataBackupCreate(eSelection, pchBackupName, pchApplicationID, PERSIST_SELECT_ALL_USERS, PERSIST_SELECT_ALL_SEATS); + // expected result : backup is created for the specified application, all users & seats (local); + + // some info; + printf("\n Test_DataAfterBackupCreateApplication: persAdminDataBackupCreate(application) - %ld \n", sResult) ; + + return true ; +} diff --git a/test/pers_svc_test/src/test_pas_check_data_after_backup_create_all.c b/test/pers_svc_test/src/test_pas_check_data_after_backup_create_all.c new file mode 100644 index 0000000..f5ee203 --- /dev/null +++ b/test/pers_svc_test/src/test_pas_check_data_after_backup_create_all.c @@ -0,0 +1,195 @@ +#include "persComTypes.h" +#include "stdio.h" +#include "string.h" +#include +#include +#include +#include +#include + +#include "ssw_pers_admin_files_helper.h" +#include "test_PAS.h" +#include "test_pas_check_data_after_backup_create_all.h" +#include "persistence_admin_service.h" + +expected_key_data_localDB_s expectedKeyData_shared_public_localDB_AfterBackupCreateAll[80] = +{ +/* shared public */ + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingA" , sizeof("Data>>/pubSettingA" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2::seat1" , sizeof("Data>>/pubSettingB::user2::seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2:seat2" , sizeof("Data>>/pubSettingB::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingC" , sizeof("Data>>/pubSettingC" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user1" , sizeof("Data>>/pubSetting/ABC::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user2" , sizeof("Data>>/pubSetting/ABC::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user3" , sizeof("Data>>/pubSetting/ABC::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user4" , sizeof("Data>>/pubSetting/ABC::user4" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingD" , sizeof("Data>>/pubSettingD" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat1" , sizeof("Data>>/pubSettingE::user2:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat2" , sizeof("Data>>/pubSettingE::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingF" , sizeof("Data>>/pubSettingF" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user1" , sizeof("Data>>/pubSetting/DEF::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user2" , sizeof("Data>>/pubSetting/DEF::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user3" , sizeof("Data>>/pubSetting/DEF::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user4" , sizeof("Data>>/pubSetting/DEF::user4" )}, +/* shared group 10 */ + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingA" , sizeof("Data>>/gr10_SettingA" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB" , "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2::seat1" , sizeof("Data>>/gr10_SettingB::user2::seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB" , "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2:seat2" , sizeof("Data>>/gr10_SettingB::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingC" , sizeof("Data>>/gr10_SettingC" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user1" , sizeof("Data>>/gr10_Setting/ABC::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user2" , sizeof("Data>>/gr10_Setting/ABC::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user3" , sizeof("Data>>/gr10_Setting/ABC::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user4" , sizeof("Data>>/gr10_Setting/ABC::user4" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingD" , sizeof("Data>>/gr10_SettingD" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat1" , sizeof("Data>>/gr10_SettingE::user2:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat2" , sizeof("Data>>/gr10_SettingE::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingF" , sizeof("Data>>/gr10_SettingF" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user1" , sizeof("Data>>/gr10_Setting/DEF::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user2" , sizeof("Data>>/gr10_Setting/DEF::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user3" , sizeof("Data>>/gr10_Setting/DEF::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user4" , sizeof("Data>>/gr10_Setting/DEF::user4" )}, +/* shared group 20 */ + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingA" , sizeof("Data>>/gr20_SettingA" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2::seat1" , sizeof("Data>>/gr20_SettingB::user2::seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2:seat2" , sizeof("Data>>/gr20_SettingB::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingC" , sizeof("Data>>/gr20_SettingC" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user1" , sizeof("Data>>/gr20_Setting/ABC::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user2" , sizeof("Data>>/gr20_Setting/ABC::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user3" , sizeof("Data>>/gr20_Setting/ABC::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user4" , sizeof("Data>>/gr20_Setting/ABC::user4" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingD" , sizeof("Data>>/gr20_SettingD" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE" , "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat1" , sizeof("Data>>/gr20_SettingE::user2:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE" , "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat2" , sizeof("Data>>/gr20_SettingE::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingF" , sizeof("Data>>/gr20_SettingF" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user1" , sizeof("Data>>/gr20_Setting/DEF::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user2" , sizeof("Data>>/gr20_Setting/DEF::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user3" , sizeof("Data>>/gr20_Setting/DEF::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user4" , sizeof("Data>>/gr20_Setting/DEF::user4" )}, +/* App1 */ + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingA" , sizeof("Data>>/App1_SettingA" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1" , sizeof("Data>>/App1_SettingB::user2::seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2" , sizeof("Data>>/App1_SettingB::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingC" , sizeof("Data>>/App1_SettingC" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user1" , sizeof("Data>>/App1_Setting/ABC::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user2" , sizeof("Data>>/App1_Setting/ABC::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user3" , sizeof("Data>>/App1_Setting/ABC::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user4" , sizeof("Data>>/App1_Setting/ABC::user4" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD" , sizeof("Data>>/App1_SettingD" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1" , sizeof("Data>>/App1_SettingE::user2:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2" , sizeof("Data>>/App1_SettingE::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF" , sizeof("Data>>/App1_SettingF" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1" , sizeof("Data>>/App1_Setting/DEF::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2" , sizeof("Data>>/App1_Setting/DEF::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3" , sizeof("Data>>/App1_Setting/DEF::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4" , sizeof("Data>>/App1_Setting/DEF::user4" )}, +/* App2*/ + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingA" , sizeof( "Data>>/App2_SettingA" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2::seat1" , sizeof( "Data>>/App2_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2:seat2" , sizeof( "Data>>/App2_SettingB::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingC" , sizeof( "Data>>/App2_SettingC" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user1" , sizeof( "Data>>/App2_Setting/ABC::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user2" , sizeof( "Data>>/App2_Setting/ABC::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user3" , sizeof( "Data>>/App2_Setting/ABC::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user4" , sizeof( "Data>>/App2_Setting/ABC::user4" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingD" , sizeof( "Data>>/App2_SettingD" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat1" , sizeof( "Data>>/App2_SettingE::user2:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat2" , sizeof( "Data>>/App2_SettingE::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingF" , sizeof( "Data>>/App2_SettingF" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user1" , sizeof( "Data>>/App2_Setting/DEF::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user2" , sizeof( "Data>>/App2_Setting/DEF::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user3" , sizeof( "Data>>/App2_Setting/DEF::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user4" , sizeof( "Data>>/App2_Setting/DEF::user4" )} +}; + +expected_file_data_s expectedFileData_shared_public_AfterBackupCreateAll[50] = +{ +/* shared public */ + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>/doc1.txt" , sizeof("File>>/doc1.txt" )}, + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>/Docs/doc2.txt" , sizeof("File>>/Docs/doc2.txt" )}, + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>/docA.txt::user1" , sizeof("File>>/docA.txt::user1" )}, + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>/docA.txt::user2" , sizeof("File>>/docA.txt::user2" )}, + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>/docA.txt::user3" , sizeof("File>>/docA.txt::user3" )}, + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>/docA.txt::user4" , sizeof("File>>/docA.txt::user4" )}, + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>/docB.txt::user2:seat1" , sizeof("File>>/docB.txt::user2:seat1" )}, + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>/docB.txt::user2:seat2" , sizeof("File>>/docB.txt::user2:seat2" )}, + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>/docB.txt::user2:seat3" , sizeof("File>>/docB.txt::user2:seat3" )}, + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>/docB.txt::user2:seat4" , sizeof("File>>/docB.txt::user2:seat4" )}, +/* shared group 10 */ + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt" , sizeof("File>>gr10_>>/gr10_1.txt" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", true, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof("File>>gr10_>>/Docs/gr10_A.txt" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user1" , sizeof("File>>gr10_>>/gr10_2.txt::user1" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user2" , sizeof("File>>gr10_>>/gr10_2.txt::user2" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user3" , sizeof("File>>gr10_>>/gr10_2.txt::user3" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user4" , sizeof("File>>gr10_>>/gr10_2.txt::user4" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" )}, +/* shared group 20 */ + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt" , true, "File>>gr20_>>/doc1.txt" , sizeof("File>>gr20_>>/doc1.txt" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>gr20_>>/Docs/doc2.txt" , sizeof("File>>gr20_>>/Docs/doc2.txt" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>gr20_>>/docA.txt::user1" , sizeof("File>>gr20_>>/docA.txt::user1" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>gr20_>>/docA.txt::user2" , sizeof("File>>gr20_>>/docA.txt::user2" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>gr20_>>/docA.txt::user3" , sizeof("File>>gr20_>>/docA.txt::user3" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>gr20_>>/docA.txt::user4" , sizeof("File>>gr20_>>/docA.txt::user4" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat1" , sizeof("File>>gr20_>>/docB.txt::user2:seat1" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat2" , sizeof("File>>gr20_>>/docB.txt::user2:seat2" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat3" , sizeof("File>>gr20_>>/docB.txt::user2:seat3" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat4" , sizeof("File>>gr20_>>/docB.txt::user2:seat4" )}, +/* App1 */ + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )}, +/* App2*/ + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App2>>/doc1.txt" , sizeof("File>>App2>>/doc1.txt" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App2>>/Docs/doc2.txt" , sizeof("File>>App2>>/Docs/doc2.txt" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App2>>/docA.txt::user1", sizeof("File>>App2>>/docA.txt::user1" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App2>>/docA.txt::user2", sizeof("File>>App2>>/docA.txt::user2" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App2>>/docA.txt::user3", sizeof("File>>App2>>/docA.txt::user3" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App2>>/docA.txt::user4", sizeof("File>>App2>>/docA.txt::user4" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4" )} +} ; + +/************************************************************************************************************** +***************************************** ADD TEST CASES HERE ******************************************** +**************************************************************************************************************/ +bool_t Test_DataAfterBackupCreateAll(int ceva, void* pAltceva) +{ + long sResult = 0; + PersASSelectionType_e eSelection = PersASSelectionType_LastEntry; + char pchBackupName [MAX_PATH_SIZE]; + char pchApplicationID [MAX_APPLICATION_NAME_SIZE]; + int iBackupNameSize = sizeof(pchBackupName); + int iApplicationNameSize = sizeof(pchApplicationID); + + // reset; + memset(pchBackupName, 0, iBackupNameSize); + memset(pchApplicationID, 0, iApplicationNameSize); + + // selection all : all applications, all users, all seats; + + // create input data; + snprintf(pchBackupName, iBackupNameSize, "%s", BACKUP_NAME); + snprintf(pchApplicationID, iApplicationNameSize, "%s", NO_APPLICATION); + eSelection = PersASSelectionType_All; + + persadmin_delete_folder(BACKUP_NAME); + // persAdminDataBackupCreate(PersASSelectionType_All, "/tmp/backup", "", 0xFF, 0xFF); + sResult = persAdminDataBackupCreate(eSelection, pchBackupName, pchApplicationID, PERSIST_SELECT_ALL_USERS, PERSIST_SELECT_ALL_SEATS); + // expected result : backup is created for all applications, users & seats (local + shared); + + // some info; + printf("\n Test_BackupCreateAll: persAdminDataBackupCreate(all) - %ld \n", sResult) ; + + return true ; +} diff --git a/test/pers_svc_test/src/test_pas_check_data_after_backup_user2_seat_all.c b/test/pers_svc_test/src/test_pas_check_data_after_backup_user2_seat_all.c new file mode 100644 index 0000000..1ce28dc --- /dev/null +++ b/test/pers_svc_test/src/test_pas_check_data_after_backup_user2_seat_all.c @@ -0,0 +1,212 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ +#include "persComTypes.h" +#include "stdio.h" +#include "string.h" +#include +#include +#include +#include +#include + +#include "ssw_pers_admin_files_helper.h" +#include "test_PAS.h" +#include "test_pas_check_data_after_backup_user2_seat_all.h" +#include "persistence_admin_service.h" + +expected_key_data_localDB_s expectedKeyData_shared_public_localDB_AfterBackupUser2SeatAll[80] = +{ +/* shared public */ + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingA" , sizeof("Data>>/pubSettingA" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2::seat1" , sizeof("Data>>/pubSettingB::user2::seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2:seat2" , sizeof("Data>>/pubSettingB::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingC" , sizeof("Data>>/pubSettingC" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user1" , sizeof("Data>>/pubSetting/ABC::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user2" , sizeof("Data>>/pubSetting/ABC::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user3" , sizeof("Data>>/pubSetting/ABC::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user4" , sizeof("Data>>/pubSetting/ABC::user4" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingD" , sizeof("Data>>/pubSettingD" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat1" , sizeof("Data>>/pubSettingE::user2:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat2" , sizeof("Data>>/pubSettingE::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingF" , sizeof("Data>>/pubSettingF" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user1" , sizeof("Data>>/pubSetting/DEF::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user2" , sizeof("Data>>/pubSetting/DEF::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user3" , sizeof("Data>>/pubSetting/DEF::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user4" , sizeof("Data>>/pubSetting/DEF::user4" )}, +/* shared group 10 */ + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingA" , sizeof("Data>>/gr10_SettingA" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2::seat1" , sizeof("Data>>/gr10_SettingB::user2::seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2:seat2" , sizeof("Data>>/gr10_SettingB::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC" , "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingC" , sizeof("Data>>/gr10_SettingC" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user1" , sizeof("Data>>/gr10_Setting/ABC::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user2" , sizeof("Data>>/gr10_Setting/ABC::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user3" , sizeof("Data>>/gr10_Setting/ABC::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user4" , sizeof("Data>>/gr10_Setting/ABC::user4" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingD" , sizeof("Data>>/gr10_SettingD" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat1" , sizeof("Data>>/gr10_SettingE::user2:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat2" , sizeof("Data>>/gr10_SettingE::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingF" , sizeof("Data>>/gr10_SettingF" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user1" , sizeof("Data>>/gr10_Setting/DEF::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user2" , sizeof("Data>>/gr10_Setting/DEF::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user3" , sizeof("Data>>/gr10_Setting/DEF::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user4" , sizeof("Data>>/gr10_Setting/DEF::user4" )}, +/* shared group 20 */ + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingA" , sizeof("Data>>/gr20_SettingA" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2::seat1" , sizeof("Data>>/gr20_SettingB::user2::seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2:seat2" , sizeof("Data>>/gr20_SettingB::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingC" , sizeof("Data>>/gr20_SettingC" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user1" , sizeof("Data>>/gr20_Setting/ABC::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user2" , sizeof("Data>>/gr20_Setting/ABC::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user3" , sizeof("Data>>/gr20_Setting/ABC::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user4" , sizeof("Data>>/gr20_Setting/ABC::user4" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingD" , sizeof("Data>>/gr20_SettingD" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat1" , sizeof("Data>>/gr20_SettingE::user2:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat2" , sizeof("Data>>/gr20_SettingE::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingF" , sizeof("Data>>/gr20_SettingF" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user1" , sizeof("Data>>/gr20_Setting/DEF::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user2" , sizeof("Data>>/gr20_Setting/DEF::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user3" , sizeof("Data>>/gr20_Setting/DEF::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user4" , sizeof("Data>>/gr20_Setting/DEF::user4" )}, +/* App1 */ + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingA" , sizeof("Data>>/App1_SettingA" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1" , sizeof("Data>>/App1_SettingB::user2::seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2" , sizeof("Data>>/App1_SettingB::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingC" , sizeof("Data>>/App1_SettingC" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user1" , sizeof("Data>>/App1_Setting/ABC::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user2" , sizeof("Data>>/App1_Setting/ABC::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user3" , sizeof("Data>>/App1_Setting/ABC::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user4" , sizeof("Data>>/App1_Setting/ABC::user4" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingD" , sizeof("Data>>/App1_SettingD" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1" , sizeof("Data>>/App1_SettingE::user2:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2" , sizeof("Data>>/App1_SettingE::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingF" , sizeof("Data>>/App1_SettingF" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user1" , sizeof("Data>>/App1_Setting/DEF::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2" , sizeof("Data>>/App1_Setting/DEF::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user3" , sizeof("Data>>/App1_Setting/DEF::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user4" , sizeof("Data>>/App1_Setting/DEF::user4" )}, +/* App2*/ + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingA" , sizeof( "Data>>/App2_SettingA" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2::seat1" , sizeof( "Data>>/App2_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2:seat2" , sizeof( "Data>>/App2_SettingB::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingC" , sizeof( "Data>>/App2_SettingC" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user1" , sizeof( "Data>>/App2_Setting/ABC::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user2" , sizeof( "Data>>/App2_Setting/ABC::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user3" , sizeof( "Data>>/App2_Setting/ABC::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user4" , sizeof( "Data>>/App2_Setting/ABC::user4" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingD" , sizeof( "Data>>/App2_SettingD" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat1" , sizeof( "Data>>/App2_SettingE::user2:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat2" , sizeof( "Data>>/App2_SettingE::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingF" , sizeof( "Data>>/App2_SettingF" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user1" , sizeof( "Data>>/App2_Setting/DEF::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user2" , sizeof( "Data>>/App2_Setting/DEF::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user3" , sizeof( "Data>>/App2_Setting/DEF::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user4" , sizeof( "Data>>/App2_Setting/DEF::user4" )} +}; + +expected_file_data_s expectedFileData_shared_public_AfterBackupUser2SeatAll[50] = +{ +/* shared public */ + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>/doc1.txt" , sizeof("File>>/doc1.txt" )}, + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>/Docs/doc2.txt" , sizeof("File>>/Docs/doc2.txt" )}, + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false, "File>>/docA.txt::user1" , sizeof("File>>/docA.txt::user1" )}, + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>/docA.txt::user2" , sizeof("File>>/docA.txt::user2" )}, + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>/docA.txt::user3" , sizeof("File>>/docA.txt::user3" )}, + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>/docA.txt::user4" , sizeof("File>>/docA.txt::user4" )}, + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>/docB.txt::user2:seat1" , sizeof("File>>/docB.txt::user2:seat1" )}, + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>/docB.txt::user2:seat2" , sizeof("File>>/docB.txt::user2:seat2" )}, + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>/docB.txt::user2:seat3" , sizeof("File>>/docB.txt::user2:seat3" )}, + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>/docB.txt::user2:seat4" , sizeof("File>>/docB.txt::user2:seat4" )}, +/* shared group 10 */ + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", false, "File>>gr10_>>/gr10_1.txt" , sizeof("File>>gr10_>>/gr10_1.txt" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", false, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof("File>>gr10_>>/Docs/gr10_A.txt" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user1" , sizeof("File>>gr10_>>/gr10_2.txt::user1" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user2" , sizeof("File>>gr10_>>/gr10_2.txt::user2" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user3" , sizeof("File>>gr10_>>/gr10_2.txt::user3" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user4" , sizeof("File>>gr10_>>/gr10_2.txt::user4" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" )}, +/* shared group 20 */ + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>gr20_>>/doc1.txt" , sizeof("File>>gr20_>>/doc1.txt" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>gr20_>>/Docs/doc2.txt" , sizeof("File>>gr20_>>/Docs/doc2.txt" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false, "File>>gr20_>>/docA.txt::user1" , sizeof("File>>gr20_>>/docA.txt::user1" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>gr20_>>/docA.txt::user2" , sizeof("File>>gr20_>>/docA.txt::user2" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>gr20_>>/docA.txt::user3" , sizeof("File>>gr20_>>/docA.txt::user3" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>gr20_>>/docA.txt::user4" , sizeof("File>>gr20_>>/docA.txt::user4" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat1" , sizeof("File>>gr20_>>/docB.txt::user2:seat1" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat2" , sizeof("File>>gr20_>>/docB.txt::user2:seat2" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat3" , sizeof("File>>gr20_>>/docB.txt::user2:seat3" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat4" , sizeof("File>>gr20_>>/docB.txt::user2:seat4" )}, +/* App1 */ + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false, "File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )}, +/* App2*/ + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>App2>>/doc1.txt", sizeof("File>>App2>>/doc1.txt" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>App2>>/Docs/doc2.txt", sizeof("File>>App2>>/Docs/doc2.txt" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false, "File>>App2>>/docA.txt::user1", sizeof("File>>App2>>/docA.txt::user1" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App2>>/docA.txt::user2", sizeof("File>>App2>>/docA.txt::user2" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>App2>>/docA.txt::user3", sizeof("File>>App2>>/docA.txt::user3" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>App2>>/docA.txt::user4", sizeof("File>>App2>>/docA.txt::user4" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4" )} +} ; + +/************************************************************************************************************** +***************************************** ADD TEST CASES HERE ******************************************** +**************************************************************************************************************/ +bool_t Test_DataAfterBackupCreateUser2SeatAll(int ceva, void* pAltceva) +{ + long sResult = 0; + PersASSelectionType_e eSelection = PersASSelectionType_LastEntry; + char pchBackupName [MAX_PATH_SIZE]; + char pchApplicationID [MAX_APPLICATION_NAME_SIZE]; + int iBackupNameSize = sizeof(pchBackupName); + int iApplicationNameSize = sizeof(pchApplicationID); + + // reset; + memset(pchBackupName, 0, iBackupNameSize); + memset(pchApplicationID, 0, iApplicationNameSize); + + // selection user : valid application, 1 user, all seats; + + // create input data; + snprintf(pchBackupName, iBackupNameSize, "%s", BACKUP_NAME); + snprintf(pchApplicationID, iApplicationNameSize, "%s", APPLICATION_NAME); + eSelection = PersASSelectionType_User; + + persadmin_delete_folder(BACKUP_NAME); + // persAdminDataBackupCreate(PersASSelectionType_User, "/tmp/backup", "", 0xFF, 0xFF); + sResult = persAdminDataBackupCreate(eSelection, pchBackupName, pchApplicationID, 0x2, PERSIST_SELECT_ALL_SEATS); + // check data; + // expected result : backup is created for all applications, the specified user & all seats (local + shared); + + // some info; + printf("\n Test_DataAfterBackupCreateUser2SeatAll: persAdminDataBackupCreate(user 2seat all) - %ld \n", sResult) ; + + return true ; +} diff --git a/test/pers_svc_test/src/test_pas_check_data_after_backup_user_all.c b/test/pers_svc_test/src/test_pas_check_data_after_backup_user_all.c new file mode 100644 index 0000000..7be666f --- /dev/null +++ b/test/pers_svc_test/src/test_pas_check_data_after_backup_user_all.c @@ -0,0 +1,212 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ +#include "persComTypes.h" +#include "stdio.h" +#include "string.h" +#include +#include +#include +#include +#include + +#include "ssw_pers_admin_files_helper.h" +#include "test_PAS.h" +#include "test_pas_check_data_after_backup_user_all.h" +#include "persistence_admin_service.h" + +expected_key_data_localDB_s expectedKeyData_shared_public_localDB_AfterBackupUserAll[80] = +{ +/* shared public */ + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingA" , sizeof("Data>>/pubSettingA" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2::seat1" , sizeof("Data>>/pubSettingB::user2::seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2:seat2" , sizeof("Data>>/pubSettingB::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC" , "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingC" , sizeof("Data>>/pubSettingC" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user1" , sizeof("Data>>/pubSetting/ABC::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user2" , sizeof("Data>>/pubSetting/ABC::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user3" , sizeof("Data>>/pubSetting/ABC::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user4" , sizeof("Data>>/pubSetting/ABC::user4" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingD" , sizeof("Data>>/pubSettingD" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat1" , sizeof("Data>>/pubSettingE::user2:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat2" , sizeof("Data>>/pubSettingE::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF" , "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingF" , sizeof("Data>>/pubSettingF" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user1" , sizeof("Data>>/pubSetting/DEF::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user2" , sizeof("Data>>/pubSetting/DEF::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user3" , sizeof("Data>>/pubSetting/DEF::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user4" , sizeof("Data>>/pubSetting/DEF::user4" )}, +/* shared group 10 */ + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingA" , sizeof("Data>>/gr10_SettingA" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2::seat1" , sizeof("Data>>/gr10_SettingB::user2::seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2:seat2" , sizeof("Data>>/gr10_SettingB::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingC" , sizeof("Data>>/gr10_SettingC" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user1" , sizeof("Data>>/gr10_Setting/ABC::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user2" , sizeof("Data>>/gr10_Setting/ABC::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user3" , sizeof("Data>>/gr10_Setting/ABC::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user4" , sizeof("Data>>/gr10_Setting/ABC::user4" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingD" , sizeof("Data>>/gr10_SettingD" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat1" , sizeof("Data>>/gr10_SettingE::user2:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat2" , sizeof("Data>>/gr10_SettingE::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingF" , sizeof("Data>>/gr10_SettingF" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user1" , sizeof("Data>>/gr10_Setting/DEF::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user2" , sizeof("Data>>/gr10_Setting/DEF::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user3" , sizeof("Data>>/gr10_Setting/DEF::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user4" , sizeof("Data>>/gr10_Setting/DEF::user4" )}, +/* shared group 20 */ + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingA" , sizeof("Data>>/gr20_SettingA" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2::seat1" , sizeof("Data>>/gr20_SettingB::user2::seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2:seat2" , sizeof("Data>>/gr20_SettingB::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingC" , sizeof("Data>>/gr20_SettingC" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user1" , sizeof("Data>>/gr20_Setting/ABC::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user2" , sizeof("Data>>/gr20_Setting/ABC::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user3" , sizeof("Data>>/gr20_Setting/ABC::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user4" , sizeof("Data>>/gr20_Setting/ABC::user4" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingD" , sizeof("Data>>/gr20_SettingD" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat1" , sizeof("Data>>/gr20_SettingE::user2:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat2" , sizeof("Data>>/gr20_SettingE::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingF" , sizeof("Data>>/gr20_SettingF" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user1" , sizeof("Data>>/gr20_Setting/DEF::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user2" , sizeof("Data>>/gr20_Setting/DEF::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user3" , sizeof("Data>>/gr20_Setting/DEF::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user4" , sizeof("Data>>/gr20_Setting/DEF::user4" )}, +/* App1 */ + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingA" , sizeof("Data>>/App1_SettingA" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1" , sizeof("Data>>/App1_SettingB::user2::seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2" , sizeof("Data>>/App1_SettingB::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingC" , sizeof("Data>>/App1_SettingC" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user1" , sizeof("Data>>/App1_Setting/ABC::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user2" , sizeof("Data>>/App1_Setting/ABC::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user3" , sizeof("Data>>/App1_Setting/ABC::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user4" , sizeof("Data>>/App1_Setting/ABC::user4" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingD" , sizeof("Data>>/App1_SettingD" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1" , sizeof("Data>>/App1_SettingE::user2:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2" , sizeof("Data>>/App1_SettingE::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingF" , sizeof("Data>>/App1_SettingF" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1" , sizeof("Data>>/App1_Setting/DEF::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2" , sizeof("Data>>/App1_Setting/DEF::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3" , sizeof("Data>>/App1_Setting/DEF::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4" , sizeof("Data>>/App1_Setting/DEF::user4" )}, +/* App2*/ + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingA" , sizeof( "Data>>/App2_SettingA" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2::seat1" , sizeof( "Data>>/App2_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2:seat2" , sizeof( "Data>>/App2_SettingB::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingC" , sizeof( "Data>>/App2_SettingC" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user1" , sizeof( "Data>>/App2_Setting/ABC::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user2" , sizeof( "Data>>/App2_Setting/ABC::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user3" , sizeof( "Data>>/App2_Setting/ABC::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user4" , sizeof( "Data>>/App2_Setting/ABC::user4" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingD" , sizeof( "Data>>/App2_SettingD" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat1" , sizeof( "Data>>/App2_SettingE::user2:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat2" , sizeof( "Data>>/App2_SettingE::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingF" , sizeof( "Data>>/App2_SettingF" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user1" , sizeof( "Data>>/App2_Setting/DEF::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user2" , sizeof( "Data>>/App2_Setting/DEF::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user3" , sizeof( "Data>>/App2_Setting/DEF::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user4" , sizeof( "Data>>/App2_Setting/DEF::user4" )} +}; + +expected_file_data_s expectedFileData_shared_public_AfterBackupUserAll[50] = +{ +/* shared public */ + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false,"File>>/doc1.txt" , sizeof("File>>/doc1.txt" )}, + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false,"File>>/Docs/doc2.txt" , sizeof("File>>/Docs/doc2.txt" )}, + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>/docA.txt::user1" , sizeof("File>>/docA.txt::user1" )}, + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>/docA.txt::user2" , sizeof("File>>/docA.txt::user2" )}, + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>/docA.txt::user3" , sizeof("File>>/docA.txt::user3" )}, + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>/docA.txt::user4" , sizeof("File>>/docA.txt::user4" )}, + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>/docB.txt::user2:seat1" , sizeof("File>>/docB.txt::user2:seat1" )}, + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>/docB.txt::user2:seat2" , sizeof("File>>/docB.txt::user2:seat2" )}, + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>/docB.txt::user2:seat3" , sizeof("File>>/docB.txt::user2:seat3" )}, + {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>/docB.txt::user2:seat4" , sizeof("File>>/docB.txt::user2:seat4" )}, +/* shared group 10 */ + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", false, "File>>gr10_>>/gr10_1.txt" , sizeof("File>>gr10_>>/gr10_1.txt" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", false, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof("File>>gr10_>>/Docs/gr10_A.txt" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user1" , sizeof("File>>gr10_>>/gr10_2.txt::user1" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user2" , sizeof("File>>gr10_>>/gr10_2.txt::user2" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user3" , sizeof("File>>gr10_>>/gr10_2.txt::user3" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user4" , sizeof("File>>gr10_>>/gr10_2.txt::user4" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" )}, +/* shared group 20 */ + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false,"File>>gr20_>>/doc1.txt" , sizeof("File>>gr20_>>/doc1.txt" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false,"File>>gr20_>>/Docs/doc2.txt" , sizeof("File>>gr20_>>/Docs/doc2.txt" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>gr20_>>/docA.txt::user1" , sizeof("File>>gr20_>>/docA.txt::user1" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>gr20_>>/docA.txt::user2" , sizeof("File>>gr20_>>/docA.txt::user2" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>gr20_>>/docA.txt::user3" , sizeof("File>>gr20_>>/docA.txt::user3" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>gr20_>>/docA.txt::user4" , sizeof("File>>gr20_>>/docA.txt::user4" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat1" , sizeof("File>>gr20_>>/docB.txt::user2:seat1" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat2" , sizeof("File>>gr20_>>/docB.txt::user2:seat2" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat3" , sizeof("File>>gr20_>>/docB.txt::user2:seat3" )}, + {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat4" , sizeof("File>>gr20_>>/docB.txt::user2:seat4" )}, +/* App1 */ + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false,"File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false,"File>>App1>>/Docs/doc2.txt", sizeof("File>>App1>>/Docs/doc2.txt" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App1>>/docA.txt::user1", sizeof("File>>App1>>/docA.txt::user1" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App1>>/docA.txt::user2", sizeof("File>>App1>>/docA.txt::user2" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App1>>/docA.txt::user3", sizeof("File>>App1>>/docA.txt::user3" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App1>>/docA.txt::user4", sizeof("File>>App1>>/docA.txt::user4" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1", sizeof("File>>App1>>/docB.txt::user2:seat1" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2", sizeof("File>>App1>>/docB.txt::user2:seat2" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3", sizeof("File>>App1>>/docB.txt::user2:seat3" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4", sizeof("File>>App1>>/docB.txt::user2:seat4" )}, +/* App2*/ + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false,"File>>App2>>/doc1.txt", sizeof("File>>App2>>/doc1.txt" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false,"File>>App2>>/Docs/doc2.txt", sizeof("File>>App2>>/Docs/doc2.txt" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App2>>/docA.txt::user1", sizeof("File>>App2>>/docA.txt::user1" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App2>>/docA.txt::user2", sizeof("File>>App2>>/docA.txt::user2" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App2>>/docA.txt::user3", sizeof("File>>App2>>/docA.txt::user3" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App2>>/docA.txt::user4", sizeof("File>>App2>>/docA.txt::user4" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat1", sizeof("File>>App2>>/docB.txt::user2:seat1" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat2", sizeof("File>>App2>>/docB.txt::user2:seat2" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat3", sizeof("File>>App2>>/docB.txt::user2:seat3" )}, + {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat4", sizeof("File>>App2>>/docB.txt::user2:seat4" )} +} ; + +/************************************************************************************************************** +***************************************** ADD TEST CASES HERE ******************************************** +**************************************************************************************************************/ +bool_t Test_DataAfterBackupCreateUserAll(int ceva, void* pAltceva) +{ + long sResult = 0; + PersASSelectionType_e eSelection = PersASSelectionType_LastEntry; + char pchBackupName [MAX_PATH_SIZE]; + char pchApplicationID [MAX_APPLICATION_NAME_SIZE]; + int iBackupNameSize = sizeof(pchBackupName); + int iApplicationNameSize = sizeof(pchApplicationID); + + // reset; + memset(pchBackupName, 0, iBackupNameSize); + memset(pchApplicationID, 0, iApplicationNameSize); + + // selection user : no application, all users, all seats; + + // create input data; + snprintf(pchBackupName, iBackupNameSize, "%s", BACKUP_NAME); + snprintf(pchApplicationID, iApplicationNameSize, "%s", NO_APPLICATION); + eSelection = PersASSelectionType_User; + + persadmin_delete_folder(BACKUP_NAME); + // persAdminDataBackupCreate(PersASSelectionType_User, "/tmp/backup", "", 0xFF, 0xFF); + sResult = persAdminDataBackupCreate(eSelection, pchBackupName, pchApplicationID, PERSIST_SELECT_ALL_USERS, PERSIST_SELECT_ALL_SEATS); + // check data; + // expected result : backup is created for all applications, users & seats (local + shared); + + // some info; + printf("\n Test_DataAfterBackupCreateUserAll: persAdminDataBackupCreate(user all) - %ld \n", sResult) ; + + return true ; +} diff --git a/test/pers_svc_test/src/test_pas_check_data_after_delete_user2_data.c b/test/pers_svc_test/src/test_pas_check_data_after_delete_user2_data.c new file mode 100644 index 0000000..fb0ec03 --- /dev/null +++ b/test/pers_svc_test/src/test_pas_check_data_after_delete_user2_data.c @@ -0,0 +1,226 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ +#include "persComTypes.h" +#include "stdio.h" +#include +#include +#include +#include +#include + +#include "persistence_admin_service.h" + +#include "test_PAS.h" +#include "test_pas_check_data_after_delete_user2_data.h" + +expected_key_data_localDB_s expectedKeyData_shared_public_localDB_AfterDeleteUser2Data[80] = +{ + //public + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")}, + + //GR10 + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingA", sizeof("Data>>/gr10_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingB::user2::seat1", sizeof("Data>>/gr10_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingB::user2:seat2", sizeof("Data>>/gr10_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingC", sizeof("Data>>/gr10_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user1", sizeof("Data>>/gr10_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user2", sizeof("Data>>/gr10_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user3", sizeof("Data>>/gr10_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user4", sizeof("Data>>/gr10_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingD", sizeof("Data>>/gr10_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingE::user2:seat1", sizeof("Data>>/gr10_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingE::user2:seat2", sizeof("Data>>/gr10_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingF", sizeof("Data>>/gr10_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user1", sizeof("Data>>/gr10_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user2", sizeof("Data>>/gr10_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user3", sizeof("Data>>/gr10_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user4", sizeof("Data>>/gr10_Setting/DEF::user4")}, + + //GR20 + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingA", sizeof("Data>>/gr20_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingB::user2::seat1", sizeof("Data>>/gr20_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingB::user2:seat2", sizeof("Data>>/gr20_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingC", sizeof("Data>>/gr20_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user1", sizeof("Data>>/gr20_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user2", sizeof("Data>>/gr20_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user3", sizeof("Data>>/gr20_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user4", sizeof("Data>>/gr20_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingD", sizeof("Data>>/gr20_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingE::user2:seat1", sizeof("Data>>/gr20_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingE::user2:seat2", sizeof("Data>>/gr20_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingF", sizeof("Data>>/gr20_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user1", sizeof("Data>>/gr20_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user2", sizeof("Data>>/gr20_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user3", sizeof("Data>>/gr20_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user4", sizeof("Data>>/gr20_Setting/DEF::user4")}, + + //App1 + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user4")}, + + //App2 + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingA", sizeof("Data>>/App2_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")} +}; + +expected_file_data_s expectedFileData_shared_public_AfterDeleteUser2Data[50] = +{ + //public + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", true, "File>>/doc1.txt", sizeof("File>>/doc1.txt")}, + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", true, "File>>/Docs/doc2.txt", sizeof("File>>/Docs/doc2.txt")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", true, "File>>/docA.txt::user1", sizeof("File>>/docA.txt::user1")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", true, "File>>/docA.txt::user2", sizeof("File>>/docA.txt::user2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", true, "File>>/docA.txt::user3", sizeof("File>>/docA.txt::user3")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", true, "File>>/docA.txt::user4", sizeof("File>>/docA.txt::user4")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>/docB.txt::user2:seat1", sizeof("File>>/docB.txt::user2:seat1")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>/docB.txt::user2:seat2", sizeof("File>>/docB.txt::user2:seat2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>/docB.txt::user2:seat3", sizeof("File>>/docB.txt::user2:seat3")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>/docB.txt::user2:seat4", sizeof("File>>/docB.txt::user2:seat4")}, + + //group10 + {PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt" , sizeof("File>>gr10_>>/gr10_1.txt" )}, + {PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", true, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof("File>>gr10_>>/Docs/gr10_A.txt" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user1" , sizeof("File>>gr10_>>/gr10_2.txt::user1" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user2" , sizeof("File>>gr10_>>/gr10_2.txt::user2" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user3" , sizeof("File>>gr10_>>/gr10_2.txt::user3" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user4" , sizeof("File>>gr10_>>/gr10_2.txt::user4" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt",false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt",false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt",false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt",false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" )}, + + + //group20 + { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>gr20_>>/doc1.txt", sizeof("File>>gr20_>>/doc1.txt")}, + { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>gr20_>>/Docs/doc2.txt", sizeof("File>>gr20_>>/Docs/doc2.txt")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>gr20_>>/docA.txt::user1", sizeof("File>>gr20_>>/docA.txt::user1")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>gr20_>>/docA.txt::user2", sizeof("File>>gr20_>>/docA.txt::user2")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>gr20_>>/docA.txt::user3", sizeof("File>>gr20_>>/docA.txt::user3")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>gr20_>>/docA.txt::user4", sizeof("File>>gr20_>>/docA.txt::user4")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat1", sizeof("File>>gr20_>>/docB.txt::user2:seat1")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat2", sizeof("File>>gr20_>>/docB.txt::user2:seat2")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat3", sizeof("File>>gr20_>>/docB.txt::user2:seat3")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat4", sizeof("File>>gr20_>>/docB.txt::user2:seat4")}, + + //Appl1 + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt", sizeof("File>>App1>>/doc1.txt")}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt", sizeof("File>>App1>>/Docs/doc2.txt")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App1>>/docA.txt::user1", sizeof("File>>App1>>/docA.txt::user1")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App1>>/docA.txt::user2", sizeof("File>>App1>>/docA.txt::user2")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App1>>/docA.txt::user3", sizeof("File>>App1>>/docA.txt::user3")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App1>>/docA.txt::user4", sizeof("File>>App1>>/docA.txt::user4")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat1", sizeof("File>>App1>>/docB.txt::user2:seat1")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat2", sizeof("File>>App1>>/docB.txt::user2:seat2")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat3", sizeof("File>>App1>>/docB.txt::user2:seat3")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat4", sizeof("File>>App1>>/docB.txt::user2:seat4")}, + + //Appl2 + { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App2>>/doc1.txt", sizeof("File>>App2>>/doc1.txt")}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App2>>/Docs/doc2.txt", sizeof("File>>App2>>/Docs/doc2.txt")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App2>>/docA.txt::user1", sizeof("File>>App2>>/docA.txt::user1")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App2>>/docA.txt::user2", sizeof("File>>App2>>/docA.txt::user2")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App2>>/docA.txt::user3", sizeof("File>>App2>>/docA.txt::user3")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App2>>/docA.txt::user4", sizeof("File>>App2>>/docA.txt::user4")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat1", sizeof("File>>App2>>/docB.txt::user2:seat1")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat2", sizeof("File>>App2>>/docB.txt::user2:seat2")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat3", sizeof("File>>App2>>/docB.txt::user2:seat3")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat4", sizeof("File>>App2>>/docB.txt::user2:seat4")} +} ; + +/************************************************************************************************************** +***************************************** ADD TEST CASES HERE ******************************************** +**************************************************************************************************************/ +bool_t Test_DataAfterDeleteUser2Data(int ceva, void* pAltceva) +{ + bool_t bEverythingOK = true ; + + if ( 0 > persAdminUserDataDelete(2, 1) ) + { + bEverythingOK = false; + } + + if ( bEverythingOK ) + { + if ( 0 > persAdminUserDataDelete(2, 2) ) + { + bEverythingOK = false; + } + } + + if ( bEverythingOK ) + { + if ( 0 > persAdminUserDataDelete(2, 3) ) + { + bEverythingOK = false; + } + } + + if ( bEverythingOK ) + { + if ( 0 > persAdminUserDataDelete(2, 4) ) + { + bEverythingOK = false; + } + } + + printf("\nTest_DataAfterDeleteUser2Data: DeleteUser2Data() - %s \n", bEverythingOK ? "OK" : "FAILED") ; + + return bEverythingOK ; +} diff --git a/test/pers_svc_test/src/test_pas_check_data_after_reset.c b/test/pers_svc_test/src/test_pas_check_data_after_reset.c new file mode 100644 index 0000000..2608105 --- /dev/null +++ b/test/pers_svc_test/src/test_pas_check_data_after_reset.c @@ -0,0 +1,118 @@ +/********************************************************************************************************************* * * Copyright (C) 2012 Continental Automotive Systems, Inc. * * Author: Petrica.Manoila@continental-corporation.com * * Implementation of backup process * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * Date Author Reason * 2012.11.27 uidu0250 CSP_WZ#1280: Initial version * **********************************************************************************************************************/ #include "persComTypes.h" +#include "stdio.h" + + +#include +#include +#include +#include +#include + +#include "ssw_pers_admin_files_helper.h" + +#include "test_PAS.h" +#include "test_pas_check_data_after_reset.h" + +#define File_t PersistenceResourceType_file +#define Key_t PersistenceResourceType_key + +expected_key_data_RCT_s expectedKeyData_shared_public_RCT_AfterReset[13] = +{ + {"pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, true, + {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, true, + {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, true, + {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, true, + {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingD", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, true, + {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingE", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, true, + {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingF", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, true, + {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, true, + {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"doc1.txt", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, true, + {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"Docs/doc2.txt", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, true, + {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"docA.txt", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, true, + {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"Docs/docB.txt", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, true, + {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSetting/DEE", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, false, + {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}} +}; + +expected_key_data_localDB_s expectedKeyData_shared_public_localDB_AfterReset[18] = +{ + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, NIL, 0}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, NIL, 0} +}; + +expected_file_data_s expectedFileData_shared_public_AfterReset[11] = +{ + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", true, "File>>/doc1.txt", sizeof("File>>/doc1.txt")}, + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", true, "File>>/Docs/doc2.txt", sizeof("File>>/Docs/doc2.txt")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", true, "File>>/docA.txt::user1", sizeof("File>>/docA.txt::user1")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", true, "File>>/docA.txt::user2", sizeof("File>>/docA.txt::user2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", true, "File>>/docA.txt::user3", sizeof("File>>/docA.txt::user3")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", true, "File>>/docA.txt::user4", sizeof("File>>/docA.txt::user4")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>/docB.txt::user2:seat1", sizeof("File>>/docB.txt::user2:seat1")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>/docB.txt::user2:seat2", sizeof("File>>/docB.txt::user2:seat2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>/docB.txt::user2:seat3", sizeof("File>>/docB.txt::user2:seat3")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>/docB.txt::user2:seat4", sizeof("File>>/docB.txt::user2:seat4")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false,NIL, 0}, +} ; + +#if 0 +bool_t Test_DataAfterReset(int ceva, void* pAltceva) ; + +testcase_s tc_testDataAfterReset = +{ + Test_DataAfterReset, + 0, + NIL, + "Check reference data structure after initialization", + expectedKeyData_shared_public_RCT_AfterReset, + sizeof(expectedKeyData_shared_public_RCT_AfterReset)/sizeof(expectedKeyData_shared_public_RCT_AfterReset[0]), + expectedKeyData_shared_public_localDB_AfterReset, + sizeof(expectedKeyData_shared_public_localDB_AfterReset)/sizeof(expectedKeyData_shared_public_localDB_AfterReset[0]), + expectedFileData_shared_public_AfterReset, + sizeof(expectedFileData_shared_public_AfterReset)/sizeof(expectedFileData_shared_public_AfterReset[0]) +}; + +const testcase_s const* pTC_testDataAfterReset = &tc_testDataAfterReset ; +#endif + +/************************************************************************************************************** +***************************************** ADD TEST CASES HERE ******************************************** +**************************************************************************************************************/ +bool_t Test_DataAfterReset(int ceva, void* pAltceva) +{ + bool_t bEverythingOK = true ; + + //bEverythingOK = ResetReferenceData() ; + //printf("\nTest_DataAfterReset: ResetReferenceData() - %s \n", bEverythingOK ? "OK" : "FAILED") ; + printf("\nTest_DataAfterReset: Data was reset... \n") ; + + return bEverythingOK ; +} diff --git a/test/pers_svc_test/src/test_pas_import_all.c b/test/pers_svc_test/src/test_pas_import_all.c new file mode 100644 index 0000000..dbf0d46 --- /dev/null +++ b/test/pers_svc_test/src/test_pas_import_all.c @@ -0,0 +1,237 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#include "persComTypes.h" +#include "stdio.h" +#include +#include +#include +#include +#include +#include +#include + +#include "test_PAS.h" +#include "persistence_admin_service.h" +#include "test_pas_data_import.h" + +#define LT_HDR "TEST_PAS >> " + +DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx); + +#define PATH_ABS_MAX_SIZE ( 512) + +expected_key_data_localDB_s expected_key_data_after_import_all_all[] = +{ +// TO BE USED WHEN RCT logic is implemented +// { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingK", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_WT_DB_NAME , true, "Data>>/pubSettingK" , sizeof ("Data>>/pubSettingK" )}, +// { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingL", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_WT_DB_NAME , true, "Data>>/pubSettingL" , sizeof ("Data>>/pubSettingL" )}, +// { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/KBL", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_WT_DB_NAME , true, "Data>>/pubSetting/KBL::user1" , sizeof ("Data>>/pubSetting/KBL::user1" )}, +// { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/KBL", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_WT_DB_NAME , true, "Data>>/pubSetting/KBL::user2" , sizeof ("Data>>/pubSetting/KBL::user2" )}, +// { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/KBL", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_WT_DB_NAME , true, "Data>>/pubSetting/KBL::user3" , sizeof ("Data>>/pubSetting/KBL::user3" )}, +// { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/KBL", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_WT_DB_NAME , true, "Data>>/pubSetting/KBL::user4" , sizeof ("Data>>/pubSetting/KBL::user4" )}, +// { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/XYZ", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME , true, "Data>>/pubSetting/XYZ::user4" , sizeof ("Data>>/pubSetting/XYZ::user4" )}, +// { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingK", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingK" , sizeof ("Data>>/gr10_SettingK" )}, +// { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingL", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingL" , sizeof ("Data>>/gr10_SettingL" )}, +// { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/KBL", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/KBL::user1" , sizeof ("Data>>/gr10_Setting/KBL::user1" )}, +// { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/KBL", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/KBL::user2" , sizeof ("Data>>/gr10_Setting/KBL::user2" )}, +// { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/KBL", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/KBL::user3" , sizeof ("Data>>/gr10_Setting/KBL::user3" )}, +// { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/KBL", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/KBL::user4" , sizeof ("Data>>/gr10_Setting/KBL::user4" )}, +// { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingZ", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingZ" , sizeof ("Data>>/gr10_SettingZ" )}, +// { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/PRT", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/PRT::user4" , sizeof ("Data>>/gr10_Setting/PRT::user4" )}, +// { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingK", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingK" , sizeof ("Data>>/gr20_SettingK" )}, +// { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingL", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingL" , sizeof ("Data>>/gr20_SettingL" )}, +// { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/KBL", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/KBL::user1" , sizeof ("Data>>/gr20_Setting/KBL::user1" )}, +// { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/KBL", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/KBL::user2" , sizeof ("Data>>/gr20_Setting/KBL::user2" )}, +// { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/KBL", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/KBL::user3" , sizeof ("Data>>/gr20_Setting/KBL::user3" )}, +// { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/KBL", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/KBL::user4" , sizeof ("Data>>/gr20_Setting/KBL::user4" )}, +// { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/PRT", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/PRT::user4" , sizeof ("Data>>/gr20_Setting/PRT::user4" )}, +// { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingK", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App1_SettingK" , sizeof("Data>>/App1_SettingK" )}, +// { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App1_SettingL" , sizeof("Data>>/App1_SettingL" )}, +// { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App1_Setting/KBL::user1" , sizeof("Data>>/App1_Setting/KBL::user1" )}, +// { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App1_Setting/KBL::user2" , sizeof("Data>>/App1_Setting/KBL::user2" )}, +// { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App1_Setting/KBL::user3" , sizeof("Data>>/App1_Setting/KBL::user3" )}, +// { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App1_Setting/KBL::user4" , sizeof("Data>>/App1_Setting/KBL::user4" )}, +// { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingK", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App2_SettingK" , sizeof("Data>>/App2_SettingK" )}, +// { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App2_SettingL" , sizeof("Data>>/App2_SettingL" )}, +// { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App2_Setting/KBL::user1" , sizeof("Data>>/App2_Setting/KBL::user1" )}, +// { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App2_Setting/KBL::user2" , sizeof("Data>>/App2_Setting/KBL::user2" )}, +// { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App2_Setting/KBL::user3" , sizeof("Data>>/App2_Setting/KBL::user3" )}, +// { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App2_Setting/KBL::user4" , sizeof("Data>>/App2_Setting/KBL::user4" )}, +// { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingZ", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingZ" , sizeof ("Data>>/gr20_SettingZ" )}, + + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingB", sizeof("Data>>/pubSettingB")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2::seat1" , sizeof ("Data>>/pubSettingB::user2::seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2:seat2" , sizeof ("Data>>/pubSettingB::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingD" , sizeof ("Data>>/pubSettingD" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat1" , sizeof ("Data>>/pubSettingE::user2:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat2" , sizeof ("Data>>/pubSettingE::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingF" , sizeof ("Data>>/pubSettingF" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user1" , sizeof ("Data>>/pubSetting/DEF::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user2" , sizeof ("Data>>/pubSetting/DEF::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user3" , sizeof ("Data>>/pubSetting/DEF::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user4" , sizeof ("Data>>/pubSetting/DEF::user4" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2::seat1" , sizeof ("Data>>/gr10_SettingB::user2::seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"1"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user1:seat1" , sizeof ("Data>>/gr10_SettingB::user1:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2:seat2" , sizeof ("Data>>/gr10_SettingB::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingD" , sizeof ("Data>>/gr10_SettingD" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat1" , sizeof ("Data>>/gr10_SettingE::user2:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat2" , sizeof ("Data>>/gr10_SettingE::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingF" , sizeof ("Data>>/gr10_SettingF" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user1" , sizeof ("Data>>/gr10_Setting/DEF::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user2" , sizeof ("Data>>/gr10_Setting/DEF::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user3" , sizeof ("Data>>/gr10_Setting/DEF::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user4" , sizeof ("Data>>/gr10_Setting/DEF::user4" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2::seat1" , sizeof ("Data>>/gr20_SettingB::user2::seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2:seat2" , sizeof ("Data>>/gr20_SettingB::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingD" , sizeof ("Data>>/gr20_SettingD" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat1" , sizeof ("Data>>/gr20_SettingE::user2:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat2" , sizeof ("Data>>/gr20_SettingE::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingF" , sizeof ("Data>>/gr20_SettingF" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user1" , sizeof ("Data>>/gr20_Setting/DEF::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user2" , sizeof ("Data>>/gr20_Setting/DEF::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user3" , sizeof ("Data>>/gr20_Setting/DEF::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user4" , sizeof ("Data>>/gr20_Setting/DEF::user4" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1" , sizeof("Data>>/App1_SettingB::user2::seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2" , sizeof("Data>>/App1_SettingB::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD" , sizeof("Data>>/App1_SettingD" )}, + //key in original data, not present in import set + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingD" , sizeof("Data>>/App1_SettingA" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1" , sizeof("Data>>/App1_SettingE::user2:seat1" )}, + //key in original data, not present in import set + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingB::user2:seat1" , sizeof("Data>>/App1_SettingE::user2:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2" , sizeof("Data>>/App1_SettingE::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF" , sizeof("Data>>/App1_SettingF" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1" , sizeof("Data>>/App1_Setting/DEF::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2" , sizeof("Data>>/App1_Setting/DEF::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3" , sizeof("Data>>/App1_Setting/DEF::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4" , sizeof("Data>>/App1_Setting/DEF::user4" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2::seat1" , sizeof("Data>>/App2_SettingB::user2::seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2:seat2" , sizeof("Data>>/App2_SettingB::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingD" , sizeof("Data>>/App2_SettingD" )}, + //key in original data, not present in import set + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingD" , sizeof("Data>>/App2_SettingA" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat1" , sizeof("Data>>/App2_SettingE::user2:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat2" , sizeof("Data>>/App2_SettingE::user2:seat2" )}, + //key in original data, not present in import set + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingE::user2:seat2" , sizeof("Data>>/App2_SettingE::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingF" , sizeof("Data>>/App2_SettingF" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user1" , sizeof("Data>>/App2_Setting/DEF::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user2" , sizeof("Data>>/App2_Setting/DEF::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user3" , sizeof("Data>>/App2_Setting/DEF::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user4" , sizeof("Data>>/App2_Setting/DEF::user4" )} +}; + +expected_file_data_s expected_file_data_after_import_all_all[] = +{ +// TO BE USED WHEN RCT logic is implemented +// { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docK.txt", true , "File>>/docK.txt::user1" , sizeof( "File>>/docK.txt::user1" ) }, +// { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docK.txt", true , "File>>/docK.txt::user2" , sizeof( "File>>/docK.txt::user2" ) }, +// { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docT.txt", false , "File>>/docT.txt::user2" , sizeof( "File>>/docT.txt::user2" ) }, +// { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docK.txt", true , "File>>/docK.txt::user3" , sizeof( "File>>/docK.txt::user3" ) }, +// { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docK.txt", true , "File>>/docK.txt::user4" , sizeof( "File>>/docK.txt::user4" ) }, +// { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", false , "File>>/docC.txt::user2:seat4" , sizeof( "File>>/docC.txt::user2:seat4" ) }, +// { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", true, "File>>gr10_>>/docK.txt::user1" , sizeof ( "File>>gr10_>>/docK.txt::user1" ) }, +// { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", true, "File>>gr10_>>/docK.txt::user2" , sizeof ( "File>>gr10_>>/docK.txt::user2" ) }, +// { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/docT.txt", false, "File>>gr10_>>/docK.txt::user2" , sizeof ( "File>>gr10_>>/docK.txt::user2" ) }, +// { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", true, "File>>gr10_>>/docK.txt::user3" , sizeof ( "File>>gr10_>>/docK.txt::user3" ) }, +// { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", true, "File>>gr10_>>/docK.txt::user4" , sizeof ( "File>>gr10_>>/docK.txt::user4" ) }, +// { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docT.txt", false, "File>>gr10_>>/docB.txt::user2:seat4" , sizeof ( "File>>gr10_>>/docB.txt::user2:seat4" ) }, +// { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docT.txt", false, "File>>gr20_>>/docB.txt::user2:seat4" , sizeof ( "File>>gr20_>>/docB.txt::user2:seat4" ) }, +// { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", true, "File>>gr20_>>/docK.txt::user1" , sizeof ( "File>>gr20_>>/docK.txt::user1" ) }, +// { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", true, "File>>gr20_>>/docK.txt::user2" , sizeof ( "File>>gr20_>>/docK.txt::user2" ) }, +// { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docT.txt", false, "File>>gr20_>>/docK.txt::user2" , sizeof ( "File>>gr20_>>/docK.txt::user2" ) }, +// { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", true, "File>>gr20_>>/docK.txt::user3" , sizeof ( "File>>gr20_>>/docK.txt::user3" ) }, +// { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", true, "File>>gr20_>>/docK.txt::user4" , sizeof ( "File>>gr20_>>/docK.txt::user4" ) }, +// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", true, "File>>App1>>/docK.txt::user1" , sizeof("File>>App1>>/docK.txt::user1" ) }, +// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", true, "File>>App1>>/docK.txt::user2" , sizeof("File>>App1>>/docK.txt::user2" ) }, +// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", true, "File>>App1>>/docK.txt::user3" , sizeof("File>>App1>>/docK.txt::user3" ) }, +// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", true, "File>>App1>>/docK.txt::user4" , sizeof("File>>App1>>/docK.txt::user4" ) }, +// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", true, "File>>App1>>/docC.txt::user2:seat4" , sizeof("File>>App1>>/docC.txt::user2:seat4" ) }, +// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", false, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docD.txt::user2:seat4" ) }, +// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", true, "File>>App2>>/docK.txt::user1" , sizeof("File>>App2>>/docK.txt::user1" ) }, +// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", true, "File>>App2>>/docK.txt::user2" , sizeof("File>>App2>>/docK.txt::user2" ) }, +// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", true, "File>>App2>>/docK.txt::user3" , sizeof("File>>App2>>/docK.txt::user3" ) }, +// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", true, "File>>App2>>/docK.txt::user4" , sizeof("File>>App2>>/docK.txt::user4" ) }, +// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", true, "File>>App2>>/docC.txt::user2:seat4" , sizeof("File>>App2>>/docC.txt::user2:seat4" ) } +// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", false, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docD.txt::user2:seat4" ) } + + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", true , "File>>/doc1.txt" , sizeof( "File>>/doc1.txt" ) }, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", true , "File>>/Docs/doc2.txt" , sizeof( "File>>/Docs/doc2.txt" ) }, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true , "File>>/docB.txt::user2:seat1" , sizeof( "File>>/docB.txt::user2:seat1" ) }, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true , "File>>/docB.txt::user2:seat2" , sizeof( "File>>/docB.txt::user2:seat2" ) }, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true , "File>>/docB.txt::user2:seat3" , sizeof( "File>>/docB.txt::user2:seat3" ) }, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true , "File>>/docB.txt::user2:seat4" , sizeof( "File>>/docB.txt::user2:seat4" ) }, + + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt" , sizeof ( "File>>gr10_>>/gr10_1.txt" ) }, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", true, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof ( "File>>gr10_>>/Docs/gr10_A.txt" ) }, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof ( "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" ) }, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof ( "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" ) }, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof ( "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" ) }, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof ( "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" ) }, + + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>gr20_>>/doc1.txt" , sizeof ( "File>>gr20_>>/doc1.txt" ) }, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>gr20_>>/Docs/doc2.txt" , sizeof ( "File>>gr20_>>/Docs/doc2.txt" ) }, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat1" , sizeof ( "File>>gr20_>>/docB.txt::user2:seat1" ) }, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat2" , sizeof ( "File>>gr20_>>/docB.txt::user2:seat2" ) }, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat3" , sizeof ( "File>>gr20_>>/docB.txt::user2:seat3" ) }, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat4" , sizeof ( "File>>gr20_>>/docB.txt::user2:seat4" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" ) }, + + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App2>>/doc1.txt" , sizeof("File>>App2>>/doc1.txt" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App2>>/Docs/doc2.txt" , sizeof("File>>App2>>/Docs/doc2.txt" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4" ) }, + + +}; + +bool_t Test_import_all_all(sint_t type, void* pv) +{ + bool_t bEverythingOK = true ; + long impBytes =-1; + str_t pchBackupFilePath [PATH_ABS_MAX_SIZE]; + + bEverythingOK = ResetImportData(PersASSelectionType_All); + + if(true == bEverythingOK) + { + (void)snprintf(pchBackupFilePath, sizeof(pchBackupFilePath), "%s%s", "all", BACKUP_FORMAT); + + /* Restore content */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Import from:"), + DLT_STRING(pchBackupFilePath), + DLT_STRING("...")); + + impBytes = persAdminDataFolderImport(PersASSelectionType_All, pchBackupFilePath); + + bEverythingOK = (impBytes >= 0)?true:false; + } + + printf("\nTest_import_all - %s \n", bEverythingOK ? "OK" : "FAILED") ; + + return bEverythingOK ; +} + diff --git a/test/pers_svc_test/src/test_pas_import_app.c b/test/pers_svc_test/src/test_pas_import_app.c new file mode 100644 index 0000000..7979807 --- /dev/null +++ b/test/pers_svc_test/src/test_pas_import_app.c @@ -0,0 +1,141 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#include "persComTypes.h" + +#include +#include +#include +#include +#include +#include +#include +#include + + +#include "test_PAS.h" +#include "persistence_admin_service.h" +#include "test_pas_data_import.h" + +#define LT_HDR "TEST_PAS >> " + +DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx); + +#define PATH_ABS_MAX_SIZE ( 512) + +expected_key_data_localDB_s expected_key_data_after_import_app_all[] = +{ +// TO BE USED WHEN RCT logic is implemented +// { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingK", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App1_SettingK" , sizeof("Data>>/App1_SettingK" )}, +// { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App1_SettingL" , sizeof("Data>>/App1_SettingL" )}, +// { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App1_Setting/KBL::user1" , sizeof("Data>>/App1_Setting/KBL::user1" )}, +// { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App1_Setting/KBL::user2" , sizeof("Data>>/App1_Setting/KBL::user2" )}, +// { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App1_Setting/KBL::user3" , sizeof("Data>>/App1_Setting/KBL::user3" )}, +// { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App1_Setting/KBL::user4" , sizeof("Data>>/App1_Setting/KBL::user4" )}, +// { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingK", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App2_SettingK" , sizeof("Data>>/App2_SettingK" )}, +// { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App2_SettingL" , sizeof("Data>>/App2_SettingL" )}, +// { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App2_Setting/KBL::user1" , sizeof("Data>>/App2_Setting/KBL::user1" )}, +// { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App2_Setting/KBL::user2" , sizeof("Data>>/App2_Setting/KBL::user2" )}, +// { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App2_Setting/KBL::user3" , sizeof("Data>>/App2_Setting/KBL::user3" )}, +// { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App2_Setting/KBL::user4" , sizeof("Data>>/App2_Setting/KBL::user4" )}, + + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1" , sizeof("Data>>/App1_SettingB::user2::seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2" , sizeof("Data>>/App1_SettingB::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD" , sizeof("Data>>/App1_SettingD" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1" , sizeof("Data>>/App1_SettingE::user2:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2" , sizeof("Data>>/App1_SettingE::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF" , sizeof("Data>>/App1_SettingF" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1" , sizeof("Data>>/App1_Setting/DEF::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2" , sizeof("Data>>/App1_Setting/DEF::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3" , sizeof("Data>>/App1_Setting/DEF::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4" , sizeof("Data>>/App1_Setting/DEF::user4" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2::seat1" , sizeof("Data>>/App2_SettingB::user2::seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2:seat2" , sizeof("Data>>/App2_SettingB::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingD" , sizeof("Data>>/App2_SettingD" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat1" , sizeof("Data>>/App2_SettingE::user2:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat2" , sizeof("Data>>/App2_SettingE::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingF" , sizeof("Data>>/App2_SettingF" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user1" , sizeof("Data>>/App2_Setting/DEF::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user2" , sizeof("Data>>/App2_Setting/DEF::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user3" , sizeof("Data>>/App2_Setting/DEF::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user4" , sizeof("Data>>/App2_Setting/DEF::user4" )}, + + //common data, not imported for type "application" + //public key + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingB", sizeof("Data>>/pubSettingB")}, + //group key + { PERS_ORG_USER_FOLDER_NAME_"1"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingB::user1::seat1" , sizeof ("Data>>/gr10_SettingB::user1::seat1" )}, +}; + +expected_file_data_s expected_file_data_after_import_app_all[] = +{ +// TO BE USED WHEN RCT logic is implemented +// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", true, "File>>App1>>/docK.txt::user1" , sizeof("File>>App1>>/docK.txt::user1" ) }, +// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", true, "File>>App1>>/docK.txt::user2" , sizeof("File>>App1>>/docK.txt::user2" ) }, +// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", true, "File>>App1>>/docK.txt::user3" , sizeof("File>>App1>>/docK.txt::user3" ) }, +// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", true, "File>>App1>>/docK.txt::user4" , sizeof("File>>App1>>/docK.txt::user4" ) }, +// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", true, "File>>App1>>/docC.txt::user2:seat4" , sizeof("File>>App1>>/docC.txt::user2:seat4" ) }, +// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", false, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docD.txt::user2:seat4" ) }, +// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", true, "File>>App2>>/docK.txt::user1" , sizeof("File>>App2>>/docK.txt::user1" ) }, +// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", true, "File>>App2>>/docK.txt::user2" , sizeof("File>>App2>>/docK.txt::user2" ) }, +// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", true, "File>>App2>>/docK.txt::user3" , sizeof("File>>App2>>/docK.txt::user3" ) }, +// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", true, "File>>App2>>/docK.txt::user4" , sizeof("File>>App2>>/docK.txt::user4" ) }, +// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", true, "File>>App2>>/docC.txt::user2:seat4" , sizeof("File>>App2>>/docC.txt::user2:seat4" ) } +// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", false, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docD.txt::user2:seat4" ) } + + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App2>>/doc1.txt" , sizeof("File>>App2>>/doc1.txt" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App2>>/Docs/doc2.txt" , sizeof("File>>App2>>/Docs/doc2.txt" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4" ) } + + +}; + +bool_t Test_import_all_app(sint_t type, void* pv) +{ + bool_t bEverythingOK = true ; + long impBytes =-1; + str_t pchBackupFilePath [PATH_ABS_MAX_SIZE]; + + bEverythingOK = ResetImportData(PersASSelectionType_Application); + + if(true == bEverythingOK) + { + (void)snprintf(pchBackupFilePath, sizeof(pchBackupFilePath), "%s%s", "all", BACKUP_FORMAT); + + /* Restore content */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Import from:"), + DLT_STRING(pchBackupFilePath), + DLT_STRING("...")); + + impBytes = persAdminDataFolderImport(PersASSelectionType_Application, pchBackupFilePath); + + bEverythingOK = (impBytes >= 0)?true:false; + } + + printf("\nTest_import_all - %s \n", bEverythingOK ? "OK" : "FAILED") ; + + return bEverythingOK ; +} diff --git a/test/pers_svc_test/src/test_pas_import_source_content.c b/test/pers_svc_test/src/test_pas_import_source_content.c new file mode 100644 index 0000000..b0aeaa4 --- /dev/null +++ b/test/pers_svc_test/src/test_pas_import_source_content.c @@ -0,0 +1,1011 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#include "persComTypes.h" +#include "stdio.h" +#include "string.h" +#include +#include +#include +#include +#include +#include +#include +#include + +#include "persistence_admin_service.h" +#include "test_PAS.h" +#include "test_pas_data_import.h" + +/* compress/uncompress */ +#include +#include + + +#define READ_BUFFER_LENGTH (16384) + +#define PATH_ABS_MAX_SIZE ( 512) + + +#define LT_HDR "TEST_PAS >> " + +DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx); + +#define File_t PersistenceResourceType_file +#define Key_t PersistenceResourceType_key + +#define USE_REF_RCT + +#ifndef USE_REF_RCT +entryRctInit_s RCT_public_init_import[] = +{ + {"/pubSettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"/pubSettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"/pubSettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"/pubSettingK", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"/pubSettingL", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"/pubSetting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"/pubSetting/KBL", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"/pubSettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"/pubSettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"/pubSettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"/pubSetting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"/doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"/Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"/docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"/docT.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"/Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}} +} ; +#else +static entryRctInit_s RCT_public_init_import[] = +{ + {"pubSettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSetting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSetting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}} +} ; +#endif + +entryDataInit_s dataKeysPublicInit_import[] = +{ +// {0, PERS_ORG_NODE_FOLDER_NAME_"/pubSettingK", PersistencePolicy_wt, 0, 0, "Data>>/pubSettingK"}, + {0, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PersistencePolicy_wt, 2, 1, "Data>>/pubSettingB::user2::seat1"}, + {0, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PersistencePolicy_wt, 2, 2, "Data>>/pubSettingB::user2:seat2"}, +// {0, PERS_ORG_NODE_FOLDER_NAME_"/pubSettingL", PersistencePolicy_wt, 0, 0, "Data>>/pubSettingL"}, +// {0, PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/KBL", PersistencePolicy_wt, 1, 0, "Data>>/pubSetting/KBL::user1"}, +// {0, PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/KBL", PersistencePolicy_wt, 2, 0, "Data>>/pubSetting/KBL::user2"}, +// {0, PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/KBL", PersistencePolicy_wt, 3, 0, "Data>>/pubSetting/KBL::user3"}, +// {0, PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/KBL", PersistencePolicy_wt, 4, 0, "Data>>/pubSetting/KBL::user4"}, + {0, PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PersistencePolicy_wc, 0, 0, "Data>>/pubSettingD"}, + {0, PERS_ORG_NODE_FOLDER_NAME_"/pubSettingB", PersistencePolicy_wc, 0, 0, "Data>>/pubSettingB"}, + {0, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PersistencePolicy_wc, 2, 1, "Data>>/pubSettingE::user2:seat1"}, + {0, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PersistencePolicy_wc, 2, 2, "Data>>/pubSettingE::user2:seat2"}, + {0, PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PersistencePolicy_wc, 0, 0, "Data>>/pubSettingF"}, + {0, PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/pubSetting/DEF::user1"}, + {0, PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/pubSetting/DEF::user2"}, + {0, PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/pubSetting/DEF::user3"}, + {0, PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/pubSetting/DEF::user4"} +// {0, PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/XYZ", PersistencePolicy_wc, 4, 0, "Data>>/pubSetting/XYZ::user4"} +} ; + + +entryDataInit_s dataFilesPublicInit_import[] = +{ + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>/doc1.txt"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>/Docs/doc2.txt"}, +// {0, IMPORT_LOCATION PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>/docK.txt::user1"}, +// {0, IMPORT_LOCATION PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>/docK.txt::user2"}, +// {0, IMPORT_LOCATION PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docT.txt", PersistencePolicy_wc, 2, 0, "File>>/docT.txt::user2"}, +// {0, IMPORT_LOCATION PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>/docK.txt::user3"}, +// {0, IMPORT_LOCATION PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>/docK.txt::user4"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>/docB.txt::user2:seat1"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>/docB.txt::user2:seat2"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>/docB.txt::user2:seat3"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>/docB.txt::user2:seat4"} +// {0, IMPORT_LOCATION PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", PersistencePolicy_wc, 2, 4, "File>>/docC.txt::user2:seat4"} +}; + +entryDataInit_s dataFilesPublicInit_import_wt[] = +{ + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>/doc1.txt"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>/Docs/doc2.txt"}, +// {0, IMPORT_LOCATION PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>/docK.txt::user1"}, +// {0, IMPORT_LOCATION PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>/docK.txt::user2"}, +// {0, IMPORT_LOCATION PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docT.txt", PersistencePolicy_wc, 2, 0, "File>>/docT.txt::user2"}, +// {0, IMPORT_LOCATION PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>/docK.txt::user3"}, +// {0, IMPORT_LOCATION PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>/docK.txt::user4"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>/docB.txt::user2:seat1"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>/docB.txt::user2:seat2"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>/docB.txt::user2:seat3"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>/docB.txt::user2:seat4"} +// {0, IMPORT_LOCATION PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", PersistencePolicy_wc, 2, 4, "File>>/docC.txt::user2:seat4"} +}; + +dataInit_s sSharedPubDataInit_import = +{ + BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ , + BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_RCT_NAME, + dbType_RCT, + BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_WT_DB_NAME, + dbType_local, + BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, + dbType_local, + RCT_public_init_import, + sizeof(RCT_public_init_import)/sizeof(RCT_public_init_import[0]), + dataKeysPublicInit_import, + sizeof(dataKeysPublicInit_import)/sizeof(dataKeysPublicInit_import[0]), + dataFilesPublicInit_import, + sizeof(dataFilesPublicInit_import)/sizeof(dataFilesPublicInit_import[0]) +} ; + +dataInit_s sSharedPubDataInit_import_wt = +{ + BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ , + BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, + dbType_RCT, + BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, + dbType_local, + BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, + dbType_local, + RCT_public_init_import, + sizeof(RCT_public_init_import)/sizeof(RCT_public_init_import[0]), + dataKeysPublicInit_import, + sizeof(dataKeysPublicInit_import)/sizeof(dataKeysPublicInit_import[0]), + dataFilesPublicInit_import_wt, + sizeof(dataFilesPublicInit_import_wt)/sizeof(dataFilesPublicInit_import_wt[0]) +} ; + + +/********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ +#ifndef USE_REF_RCT +entryRctInit_s RCT_group10_init_import[] = +{ + {"/gr10_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"/gr10_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"/gr10_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"/gr10_SettingK", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"/gr10_SettingL", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"/gr10_Setting/KBL", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"/gr10_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"/gr10_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"/gr10_SettingZ", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"/gr10_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"/gr10_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"/gr10_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"/gr10_Setting/PRT", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}}, + {"Docs/gr10_A.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}}, + {"/docK.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"/docT.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"Docs/gr10_B.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}} +} ; +#else + static entryRctInit_s RCT_group10_init_import[] = + { + {"gr10_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}}, + {"Docs/gr10_A.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}}, + {"gr10_2.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}}, + {"Docs/gr10_B.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}} + } ; +#endif + +entryDataInit_s dataKeys_Group10_Init_import[] = +{ +// {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingK", PersistencePolicy_wt, 0, 0, "Data>>/gr10_SettingK"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PersistencePolicy_wt, 2, 1, "Data>>/gr10_SettingB::user2::seat1"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PersistencePolicy_wt, 2, 2, "Data>>/gr10_SettingB::user2:seat2"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"1"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PersistencePolicy_wt, 1, 1, "Data>>/gr10_SettingB::user1:seat1"}, +// {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingL", PersistencePolicy_wt, 0, 0, "Data>>/gr10_SettingL"}, +// {0x10, PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/KBL", PersistencePolicy_wt, 1, 0, "Data>>/gr10_Setting/KBL::user1"}, +// {0x10, PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/KBL", PersistencePolicy_wt, 2, 0, "Data>>/gr10_Setting/KBL::user2"}, +// {0x10, PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/KBL", PersistencePolicy_wt, 3, 0, "Data>>/gr10_Setting/KBL::user3"}, +// {0x10, PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/KBL", PersistencePolicy_wt, 4, 0, "Data>>/gr10_Setting/KBL::user4"}, + {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PersistencePolicy_wc, 0, 0, "Data>>/gr10_SettingD"}, +// {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingZ", PersistencePolicy_wc, 0, 0, "Data>>/gr10_SettingZ"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PersistencePolicy_wc, 2, 1, "Data>>/gr10_SettingE::user2:seat1"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PersistencePolicy_wc, 2, 2, "Data>>/gr10_SettingE::user2:seat2"}, + {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PersistencePolicy_wc, 0, 0, "Data>>/gr10_SettingF"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/gr10_Setting/DEF::user1"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PersistencePolicy_wc, 2, 0, "Data>>/gr10_Setting/DEF::user2"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/gr10_Setting/DEF::user3"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/gr10_Setting/DEF::user4"} +// {0x10, PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/PRT", PersistencePolicy_wc, 4, 0, "Data>>/gr10_Setting/PRT::user4"} +} ; + + +entryDataInit_s dataFiles_Group10_Init_import[] = +{ + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", PersistencePolicy_wt, 0, 0, "File>>gr10_>>/gr10_1.txt"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", PersistencePolicy_wt, 0, 0, "File>>gr10_>>/Docs/gr10_A.txt"}, +// {0x10, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>gr10_>>/docK.txt::user1"}, +// {0x10, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>gr10_>>/docK.txt::user2"}, +// {0x10, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/docT.txt", PersistencePolicy_wc, 2, 0, "File>>gr10_>>/docK.txt::user2"}, +// {0x10, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>gr10_>>/docK.txt::user3"}, +// {0x10, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>gr10_>>/docK.txt::user4"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 1, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 2, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 3, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 4, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4"}, + + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/gr10_1.txt", PersistencePolicy_wc, 2, 4, "File>>gr10_>>/gr10_1.txt::user2:seat4"} + +// {0x10, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docT.txt", PersistencePolicy_wc, 2, 4, "File>>gr10_>>/docB.txt::user2:seat4"} +}; + + +entryDataInit_s dataFiles_Group10_Init_import_wt[] = +{ + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>gr10_>>/doc1.txt"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>gr10_>>/Docs/doc2.txt"}, +// {0x10, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>gr10_>>/docK.txt::user1"}, +// {0x10, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>gr10_>>/docK.txt::user2"}, +// {0x10, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/docT.txt", PersistencePolicy_wc, 2, 0, "File>>gr10_>>/docK.txt::user2"}, +// {0x10, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>gr10_>>/docK.txt::user3"}, +// {0x10, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>gr10_>>/docK.txt::user4"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>gr10_>>/docB.txt::user2:seat1"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>gr10_>>/docB.txt::user2:seat2"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>gr10_>>/docB.txt::user2:seat3"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>gr10_>>/docB.txt::user2:seat4"} +// {0x10, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docT.txt", PersistencePolicy_wc, 2, 4, "File>>gr10_>>/docB.txt::user2:seat4"} +}; + + +dataInit_s sShared_Group10_DataInit_import = +{ + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/", + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_RCT_NAME, + dbType_RCT, + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, + dbType_local, + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, + dbType_local, + RCT_group10_init_import, + sizeof(RCT_group10_init_import)/sizeof(RCT_group10_init_import[0]), + dataKeys_Group10_Init_import, + sizeof(dataKeys_Group10_Init_import)/sizeof(dataKeys_Group10_Init_import[0]), + dataFiles_Group10_Init_import, + sizeof(dataFiles_Group10_Init_import)/sizeof(dataFiles_Group10_Init_import[0]) +} ; + +dataInit_s sShared_Group10_DataInit_import_wt = +{ + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10/", + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_RCT_NAME, + dbType_RCT, + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, + dbType_local, + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, + dbType_local, + RCT_group10_init_import, + sizeof(RCT_group10_init_import)/sizeof(RCT_group10_init_import[0]), + dataKeys_Group10_Init_import, + sizeof(dataKeys_Group10_Init_import)/sizeof(dataKeys_Group10_Init_import[0]), + dataFiles_Group10_Init_import_wt, + sizeof(dataFiles_Group10_Init_import_wt)/sizeof(dataFiles_Group10_Init_import_wt[0]) +} ; + +/********************************************************************************************************************************************** + ***************************************** Group 20 ******************************************************************************************* + *********************************************************************************************************************************************/ +#ifndef USE_REF_RCT +entryRctInit_s RCT_group20_init_import[] = +{ + {"/gr20_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"/gr20_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"/gr20_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"/gr20_SettingK", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"/gr20_SettingL", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"/gr20_Setting/KBL", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"/gr20_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"/gr20_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"/gr20_SettingZ", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"/gr20_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"/gr20_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"/gr20_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"/gr20_Setting/PRT", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"/doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"/Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"/docK.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"/docT.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"/Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}} +} ; +#else + static entryRctInit_s RCT_group20_init_import[] = + { + {"gr20_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}} + } ; +#endif + +entryDataInit_s dataKeys_Group20_Init_import[] = +{ +// {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingK", PersistencePolicy_wt, 0, 0, "Data>>/gr20_SettingK"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PersistencePolicy_wt, 2, 1, "Data>>/gr20_SettingB::user2::seat1"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PersistencePolicy_wt, 2, 2, "Data>>/gr20_SettingB::user2:seat2"}, +// {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingL", PersistencePolicy_wt, 0, 0, "Data>>/gr20_SettingL"}, +// {0x10, PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/KBL", PersistencePolicy_wt, 1, 0, "Data>>/gr20_Setting/KBL::user1"}, +// {0x10, PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/KBL", PersistencePolicy_wt, 2, 0, "Data>>/gr20_Setting/KBL::user2"}, +// {0x10, PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/KBL", PersistencePolicy_wt, 3, 0, "Data>>/gr20_Setting/KBL::user3"}, +// {0x10, PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/KBL", PersistencePolicy_wt, 4, 0, "Data>>/gr20_Setting/KBL::user4"}, + {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PersistencePolicy_wc, 0, 0, "Data>>/gr20_SettingD"}, +// {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingZ", PersistencePolicy_wc, 0, 0, "Data>>/gr20_SettingZ"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PersistencePolicy_wc, 2, 1, "Data>>/gr20_SettingE::user2:seat1"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PersistencePolicy_wc, 2, 2, "Data>>/gr20_SettingE::user2:seat2"}, + {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PersistencePolicy_wc, 0, 0, "Data>>/gr20_SettingF"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/gr20_Setting/DEF::user1"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PersistencePolicy_wc, 2, 0, "Data>>/gr20_Setting/DEF::user2"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/gr20_Setting/DEF::user3"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/gr20_Setting/DEF::user4"} +// {0x10, PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/PRT", PersistencePolicy_wc, 4, 0, "Data>>/gr20_Setting/PRT::user4"} +} ; + +entryDataInit_s dataFiles_Group20_Init_import[] = +{ + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>gr20_>>/doc1.txt"}, + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>gr20_>>/Docs/doc2.txt"}, +// {0x20, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>gr20_>>/docK.txt::user1"}, +// {0x20, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>gr20_>>/docK.txt::user2"}, +// {0x20, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>gr20_>>/docK.txt::user3"}, +// {0x20, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>gr20_>>/docK.txt::user4"}, + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>gr20_>>/docB.txt::user2:seat1"}, + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>gr20_>>/docB.txt::user2:seat2"}, + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>gr20_>>/docB.txt::user2:seat3"}, + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>gr20_>>/docB.txt::user2:seat4"} +}; + +entryDataInit_s dataFiles_Group20_Init_import_wt[] = +{ + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>gr20_>>/doc1.txt"}, + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>gr20_>>/Docs/doc2.txt"}, +// {0x20, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>gr20_>>/docK.txt::user1"}, +// {0x20, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>gr20_>>/docK.txt::user2"}, +// {0x20, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>gr20_>>/docK.txt::user3"}, +// {0x20, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>gr20_>>/docK.txt::user4"}, + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>gr20_>>/docB.txt::user2:seat1"}, + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>gr20_>>/docB.txt::user2:seat2"}, + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>gr20_>>/docB.txt::user2:seat3"}, + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>gr20_>>/docB.txt::user2:seat4"} +}; + +dataInit_s sShared_Group20_DataInit_import = +{ + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/", + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_RCT_NAME, + dbType_RCT, + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, + dbType_local, + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, + dbType_local, + RCT_group20_init_import, + sizeof(RCT_group20_init_import)/sizeof(RCT_group20_init_import[0]), + dataKeys_Group20_Init_import, + sizeof(dataKeys_Group20_Init_import)/sizeof(dataKeys_Group20_Init_import[0]), + dataFiles_Group20_Init_import, + sizeof(dataFiles_Group20_Init_import)/sizeof(dataFiles_Group20_Init_import[0]) +} ; + +dataInit_s sShared_Group20_DataInit_import_wt = +{ + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20/", + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_RCT_NAME, + dbType_RCT, + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, + dbType_local, + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, + dbType_local, + RCT_group20_init_import, + sizeof(RCT_group20_init_import)/sizeof(RCT_group20_init_import[0]), + dataKeys_Group20_Init_import, + sizeof(dataKeys_Group20_Init_import)/sizeof(dataKeys_Group20_Init_import[0]), + dataFiles_Group20_Init_import_wt, + sizeof(dataFiles_Group20_Init_import_wt)/sizeof(dataFiles_Group20_Init_import_wt[0]) +} ; + +/********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ +#ifndef USE_REF_RCT +entryRctInit_s RCT_App1_init_import[] = +{ + {"/App1_SettingK", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"/App1_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"/App1_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"/App1_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"/App1_SettingL", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"/App1_Setting/KBL", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"/App1_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"/App1_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"/App1_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"/App1_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"/App1_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"/doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"/Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"/docK.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"/Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"/Docs/docC.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}} +} ; +#else + static entryRctInit_s RCT_App1_init_import[] = + { + {"App1_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}} + } ; +#endif + +entryDataInit_s dataKeys_App1_Init_import[] = +{ +// {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingK", PersistencePolicy_wt, 0, 0, "Data>>/App1_SettingK"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PersistencePolicy_wt, 2, 1, "Data>>/App1_SettingB::user2::seat1"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PersistencePolicy_wt, 2, 2, "Data>>/App1_SettingB::user2:seat2"}, +// {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingL", PersistencePolicy_wt, 0, 0, "Data>>/App1_SettingL"}, +// {0xFF, PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/KBL", PersistencePolicy_wt, 1, 0, "Data>>/App1_Setting/KBL::user1"}, +// {0xFF, PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/KBL", PersistencePolicy_wt, 2, 0, "Data>>/App1_Setting/KBL::user2"}, +// {0xFF, PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/KBL", PersistencePolicy_wt, 3, 0, "Data>>/App1_Setting/KBL::user3"}, +// {0xFF, PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/KBL", PersistencePolicy_wt, 4, 0, "Data>>/App1_Setting/KBL::user4"}, + {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PersistencePolicy_wc, 0, 0, "Data>>/App1_SettingD"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PersistencePolicy_wc, 2, 1, "Data>>/App1_SettingE::user2:seat1"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PersistencePolicy_wc, 2, 2, "Data>>/App1_SettingE::user2:seat2"}, + {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PersistencePolicy_wc, 0, 0, "Data>>/App1_SettingF"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/App1_Setting/DEF::user1"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PersistencePolicy_wc, 2, 0, "Data>>/App1_Setting/DEF::user2"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/App1_Setting/DEF::user3"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/App1_Setting/DEF::user4"} +} ; + +entryDataInit_s dataFiles_App1_Init_import[] = +{ + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>App1>>/doc1.txt"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>App1>>/Docs/doc2.txt"}, +// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>App1>>/docK.txt::user1"}, +// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>App1>>/docK.txt::user2"}, +// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>App1>>/docK.txt::user3"}, +// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>App1>>/docK.txt::user4"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>App1>>/docB.txt::user2:seat1"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>App1>>/docB.txt::user2:seat2"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>App1>>/docB.txt::user2:seat3"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>App1>>/docB.txt::user2:seat4"} +// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", PersistencePolicy_wc, 2, 4, "File>>App1>>/docC.txt::user2:seat4"}, +// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", PersistencePolicy_wc, 2, 4, "File>>App1>>/docD.txt::user2:seat4"} +}; + +entryDataInit_s dataFiles_App1_Init_import_wt[] = +{ + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>App1>>/doc1.txt"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>App1>>/Docs/doc2.txt"}, +// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>App1>>/docK.txt::user1"}, +// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>App1>>/docK.txt::user2"}, +// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>App1>>/docK.txt::user3"}, +// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>App1>>/docK.txt::user4"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>App1>>/docB.txt::user2:seat1"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>App1>>/docB.txt::user2:seat2"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>App1>>/docB.txt::user2:seat3"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>App1>>/docB.txt::user2:seat4"} +// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", PersistencePolicy_wc, 2, 4, "File>>App1>>/docC.txt::user2:seat4"}, +// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", PersistencePolicy_wc, 2, 4, "File>>App1>>/docD.txt::user2:seat4"} +}; + +dataInit_s s_App1_DataInit_import = +{ + BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/", + BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_RCT_NAME, + dbType_RCT, + BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, + dbType_local, + BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, + dbType_local, + RCT_App1_init_import, + sizeof(RCT_App1_init_import)/sizeof(RCT_App1_init_import[0]), + dataKeys_App1_Init_import, + sizeof(dataKeys_App1_Init_import)/sizeof(dataKeys_App1_Init_import[0]), + dataFiles_App1_Init_import, + sizeof(dataFiles_App1_Init_import)/sizeof(dataFiles_App1_Init_import[0]) +} ; + +dataInit_s s_App1_DataInit_import_wt = +{ + BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1/", + BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, + dbType_RCT, + BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, + dbType_local, + BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, + dbType_local, + RCT_App1_init_import, + sizeof(RCT_App1_init_import)/sizeof(RCT_App1_init_import[0]), + dataKeys_App1_Init_import, + sizeof(dataKeys_App1_Init_import)/sizeof(dataKeys_App1_Init_import[0]), + dataFiles_App1_Init_import_wt, + sizeof(dataFiles_App1_Init_import_wt)/sizeof(dataFiles_App1_Init_import_wt[0]) +} ; + +/********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ +#ifndef USE_REF_RCT +entryRctInit_s RCT_App2_init_import[] = +{ + {"/App2_SettingK", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"/App2_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"/App2_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"/App2_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"/App2_SettingL", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"/App2_Setting/KBL", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"/App2_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"/App2_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"/App2_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"/App2_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"/App2_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"/doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"/Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"/docK.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"/Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"/Docs/docC.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}} +} ; +#else + static entryRctInit_s RCT_App2_init_import[] = + { + {"App2_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}} + } ; +#endif + +entryDataInit_s dataKeys_App2_Init_import[] = +{ +// {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingK", PersistencePolicy_wt, 0, 0, "Data>>/App2_SettingK"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PersistencePolicy_wt, 2, 1, "Data>>/App2_SettingB::user2::seat1"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PersistencePolicy_wt, 2, 2, "Data>>/App2_SettingB::user2:seat2"}, +// {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingL", PersistencePolicy_wt, 0, 0, "Data>>/App2_SettingL"}, +// {0xFF, PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/KBL", PersistencePolicy_wt, 1, 0, "Data>>/App2_Setting/KBL::user1"}, +// {0xFF, PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/KBL", PersistencePolicy_wt, 2, 0, "Data>>/App2_Setting/KBL::user2"}, +// {0xFF, PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/KBL", PersistencePolicy_wt, 3, 0, "Data>>/App2_Setting/KBL::user3"}, +// {0xFF, PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/KBL", PersistencePolicy_wt, 4, 0, "Data>>/App2_Setting/KBL::user4"}, + {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PersistencePolicy_wc, 0, 0, "Data>>/App2_SettingD"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PersistencePolicy_wc, 2, 1, "Data>>/App2_SettingE::user2:seat1"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PersistencePolicy_wc, 2, 2, "Data>>/App2_SettingE::user2:seat2"}, + {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PersistencePolicy_wc, 0, 0, "Data>>/App2_SettingF"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/App2_Setting/DEF::user1"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PersistencePolicy_wc, 2, 0, "Data>>/App2_Setting/DEF::user2"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/App2_Setting/DEF::user3"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/App2_Setting/DEF::user4"} +} ; + +entryDataInit_s dataFiles_App2_Init_import[] = +{ + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>App2>>/doc1.txt"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>App2>>/Docs/doc2.txt"}, +// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>App2>>/docK.txt::user1"}, +// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>App2>>/docK.txt::user2"}, +// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>App2>>/docK.txt::user3"}, +// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>App2>>/docK.txt::user4"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>App2>>/docB.txt::user2:seat1"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>App2>>/docB.txt::user2:seat2"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>App2>>/docB.txt::user2:seat3"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>App2>>/docB.txt::user2:seat4"} +// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", PersistencePolicy_wc, 2, 4, "File>>App2>>/docC.txt::user2:seat4"}, +// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", PersistencePolicy_wc, 2, 4, "File>>App2>>/docD.txt::user2:seat4"} +}; + +entryDataInit_s dataFiles_App2_Init_import_wt[] = +{ + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>App2>>/doc1.txt"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>App2>>/Docs/doc2.txt"}, +// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>App2>>/docK.txt::user1"}, +// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>App2>>/docK.txt::user2"}, +// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>App2>>/docK.txt::user3"}, +// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>App2>>/docK.txt::user4"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>App2>>/docB.txt::user2:seat1"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>App2>>/docB.txt::user2:seat2"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>App2>>/docB.txt::user2:seat3"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>App2>>/docB.txt::user2:seat4"} +// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", PersistencePolicy_wc, 2, 4, "File>>App2>>/docC.txt::user2:seat4"}, +// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", PersistencePolicy_wc, 2, 4, "File>>App2>>/docD.txt::user2:seat4"} +}; + +dataInit_s s_App2_DataInit_import = +{ + BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/", + BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_RCT_NAME, + dbType_RCT, + BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, + dbType_local, + BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, + dbType_local, + RCT_App2_init_import, + sizeof(RCT_App2_init_import)/sizeof(RCT_App2_init_import[0]), + dataKeys_App2_Init_import, + sizeof(dataKeys_App2_Init_import)/sizeof(dataKeys_App2_Init_import[0]), + dataFiles_App2_Init_import, + sizeof(dataFiles_App2_Init_import)/sizeof(dataFiles_App2_Init_import[0]) +} ; + +dataInit_s s_App2_DataInit_import_wt = +{ + BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2/", + BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_RCT_NAME, + dbType_RCT, + BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, + dbType_local, + BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, + dbType_local, + RCT_App2_init_import, + sizeof(RCT_App2_init_import)/sizeof(RCT_App2_init_import[0]), + dataKeys_App2_Init_import, + sizeof(dataKeys_App2_Init_import)/sizeof(dataKeys_App2_Init_import[0]), + dataFiles_App2_Init_import_wt, + sizeof(dataFiles_App2_Init_import_wt)/sizeof(dataFiles_App2_Init_import_wt[0]) +} ; + + +/** + * @brief Saves files together into a single archive. + * @usage persadmin_compress("/path/to/compress/to/archive_name.tgz", "/path/from/where/to/compress") + * @return 0 for success, negative value otherwise. + */ +static sint_t persadmin_compress(pstr_t compressTo, pstr_t compressFrom) +{ + uint8_t buffer [READ_BUFFER_LENGTH]; + str_t pchParentPath [PATH_ABS_MAX_SIZE]; + pstr_t pchStrPos = NIL; + struct archive *psArchive = NIL; + struct archive *psDisk = NIL; + struct archive_entry *psEntry = NIL; + sint_t s32Result = ARCHIVE_OK; + sint_t s32Length = 0; + sint_t fd; + sint_t s32ParentPathLength = 0; + + + if( (NIL == compressTo) || + (NIL == compressFrom) ) + { + s32Result = ARCHIVE_FAILED; + printf("persadmin_compress - invalid parameters \n"); + } + + if( ARCHIVE_OK == s32Result ) + { + printf("persadmin_compress - create <%s> from <%s>\n", compressTo, compressFrom); + psArchive = archive_write_new(); + if( NIL == psArchive ) + { + s32Result = ARCHIVE_FAILED; + printf("persadmin_compress - archive_write_new ERR\n"); + } + } + + if( ARCHIVE_OK == s32Result ) + { + /* this in turn calls archive_write_add_filter_gzip; */ + s32Result = archive_write_set_compression_gzip(psArchive); + if( ARCHIVE_OK != s32Result ) + { + printf("persadmin_compress - archive_write_set_compression_gzip ERR %d\n", s32Result); + } + } + + if( ARCHIVE_OK == s32Result ) + { + /* portable archive exchange; */ + archive_write_set_format_pax(psArchive); + compressTo = (strcmp(compressTo, "-") == 0) ? NIL : compressTo; + s32Result = archive_write_open_filename(psArchive, compressTo); + if( ARCHIVE_OK != s32Result ) + { + printf("persadmin_compress - archive_write_open_filename ERR %d\n", s32Result); + } + } + + if( ARCHIVE_OK == s32Result ) + { + psDisk = archive_read_disk_new(); + if( NIL == psDisk ) + { + s32Result = ARCHIVE_FAILED; + printf("persadmin_compress - archive_read_disk_new ERR\n"); + } + } + + if( ARCHIVE_OK == s32Result ) + { + archive_read_disk_set_standard_lookup(psDisk); + s32Result = archive_read_disk_open(psDisk, compressFrom); + if( ARCHIVE_OK != s32Result ) + { + printf("persadmin_compress - archive_read_disk_new ERR %s\n", archive_error_string(psDisk)); + } + } + + memset(pchParentPath, 0, sizeof(pchParentPath)); + snprintf(pchParentPath, sizeof(pchParentPath), compressFrom); + pchStrPos = strrchr(pchParentPath, '/'); + if(NIL != pchStrPos) + { + *pchStrPos = '\0'; + } + s32ParentPathLength = strlen(pchParentPath); + + + while( ARCHIVE_OK == s32Result ) + { + psEntry = archive_entry_new(); + s32Result = archive_read_next_header2(psDisk, psEntry); + + switch( s32Result ) + { + case ARCHIVE_EOF: + { + /* nothing else to do; */ + break; + } + case ARCHIVE_OK: + { + str_t pstrTemp[PATH_ABS_MAX_SIZE]; + pstr_t p = archive_entry_pathname(psEntry); + if(NIL != p) + { + /* remove parent section and save relative pathnames */ + memset(pstrTemp, 0, sizeof(pstrTemp)); + snprintf(pstrTemp, sizeof(pstrTemp), "%s", p + (s32ParentPathLength + 1)); + archive_entry_copy_pathname(psEntry, pstrTemp); + } + + archive_read_disk_descend(psDisk); + s32Result = archive_write_header(psArchive, psEntry); + if( ARCHIVE_OK > s32Result) + { + printf("persadmin_compress - archive_write_header ERR %s\n", archive_error_string(psArchive)); + } + if( ARCHIVE_FATAL == s32Result ) + { + /* exit; */ + printf("persadmin_compress - archive_write_header ERR FATAL\n"); + } + if( ARCHIVE_FAILED < s32Result ) + { +#if 0 + /* Ideally, we would be able to use + * the same code to copy a body from + * an archive_read_disk to an + * archive_write that we use for + * copying data from an archive_read + * to an archive_write_disk. + * Unfortunately, this doesn't quite + * work yet. */ + persadmin_copy_data(psDisk, psArchive); +#else + + /* For now, we use a simpler loop to copy data + * into the target archive. */ + fd = open(archive_entry_sourcepath(psEntry), O_RDONLY); + s32Length = read(fd, buffer, READ_BUFFER_LENGTH); + while( s32Length > 0 ) + { + archive_write_data(psArchive, buffer, s32Length); + s32Length = read(fd, buffer, READ_BUFFER_LENGTH); + } + close(fd); +#endif + } + + break; + } + default: + { + printf("persadmin_compress - archive_read_next_header2 ERR %s\n", archive_error_string(psDisk)); + /* exit; */ + break; + } + } + + if( NIL != psEntry ) + { + archive_entry_free(psEntry); + } + } + + /* perform cleaning operations; */ + if( NIL != psDisk ) + { + archive_read_close(psDisk); + archive_read_free(psDisk); + } + + if( NIL != psArchive ) + { + archive_write_close(psArchive); + archive_write_free(psArchive); + } + + /* overwrite result; */ + s32Result = (s32Result == ARCHIVE_EOF) ? ARCHIVE_OK : s32Result; + /* return result; */ + return s32Result; + +} /* persadmin_compress() */ + + +//reset import tree +bool_t ResetImportData(PersASSelectionType_e type) +{ + bool_t bEverythingOK = true ; + sint_t sResult = 0; + pstr_t referenceDataPath = BACKUP_CONTENT_FOLDER; + str_t pchPathCompressTo [PATH_ABS_MAX_SIZE]; + str_t pchPathCompressFrom [PATH_ABS_MAX_SIZE]; + long lRetVal = 0; + + sint_t result = DeleteFolder(referenceDataPath); + printf("\nDeleteFolder(%s) returned %d\n", referenceDataPath, result) ; + if(result < 0) + { + bEverythingOK = false ; + } + + if(bEverythingOK) + { + dataInit_s* sDataInit[] = + { + //TODO : create predefined imported data to be used here + &sSharedPubDataInit_import, + &sShared_Group10_DataInit_import, + &sShared_Group20_DataInit_import, + &s_App1_DataInit_import, + &s_App2_DataInit_import + }; + + sint_t i = 0 ; + for(i = 0 ; i < sizeof(sDataInit)/sizeof(sDataInit[0]) ; i++) + { + if(! InitDataFolder(sDataInit[i])) + { + bEverythingOK = false ; + } + } + } + + if(bEverythingOK) + { + dataInit_s* sDataInit[] = + { + //TODO : create predefined imported data to be used here + &sSharedPubDataInit_import_wt, + &sShared_Group10_DataInit_import_wt, + &sShared_Group20_DataInit_import_wt, + &s_App1_DataInit_import_wt, + &s_App2_DataInit_import_wt + }; + + sint_t i = 0 ; + for(i = 0 ; i < sizeof(sDataInit)/sizeof(sDataInit[0]) ; i++) + { + if(! InitDataFolder(sDataInit[i])) + { + bEverythingOK = false ; + } + } + } + + /* compress the source folder and delete it afterwards */ + (void)snprintf(pchPathCompressFrom, sizeof(pchPathCompressFrom), "%s", BACKUP_CONTENT_FOLDER); + + /* create the tar name; */ + switch( type ) + { + case PersASSelectionType_Application: + { + (void)snprintf(pchPathCompressTo, sizeof(pchPathCompressTo), "%s%s%s", BACKUP_FOLDER_, "App1", BACKUP_FORMAT); + sResult = persadmin_compress(pchPathCompressTo, pchPathCompressFrom); + if( 0 > sResult ) + { + bEverythingOK = false; + break; + } + + (void)snprintf(pchPathCompressTo, sizeof(pchPathCompressTo), "%s%s%s", BACKUP_FOLDER_, "App2", BACKUP_FORMAT); + sResult = persadmin_compress(pchPathCompressTo, pchPathCompressFrom); + if( 0 > sResult ) + { + bEverythingOK = false; + break; + } + + break; + } + case PersASSelectionType_User: + { + (void)snprintf(pchPathCompressTo, sizeof(pchPathCompressTo), "%s%s%s", BACKUP_FOLDER_, "user", BACKUP_FORMAT); + sResult = persadmin_compress(pchPathCompressTo, pchPathCompressFrom); + if( 0 > sResult ) + { + bEverythingOK = false; + } + break; + } + case PersASSelectionType_All: + { + (void)snprintf(pchPathCompressTo, sizeof(pchPathCompressTo), "%s%s%s", BACKUP_FOLDER_, "all", BACKUP_FORMAT); + sResult = persadmin_compress(pchPathCompressTo, pchPathCompressFrom); + if( 0 > sResult ) + { + bEverythingOK = false; + } + break; + } + default: + { + bEverythingOK = false; + /* nothing to do */ + break; + } + } + + if(true == bEverythingOK) + { + /* remove the initial folder content */ + DeleteFolder(referenceDataPath); + } + + return bEverythingOK ; +} diff --git a/test/pers_svc_test/src/test_pas_import_user.c b/test/pers_svc_test/src/test_pas_import_user.c new file mode 100644 index 0000000..d3589b3 --- /dev/null +++ b/test/pers_svc_test/src/test_pas_import_user.c @@ -0,0 +1,170 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#include "persComTypes.h" +#include "stdio.h" +#include +#include +#include +#include +#include +#include +#include + +#include "test_PAS.h" +#include "persistence_admin_service.h" +#include "test_pas_data_import.h" + +#define LT_HDR "TEST_PAS >> " + +DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx); + +#define PATH_ABS_MAX_SIZE ( 512) + +expected_key_data_localDB_s expected_key_data_after_import_all_user[] = +{ + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingB", sizeof("Data>>/pubSettingB")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2::seat1" , sizeof ("Data>>/pubSettingB::user2::seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2:seat2" , sizeof ("Data>>/pubSettingB::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingD" , sizeof ("Data>>/pubSettingD" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat1" , sizeof ("Data>>/pubSettingE::user2:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat2" , sizeof ("Data>>/pubSettingE::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingF" , sizeof ("Data>>/pubSettingF" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user1" , sizeof ("Data>>/pubSetting/DEF::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user2" , sizeof ("Data>>/pubSetting/DEF::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user3" , sizeof ("Data>>/pubSetting/DEF::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user4" , sizeof ("Data>>/pubSetting/DEF::user4" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2::seat1" , sizeof ("Data>>/gr10_SettingB::user2::seat1" )}, + + { PERS_ORG_USER_FOLDER_NAME_"1"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user1:seat1" , sizeof ("Data>>/gr10_SettingB::user1:seat1" )}, + + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2:seat2" , sizeof ("Data>>/gr10_SettingB::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingD" , sizeof ("Data>>/gr10_SettingD" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat1" , sizeof ("Data>>/gr10_SettingE::user2:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat2" , sizeof ("Data>>/gr10_SettingE::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingF" , sizeof ("Data>>/gr10_SettingF" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user1" , sizeof ("Data>>/gr10_Setting/DEF::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user2" , sizeof ("Data>>/gr10_Setting/DEF::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user3" , sizeof ("Data>>/gr10_Setting/DEF::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user4" , sizeof ("Data>>/gr10_Setting/DEF::user4" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2::seat1" , sizeof ("Data>>/gr20_SettingB::user2::seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2:seat2" , sizeof ("Data>>/gr20_SettingB::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingD" , sizeof ("Data>>/gr20_SettingD" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat1" , sizeof ("Data>>/gr20_SettingE::user2:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat2" , sizeof ("Data>>/gr20_SettingE::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingF" , sizeof ("Data>>/gr20_SettingF" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user1" , sizeof ("Data>>/gr20_Setting/DEF::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user2" , sizeof ("Data>>/gr20_Setting/DEF::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user3" , sizeof ("Data>>/gr20_Setting/DEF::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user4" , sizeof ("Data>>/gr20_Setting/DEF::user4" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1" , sizeof("Data>>/App1_SettingB::user2::seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2" , sizeof("Data>>/App1_SettingB::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD" , sizeof("Data>>/App1_SettingD" )}, + //key in original data, not present in import set + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingD" , sizeof("Data>>/App1_SettingA" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1" , sizeof("Data>>/App1_SettingE::user2:seat1" )}, + //key in original data, not present in import set + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingB::user2:seat1" , sizeof("Data>>/App1_SettingE::user2:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2" , sizeof("Data>>/App1_SettingE::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF" , sizeof("Data>>/App1_SettingF" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1" , sizeof("Data>>/App1_Setting/DEF::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2" , sizeof("Data>>/App1_Setting/DEF::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3" , sizeof("Data>>/App1_Setting/DEF::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4" , sizeof("Data>>/App1_Setting/DEF::user4" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2::seat1" , sizeof("Data>>/App2_SettingB::user2::seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2:seat2" , sizeof("Data>>/App2_SettingB::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingD" , sizeof("Data>>/App2_SettingD" )}, + //key in original data, not present in import set + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingD" , sizeof("Data>>/App2_SettingA" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat1" , sizeof("Data>>/App2_SettingE::user2:seat1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat2" , sizeof("Data>>/App2_SettingE::user2:seat2" )}, + //key in original data, not present in import set + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingE::user2:seat2" , sizeof("Data>>/App2_SettingE::user2:seat2" )}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingF" , sizeof("Data>>/App2_SettingF" )}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user1" , sizeof("Data>>/App2_Setting/DEF::user1" )}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user2" , sizeof("Data>>/App2_Setting/DEF::user2" )}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user3" , sizeof("Data>>/App2_Setting/DEF::user3" )}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user4" , sizeof("Data>>/App2_Setting/DEF::user4" )} +}; + +expected_file_data_s expected_file_data_after_import_all_user[] = +{ + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", true, "File>>/doc1.txt" , sizeof( "File>>/doc1.txt" ) }, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", true, "File>>/Docs/doc2.txt" , sizeof( "File>>/Docs/doc2.txt" ) }, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>/docB.txt::user2:seat1" , sizeof( "File>>/docB.txt::user2:seat1" ) }, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>/docB.txt::user2:seat2" , sizeof( "File>>/docB.txt::user2:seat2" ) }, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>/docB.txt::user2:seat3" , sizeof( "File>>/docB.txt::user2:seat3" ) }, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>/docB.txt::user2:seat4" , sizeof( "File>>/docB.txt::user2:seat4" ) }, + + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt" , sizeof ( "File>>gr10_>>/gr10_1.txt" ) }, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", true, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof ( "File>>gr10_>>/Docs/gr10_A.txt" ) }, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1", sizeof ( "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" ) }, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2", sizeof ( "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" ) }, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3", sizeof ( "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" ) }, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4", sizeof ( "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" ) }, + + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>gr20_>>/doc1.txt" , sizeof ( "File>>gr20_>>/doc1.txt" ) }, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>gr20_>>/Docs/doc2.txt" , sizeof ( "File>>gr20_>>/Docs/doc2.txt" ) }, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat1" , sizeof ( "File>>gr20_>>/docB.txt::user2:seat1" ) }, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat2" , sizeof ( "File>>gr20_>>/docB.txt::user2:seat2" ) }, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat3" , sizeof ( "File>>gr20_>>/docB.txt::user2:seat3" ) }, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat4" , sizeof ( "File>>gr20_>>/docB.txt::user2:seat4" ) }, + + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" ) }, + + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App2>>/doc1.txt" , sizeof("File>>App2>>/doc1.txt" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App2>>/Docs/doc2.txt" , sizeof("File>>App2>>/Docs/doc2.txt" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3" ) }, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4" ) }, + //{ PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/doc1.txt", true, "File>>gr10_>>/doc1.txt::user2:seat4" , sizeof("File>>gr10_>>/doc1.txt::user2:seat4" ) }, + +}; + +bool_t Test_import_all_user(sint_t type, void* pv) +{ + bool_t bEverythingOK = true ; + long impBytes = -1; + str_t pchBackupFilePath [PATH_ABS_MAX_SIZE]; + + bEverythingOK = ResetImportData(PersASSelectionType_User); + + if(true == bEverythingOK) + { + (void)snprintf(pchBackupFilePath, sizeof(pchBackupFilePath), "%s%s", "all", BACKUP_FORMAT); + + /* Restore content */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Import from:"), + DLT_STRING(pchBackupFilePath), + DLT_STRING("...")); + + impBytes = persAdminDataFolderImport(PersASSelectionType_User, pchBackupFilePath ); + + bEverythingOK = (impBytes >= 0)?true:false; + } + + printf("\nTest_import_all - %s \n", bEverythingOK ? "OK" : "FAILED") ; + + return bEverythingOK ; +} diff --git a/test/pers_svc_test/src/test_pas_recovery_All.c b/test/pers_svc_test/src/test_pas_recovery_All.c new file mode 100644 index 0000000..8512b08 --- /dev/null +++ b/test/pers_svc_test/src/test_pas_recovery_All.c @@ -0,0 +1,319 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#include "persComTypes.h" + +#include +#include +#include +#include +#include + +#include +#include + +#include "test_PAS.h" +#include "persistence_admin_service.h" +#include "test_pas_data_backup_recovery.h" + +DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx); + +#define LT_HDR "TEST_PAS >> " + +//=================================================================================================================== +// INIT +//=================================================================================================================== +// using default structure offered by test framework + +//=================================================================================================================== +// BACKUP CONTENT +//=================================================================================================================== +// using a common backup content structure + +//=================================================================================================================== +// EXPECTED +//=================================================================================================================== + +expected_key_data_localDB_s expected_key_data_after_restore_All[23 + 24 + 48 + 44] = +{ + /********************************************************************************************************************************************** + ***************************************** public ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true,"Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true,"Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true,"Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true,"Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingK", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingK", sizeof("Data>>/pubSettingK")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingL", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingL", sizeof("Data>>/pubSettingL")}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/KBL", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/KBL::user1", sizeof("Data>>/pubSetting/KBL::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/KBL", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/KBL::user2", sizeof("Data>>/pubSetting/KBL::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/KBL", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/KBL::user3", sizeof("Data>>/pubSetting/KBL::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/KBL", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/KBL::user4", sizeof("Data>>/pubSetting/KBL::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/XYZ", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/XYZ::user4", sizeof("Data>>/pubSetting/XYZ::user4")}, + + + /********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingA", sizeof("Data>>/gr10_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2::seat1", sizeof("Data>>/gr10_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2:seat2", sizeof("Data>>/gr10_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingC", sizeof("Data>>/gr10_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user1", sizeof("Data>>/gr10_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user2", sizeof("Data>>/gr10_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user3", sizeof("Data>>/gr10_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user4", sizeof("Data>>/gr10_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingK", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingK", sizeof("Data>>/gr10_SettingK")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingL", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingL", sizeof("Data>>/gr10_SettingL")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/KBL", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/KBL::user1", sizeof("Data>>/gr10_Setting/KBL::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/KBL", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/KBL::user2", sizeof("Data>>/gr10_Setting/KBL::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/KBL", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/KBL::user3", sizeof("Data>>/gr10_Setting/KBL::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/KBL", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/KBL::user4", sizeof("Data>>/gr10_Setting/KBL::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingD", sizeof("Data>>/gr10_SettingD")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingZ", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingZ", sizeof("Data>>/gr10_SettingZ")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat1", sizeof("Data>>/gr10_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat2", sizeof("Data>>/gr10_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingF", sizeof("Data>>/gr10_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user1", sizeof("Data>>/gr10_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user2", sizeof("Data>>/gr10_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user3", sizeof("Data>>/gr10_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user4", sizeof("Data>>/gr10_Setting/DEF::user4")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/PRT", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/PRT::user4", sizeof("Data>>/gr10_Setting/PRT::user4")}, + + + /********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingK", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingK", sizeof("Data>>/App1_SettingK")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingL", sizeof("Data>>/App1_SettingL")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/KBL::user1", sizeof("Data>>/App1_Setting/KBL::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/KBL::user2", sizeof("Data>>/App1_Setting/KBL::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/KBL::user3", sizeof("Data>>/App1_Setting/KBL::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/KBL::user4", sizeof("Data>>/App1_Setting/KBL::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/KKK", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/KKK::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/XYZ", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/XYZ::user4")}, + + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingK", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingK", sizeof("Data>>/App1_SettingK")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingL", sizeof("Data>>/App1_SettingL")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/KBL::user1", sizeof("Data>>/App1_Setting/KBL::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/KBL::user2", sizeof("Data>>/App1_Setting/KBL::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/KBL::user3", sizeof("Data>>/App1_Setting/KBL::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/KBL::user4", sizeof("Data>>/App1_Setting/KBL::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/KKK", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/KKK::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/XYZ", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/XYZ::user4")}, + + + /********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingK", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingK", sizeof("Data>>/App2_SettingK")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingL", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingL", sizeof("Data>>/App2_SettingL")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/KBL::user1", sizeof("Data>>/App2_Setting/KBL::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/KBL::user2", sizeof("Data>>/App2_Setting/KBL::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/KBL::user3", sizeof("Data>>/App2_Setting/KBL::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/KBL::user4", sizeof("Data>>/App2_Setting/KBL::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")}, + + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingK", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingK", sizeof("Data>>/App2_SettingK")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingL", sizeof("Data>>/App2_SettingL")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/KBL::user1", sizeof("Data>>/App2_Setting/KBL::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/KBL::user2", sizeof("Data>>/App2_Setting/KBL::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/KBL::user3", sizeof("Data>>/App2_Setting/KBL::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/KBL::user4", sizeof("Data>>/App2_Setting/KBL::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")} +} ; + +expected_file_data_s expected_file_data_after_restore_All[16 + 16 + 16] = +{ + /********************************************************************************************************************************************** + ***************************************** public ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", true, "File>>/doc1.txt" , sizeof("File>>/doc1.txt")}, + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", true, "File>>/Docs/doc2.txt" , sizeof("File>>/Docs/doc2.txt")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", false,"File>>/docA.txt::user1" , sizeof("File>>/docA.txt::user1")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", false,"File>>/docA.txt::user2" , sizeof("File>>/docA.txt::user2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", false,"File>>/docA.txt::user3" , sizeof("File>>/docA.txt::user3")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", false,"File>>/docA.txt::user4" , sizeof("File>>/docA.txt::user4")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>/docB.txt::user2:seat1" , sizeof("File>>/docB.txt::user2:seat1")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>/docB.txt::user2:seat2" , sizeof("File>>/docB.txt::user2:seat2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>/docB.txt::user2:seat3" , sizeof("File>>/docB.txt::user2:seat3")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>/docB.txt::user2:seat4" , sizeof("File>>/docB.txt::user2:seat4")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docK.txt", true, "File>>/docK.txt::user1" , sizeof("File>>/docK.txt::user1")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docK.txt", true, "File>>/docK.txt::user2" , sizeof("File>>/docK.txt::user2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docT.txt", true, "File>>/docT.txt::user2" , sizeof("File>>/docT.txt::user2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docK.txt", true, "File>>/docK.txt::user3" , sizeof("File>>/docK.txt::user3")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docK.txt", true, "File>>/docK.txt::user4" , sizeof("File>>/docK.txt::user4")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", true, "File>>/docC.txt::user2:seat4" , sizeof("File>>/docC.txt::user2:seat4")}, + + + /********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false,"File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false,"File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false,"File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false,"File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", true, "File>>App1>>/docK.txt::user1" , sizeof("File>>App1>>/docK.txt::user1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", true, "File>>App1>>/docK.txt::user2" , sizeof("File>>App1>>/docK.txt::user2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", true, "File>>App1>>/docK.txt::user3" , sizeof("File>>App1>>/docK.txt::user3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", true, "File>>App1>>/docK.txt::user4" , sizeof("File>>App1>>/docK.txt::user4" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", true, "File>>App1>>/docC.txt::user2:seat4" , sizeof("File>>App1>>/docC.txt::user2:seat4" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", true, "File>>App1>>/docD.txt::user2:seat4" , sizeof("File>>App1>>/docD.txt::user2:seat4" )}, + + + /********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App2>>/doc1.txt" , sizeof("File>>App2>>/doc1.txt")}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App2>>/Docs/doc2.txt" , sizeof("File>>App2>>/Docs/doc2.txt")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false,"File>>App2>>/docA.txt::user1" , sizeof("File>>App2>>/docA.txt::user1")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false,"File>>App2>>/docA.txt::user2" , sizeof("File>>App2>>/docA.txt::user2")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false,"File>>App2>>/docA.txt::user3" , sizeof("File>>App2>>/docA.txt::user3")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false,"File>>App2>>/docA.txt::user4" , sizeof("File>>App2>>/docA.txt::user4")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", true, "File>>App2>>/docK.txt::user1" , sizeof("File>>App2>>/docK.txt::user1")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", true, "File>>App2>>/docK.txt::user2" , sizeof("File>>App2>>/docK.txt::user2")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", true, "File>>App2>>/docK.txt::user3" , sizeof("File>>App2>>/docK.txt::user3")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", true, "File>>App2>>/docK.txt::user4" , sizeof("File>>App2>>/docK.txt::user4")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", true, "File>>App2>>/docC.txt::userC:seat4" , sizeof("File>>App2>>/docC.txt::userC:seat4")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", true, "File>>App2>>/docD.txt::userC:seat4" , sizeof("File>>App2>>/docD.txt::userC:seat4")} +} ; + + +//=================================================================================================================== + + +bool_t Test_Recover_All(sint_t type, void* pv) +{ + bool_t bEverythingOK = true ; + long lTemp ; + str_t pchBackupFilePath [PATH_ABS_MAX_SIZE]; + + /* Reset the backup data for every test */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Reset backup content...")); + + lTemp = ResetBackupContent(PersASSelectionType_All, NULL); + bEverythingOK = (lTemp >= 0) ? true : false ; + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_All: ResetBackupContent() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + + if(true == bEverythingOK) + { + (void)snprintf(pchBackupFilePath, sizeof(pchBackupFilePath), "%s%s", "all", BACKUP_FORMAT); + + /* Restore content */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Restore backup from : "), + DLT_STRING(pchBackupFilePath), + DLT_STRING("...")); + + lTemp = persAdminDataBackupRecovery( PersASSelectionType_All, + pchBackupFilePath, + "", + PERSIST_SELECT_ALL_USERS, + PERSIST_SELECT_ALL_SEATS); + bEverythingOK = (lTemp >= 0) ? true : false ; + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_All: data_backup_recovery() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + } + + return bEverythingOK ; +} /* Test_Recover_All */ diff --git a/test/pers_svc_test/src/test_pas_recovery_AllInitialContent.c b/test/pers_svc_test/src/test_pas_recovery_AllInitialContent.c new file mode 100644 index 0000000..a01d901 --- /dev/null +++ b/test/pers_svc_test/src/test_pas_recovery_AllInitialContent.c @@ -0,0 +1,568 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#include "persComTypes.h" + +#include +#include +#include +#include +#include + +#include +#include + +#include "test_PAS.h" +#include "persistence_admin_service.h" +#include "test_pas_data_backup_recovery.h" + +DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx); + +#define LT_HDR "TEST_PAS >> " + +#define PATH_ABS_MAX_SIZE ( 512) + +#define File_t PersistenceResourceType_file +#define Key_t PersistenceResourceType_key +//=================================================================================================================== +// INIT +//=================================================================================================================== + +/********************************************************************************************************************************************** +***************************************** public ******************************************************************************************* +*********************************************************************************************************************************************/ + +static entryRctInit_s RCT_public_init[] = +{ + {"pubSettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSetting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSetting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}} +}; + +static entryDataInit_s dataKeysPublicInit[] = {}; + +static entryDataInit_s dataFilesPublicInit[] = {}; + +static dataInit_s sSharedPubDataInit = +{ + PERS_ORG_SHARED_PUBLIC_WT_PATH_ , + PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, + dbType_RCT, + PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, + dbType_local, + PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, + dbType_local, + RCT_public_init, + sizeof(RCT_public_init)/sizeof(RCT_public_init[0]), + dataKeysPublicInit, + sizeof(dataKeysPublicInit)/sizeof(dataKeysPublicInit[0]), + dataFilesPublicInit, + sizeof(dataFilesPublicInit)/sizeof(dataFilesPublicInit[0]) +}; + +/********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ + +static entryRctInit_s RCT_group10_init[] = +{ + {"gr10_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"Docs/gr10_A.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_2.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"Docs/gr10_B.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}} ; + +static entryDataInit_s dataKeys_Group10_Init[] = {}; + +static entryDataInit_s dataFiles_Group10_Init[] = {}; + +static dataInit_s sShared_Group10_DataInit = +{ + PERS_ORG_SHARED_GROUP_WT_PATH_"10/", + PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_RCT_NAME, + dbType_RCT, + PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, + dbType_local, + PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, + dbType_local, + RCT_group10_init, + sizeof(RCT_group10_init)/sizeof(RCT_group10_init[0]), + dataKeys_Group10_Init, + sizeof(dataKeys_Group10_Init)/sizeof(dataKeys_Group10_Init[0]), + dataFiles_Group10_Init, + sizeof(dataFiles_Group10_Init)/sizeof(dataFiles_Group10_Init[0]) +} ; + +/********************************************************************************************************************************************** + ***************************************** Group 20 ******************************************************************************************* + *********************************************************************************************************************************************/ +static entryRctInit_s RCT_group20_init[] = +{ + {"gr20_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}} +} ; + +static entryDataInit_s dataKeys_Group20_Init[] = {}; + +static entryDataInit_s dataFiles_Group20_Init[] ={}; + +static dataInit_s sShared_Group20_DataInit = +{ + PERS_ORG_SHARED_GROUP_WT_PATH_"20/", + PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_RCT_NAME, + dbType_RCT, + PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, + dbType_local, + PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, + dbType_local, + RCT_group20_init, + sizeof(RCT_group20_init)/sizeof(RCT_group20_init[0]), + dataKeys_Group20_Init, + sizeof(dataKeys_Group20_Init)/sizeof(dataKeys_Group20_Init[0]), + dataFiles_Group20_Init, + sizeof(dataFiles_Group20_Init)/sizeof(dataFiles_Group20_Init[0]) +} ; + +/********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ +static entryRctInit_s RCT_App1_init[] = +{ + {"App1_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}} +} ; + +static entryDataInit_s dataKeys_App1_Init[] = {} ; + +static entryDataInit_s dataFiles_App1_Init[] = {}; + +static dataInit_s s_App1_DataInit = +{ + PERS_ORG_LOCAL_APP_WT_PATH_"App1/", + PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, + dbType_RCT, + PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, + dbType_local, + PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, + dbType_local, + RCT_App1_init, + sizeof(RCT_App1_init)/sizeof(RCT_App1_init[0]), + dataKeys_App1_Init, + sizeof(dataKeys_App1_Init)/sizeof(dataKeys_App1_Init[0]), + dataFiles_App1_Init, + sizeof(dataFiles_App1_Init)/sizeof(dataFiles_App1_Init[0]) +} ; + +/********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ +static entryRctInit_s RCT_App2_init[] = +{ + {"App2_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}} +} ; + +static entryDataInit_s dataKeys_App2_Init[] = {}; + +static entryDataInit_s dataFiles_App2_Init[] = {}; + +static dataInit_s s_App2_DataInit = +{ + PERS_ORG_LOCAL_APP_WT_PATH_"App2/", + PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_RCT_NAME, + dbType_RCT, + PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, + dbType_local, + PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, + dbType_local, + RCT_App2_init, + sizeof(RCT_App2_init)/sizeof(RCT_App2_init[0]), + dataKeys_App2_Init, + sizeof(dataKeys_App2_Init)/sizeof(dataKeys_App2_Init[0]), + dataFiles_App2_Init, + sizeof(dataFiles_App2_Init)/sizeof(dataFiles_App2_Init[0]) +} ; + + +//=================================================================================================================== +// BACKUP CONTENT +//=================================================================================================================== +// the backup content is obtained trough the backup process + +//=================================================================================================================== +// EXPECTED +//=================================================================================================================== + +expected_key_data_localDB_s expected_key_data_after_restore_All_InitialContent[16 + 16 + 16 + 32+ 32] = +{ + /********************************************************************************************************************************************** + ***************************************** public ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true,"Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true,"Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true,"Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true,"Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")}, + + + /********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingA", sizeof("Data>>/gr10_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2::seat1", sizeof("Data>>/gr10_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2:seat2", sizeof("Data>>/gr10_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingC", sizeof("Data>>/gr10_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user1", sizeof("Data>>/gr10_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user2", sizeof("Data>>/gr10_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user3", sizeof("Data>>/gr10_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user4", sizeof("Data>>/gr10_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingD", sizeof("Data>>/gr10_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat1", sizeof("Data>>/gr10_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat2", sizeof("Data>>/gr10_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingF", sizeof("Data>>/gr10_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user1", sizeof("Data>>/gr10_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user2", sizeof("Data>>/gr10_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user3", sizeof("Data>>/gr10_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user4", sizeof("Data>>/gr10_Setting/DEF::user4")}, + + /********************************************************************************************************************************************** + ***************************************** Group 20 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingA", sizeof("Data>>/gr20_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2::seat1", sizeof("Data>>/gr20_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2:seat2", sizeof("Data>>/gr20_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingC", sizeof("Data>>/gr20_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user1", sizeof("Data>>/gr20_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user2", sizeof("Data>>/gr20_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user3", sizeof("Data>>/gr20_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user4", sizeof("Data>>/gr20_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingD", sizeof("Data>>/gr20_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat1", sizeof("Data>>/gr20_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat2", sizeof("Data>>/gr20_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingF", sizeof("Data>>/gr20_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user1", sizeof("Data>>/gr20_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user2", sizeof("Data>>/gr20_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user3", sizeof("Data>>/gr20_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user4", sizeof("Data>>/gr20_Setting/DEF::user4")}, + + /********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")}, + + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")}, + + + /********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")}, + + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")} +} ; + +expected_file_data_s expected_file_data_after_restore_All_InitialContent[10 + 10 + 10 + 10 + 10] = +{ + /********************************************************************************************************************************************** + ***************************************** public ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", true, "File>>/doc1.txt" , sizeof("File>>/doc1.txt")}, + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", true, "File>>/Docs/doc2.txt" , sizeof("File>>/Docs/doc2.txt")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", true, "File>>/docA.txt::user1" , sizeof("File>>/docA.txt::user1")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", true, "File>>/docA.txt::user2" , sizeof("File>>/docA.txt::user2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", true, "File>>/docA.txt::user3" , sizeof("File>>/docA.txt::user3")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", true, "File>>/docA.txt::user4" , sizeof("File>>/docA.txt::user4")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>/docB.txt::user2:seat1" , sizeof("File>>/docB.txt::user2:seat1")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>/docB.txt::user2:seat2" , sizeof("File>>/docB.txt::user2:seat2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>/docB.txt::user2:seat3" , sizeof("File>>/docB.txt::user2:seat3")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>/docB.txt::user2:seat4" , sizeof("File>>/docB.txt::user2:seat4")}, + + + /********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ + {PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt" , sizeof("File>>gr10_>>/gr10_1.txt" )}, + {PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", true, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof("File>>gr10_>>/Docs/gr10_A.txt" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user1" , sizeof("File>>gr10_>>/gr10_2.txt::user1" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user2" , sizeof("File>>gr10_>>/gr10_2.txt::user2" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user3" , sizeof("File>>gr10_>>/gr10_2.txt::user3" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user4" , sizeof("File>>gr10_>>/gr10_2.txt::user4" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" )}, + + + /********************************************************************************************************************************************** + ***************************************** Group 20 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>gr20_>>/doc1.txt" , sizeof("File>>gr20_>>/doc1.txt")}, + { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>gr20_>>/Docs/doc2.txt" , sizeof("File>>gr20_>>/Docs/doc2.txt")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>gr20_>>/docA.txt::user1", sizeof("File>>gr20_>>/docA.txt::user1")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>gr20_>>/docA.txt::user2", sizeof("File>>gr20_>>/docA.txt::user2")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>gr20_>>/docA.txt::user3", sizeof("File>>gr20_>>/docA.txt::user3")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>gr20_>>/docA.txt::user4", sizeof("File>>gr20_>>/docA.txt::user4")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat1" , sizeof("File>>gr20_>>/docB.txt::user2:seat1")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat2" , sizeof("File>>gr20_>>/docB.txt::user2:seat2")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat3" , sizeof("File>>gr20_>>/docB.txt::user2:seat3")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat4" , sizeof("File>>gr20_>>/docB.txt::user2:seat4")}, + + + /********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )}, + + + /********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App2>>/doc1.txt" , sizeof("File>>App2>>/doc1.txt")}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App2>>/Docs/doc2.txt" , sizeof("File>>App2>>/Docs/doc2.txt")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App2>>/docA.txt::user1" , sizeof("File>>App2>>/docA.txt::user1")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App2>>/docA.txt::user2" , sizeof("File>>App2>>/docA.txt::user2")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App2>>/docA.txt::user3" , sizeof("File>>App2>>/docA.txt::user3")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App2>>/docA.txt::user4" , sizeof("File>>App2>>/docA.txt::user4")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4")} +} ; + + +//=================================================================================================================== + +static bool_t EraseReferenceData(void) +{ + bool_t bEverythingOK = true ; + pstr_t referenceDataPath = PERS_ORG_LOCAL_APP_CACHE_PATH_ ; + + sint_t result = DeleteFolderContent(referenceDataPath) ; + if(result < 0) + { + bEverythingOK = false ; + } + + if(bEverythingOK) + { + dataInit_s* sDataInit[] = + { + &sSharedPubDataInit, + &sShared_Group10_DataInit, + &sShared_Group20_DataInit, + &s_App1_DataInit, + &s_App2_DataInit + }; + + sint_t i = 0 ; + for(i = 0 ; i < sizeof(sDataInit)/sizeof(sDataInit[0]) ; i++) + { + if(! InitDataFolder(sDataInit[i])) + { + bEverythingOK = false ; + } + } + } + + return bEverythingOK ; +} + + +bool_t Test_Recover_All_InitialContent(sint_t type, void* pv) +{ + bool_t bEverythingOK = true ; + long lTemp ; + + str_t pchBackupFilePath [PATH_ABS_MAX_SIZE]; + + /* Create backup */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Create backup to : "), + DLT_STRING(BACKUP_FOLDER), + DLT_STRING("...")); + lTemp = persAdminDataBackupCreate( PersASSelectionType_All, + BACKUP_FOLDER, + "", + USER_DONT_CARE, + SEAT_DONT_CARE); + + bEverythingOK = (lTemp >= 0) ? true : false ; + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_All_InitialContent: persAdminDataBackupCreate() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + + if(true == bEverythingOK) + { + DeleteFolder(BACKUP_CONTENT_FOLDER); + + + /* Reset the destination content (except the RCT files) */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Erase reference data...")); + + bEverythingOK = EraseReferenceData(); + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_All_InitialContent: EraseReferenceData() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + } + + if(true == bEverythingOK) + { + (void)snprintf(pchBackupFilePath, sizeof(pchBackupFilePath), "%s%s", "all", BACKUP_FORMAT); + + /* Restore content */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Restore backup from : "), + DLT_STRING(pchBackupFilePath), + DLT_STRING("...")); + + lTemp = persAdminDataBackupRecovery( PersASSelectionType_All, + pchBackupFilePath, + "", + USER_DONT_CARE, + SEAT_DONT_CARE); + bEverythingOK = (lTemp >= 0) ? true : false ; + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_All_InitialContent: data_backup_recovery() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + } + + return bEverythingOK ; +} /* Test_Recover_All_InitialContent */ diff --git a/test/pers_svc_test/src/test_pas_recovery_App1.c b/test/pers_svc_test/src/test_pas_recovery_App1.c new file mode 100644 index 0000000..55803d4 --- /dev/null +++ b/test/pers_svc_test/src/test_pas_recovery_App1.c @@ -0,0 +1,137 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#include "persComTypes.h" + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "test_PAS.h" +#include "persistence_admin_service.h" +#include "test_pas_data_backup_recovery.h" + +DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx); + +#define LT_HDR "TEST_PAS >> " + +//=================================================================================================================== +// INIT +//=================================================================================================================== +// using default structure offered by test framework + +//=================================================================================================================== +// BACKUP CONTENT +//=================================================================================================================== +// using a common backup content structure + +//=================================================================================================================== +// EXPECTED +//=================================================================================================================== + +expected_key_data_localDB_s expected_key_data_after_restore_App1[24] = +{ + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingK", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingK", sizeof("Data>>/App1_SettingK")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingL", sizeof("Data>>/App1_SettingL")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/KBL::user1", sizeof("Data>>/App1_Setting/KBL::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/KBL::user2", sizeof("Data>>/App1_Setting/KBL::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/KBL::user3", sizeof("Data>>/App1_Setting/KBL::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/KBL::user4", sizeof("Data>>/App1_Setting/KBL::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/KKK", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/KKK::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/XYZ", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/XYZ::user4")}, +}; + +expected_file_data_s expected_file_data_after_restore_App1[16] = +{ + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false,"File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false,"File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false,"File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false,"File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", true, "File>>App1>>/docK.txt::user1" , sizeof("File>>App1>>/docK.txt::user1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", true, "File>>App1>>/docK.txt::user2" , sizeof("File>>App1>>/docK.txt::user2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", true, "File>>App1>>/docK.txt::user3" , sizeof("File>>App1>>/docK.txt::user3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", true, "File>>App1>>/docK.txt::user4" , sizeof("File>>App1>>/docK.txt::user4" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", true, "File>>App1>>/docC.txt::user2:seat4" , sizeof("File>>App1>>/docC.txt::user2:seat4" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", true, "File>>App1>>/docD.txt::user2:seat4" , sizeof("File>>App1>>/docD.txt::user2:seat4" )} +} ; +//=================================================================================================================== + + +bool_t Test_Recover_App1(sint_t type, void* pv) +{ + bool_t bEverythingOK = true ; + long lTemp ; + str_t pchBackupFilePath [PATH_ABS_MAX_SIZE]; + + /* Reset the backup data for every test */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Reset backup content...")); + + lTemp = ResetBackupContent(PersASSelectionType_Application, "App1"); + bEverythingOK = (lTemp >= 0) ? true : false ; + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_App1: ResetBackupContent() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + + if(true == bEverythingOK) + { + (void)snprintf(pchBackupFilePath, sizeof(pchBackupFilePath), "%s%s", "App1", BACKUP_FORMAT); + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Restore backup from : "), + DLT_STRING(pchBackupFilePath), + DLT_STRING("...")); + + lTemp = persAdminDataBackupRecovery( PersASSelectionType_Application, + pchBackupFilePath, + "App1", + PERSIST_SELECT_ALL_USERS, + PERSIST_SELECT_ALL_SEATS); + bEverythingOK = (lTemp >= 0) ? true : false ; + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_App1: persAdminDataBackupRecovery() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + } + + return bEverythingOK ; +} /* Test_Recover_App1 */ diff --git a/test/pers_svc_test/src/test_pas_recovery_App1InitialContent.c b/test/pers_svc_test/src/test_pas_recovery_App1InitialContent.c new file mode 100644 index 0000000..9a3abba --- /dev/null +++ b/test/pers_svc_test/src/test_pas_recovery_App1InitialContent.c @@ -0,0 +1,625 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#include "persComTypes.h" + +#include +#include +#include +#include +#include + +#include +#include + +#include "test_PAS.h" +#include "persistence_admin_service.h" +#include "test_pas_data_backup_recovery.h" + +DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx); + +#define LT_HDR "TEST_PAS >> " + +#define PATH_ABS_MAX_SIZE ( 512) + +#define File_t PersistenceResourceType_file +#define Key_t PersistenceResourceType_key +//=================================================================================================================== +// INIT +//=================================================================================================================== + +/********************************************************************************************************************************************** +***************************************** public ******************************************************************************************* +*********************************************************************************************************************************************/ + +static entryRctInit_s RCT_public_init[] = +{ + {"pubSettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSetting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSetting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}} +}; + +static entryDataInit_s dataKeysPublicInit[] = {}; + +static entryDataInit_s dataFilesPublicInit[] = {}; + +static dataInit_s sSharedPubDataInit = +{ + PERS_ORG_SHARED_PUBLIC_WT_PATH_ , + PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, + dbType_RCT, + PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, + dbType_local, + PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, + dbType_local, + RCT_public_init, + sizeof(RCT_public_init)/sizeof(RCT_public_init[0]), + dataKeysPublicInit, + sizeof(dataKeysPublicInit)/sizeof(dataKeysPublicInit[0]), + dataFilesPublicInit, + sizeof(dataFilesPublicInit)/sizeof(dataFilesPublicInit[0]) +}; + +/********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ + +static entryRctInit_s RCT_group10_init[] = +{ + {"gr10_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"Docs/gr10_A.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_2.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"Docs/gr10_B.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}} +} ; + +static entryDataInit_s dataKeys_Group10_Init[] = {}; + +static entryDataInit_s dataFiles_Group10_Init[] = {}; + +static dataInit_s sShared_Group10_DataInit = +{ + PERS_ORG_SHARED_GROUP_WT_PATH_"10/", + PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_RCT_NAME, + dbType_RCT, + PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, + dbType_local, + PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, + dbType_local, + RCT_group10_init, + sizeof(RCT_group10_init)/sizeof(RCT_group10_init[0]), + dataKeys_Group10_Init, + sizeof(dataKeys_Group10_Init)/sizeof(dataKeys_Group10_Init[0]), + dataFiles_Group10_Init, + sizeof(dataFiles_Group10_Init)/sizeof(dataFiles_Group10_Init[0]) +} ; + +/********************************************************************************************************************************************** + ***************************************** Group 20 ******************************************************************************************* + *********************************************************************************************************************************************/ +static entryRctInit_s RCT_group20_init[] = +{ + {"gr20_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}} +} ; + +static entryDataInit_s dataKeys_Group20_Init[] = {}; + +static entryDataInit_s dataFiles_Group20_Init[] ={}; + +static dataInit_s sShared_Group20_DataInit = +{ + PERS_ORG_SHARED_GROUP_WT_PATH_"20/", + PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_RCT_NAME, + dbType_RCT, + PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, + dbType_local, + PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, + dbType_local, + RCT_group20_init, + sizeof(RCT_group20_init)/sizeof(RCT_group20_init[0]), + dataKeys_Group20_Init, + sizeof(dataKeys_Group20_Init)/sizeof(dataKeys_Group20_Init[0]), + dataFiles_Group20_Init, + sizeof(dataFiles_Group20_Init)/sizeof(dataFiles_Group20_Init[0]) +} ; + +/********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ +static entryRctInit_s RCT_App1_init[] = +{ + {"App1_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}} +} ; + +static entryDataInit_s dataKeys_App1_Init[] = {} ; + +static entryDataInit_s dataFiles_App1_Init[] = {}; + +static dataInit_s s_App1_DataInit = +{ + PERS_ORG_LOCAL_APP_WT_PATH_"App1/", + PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, + dbType_RCT, + PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, + dbType_local, + PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, + dbType_local, + RCT_App1_init, + sizeof(RCT_App1_init)/sizeof(RCT_App1_init[0]), + dataKeys_App1_Init, + sizeof(dataKeys_App1_Init)/sizeof(dataKeys_App1_Init[0]), + dataFiles_App1_Init, + sizeof(dataFiles_App1_Init)/sizeof(dataFiles_App1_Init[0]) +} ; + +/********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ +static entryRctInit_s RCT_App2_init[] = +{ + {"App2_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}} +} ; + +static entryDataInit_s dataKeys_App2_Init[] = {}; + +static entryDataInit_s dataFiles_App2_Init[] = {}; + +static dataInit_s s_App2_DataInit = +{ + PERS_ORG_LOCAL_APP_WT_PATH_"App2/", + PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_RCT_NAME, + dbType_RCT, + PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, + dbType_local, + PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, + dbType_local, + RCT_App2_init, + sizeof(RCT_App2_init)/sizeof(RCT_App2_init[0]), + dataKeys_App2_Init, + sizeof(dataKeys_App2_Init)/sizeof(dataKeys_App2_Init[0]), + dataFiles_App2_Init, + sizeof(dataFiles_App2_Init)/sizeof(dataFiles_App2_Init[0]) +} ; + + +//=================================================================================================================== +// BACKUP CONTENT +//=================================================================================================================== +// the backup content is obtained trough the backup process + +//=================================================================================================================== +// EXPECTED +//=================================================================================================================== + +expected_key_data_localDB_s expected_key_data_after_restore_App1_InitialContent[16 + 16 + 16 + 32+ 32] = +{ + /********************************************************************************************************************************************** + ***************************************** public ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")}, + + + /********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingA", sizeof("Data>>/gr10_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingB::user2::seat1", sizeof("Data>>/gr10_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingB::user2:seat2", sizeof("Data>>/gr10_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingC", sizeof("Data>>/gr10_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user1", sizeof("Data>>/gr10_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user2", sizeof("Data>>/gr10_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user3", sizeof("Data>>/gr10_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user4", sizeof("Data>>/gr10_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingD", sizeof("Data>>/gr10_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingE::user2:seat1", sizeof("Data>>/gr10_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingE::user2:seat2", sizeof("Data>>/gr10_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingF", sizeof("Data>>/gr10_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user1", sizeof("Data>>/gr10_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user2", sizeof("Data>>/gr10_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user3", sizeof("Data>>/gr10_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user4", sizeof("Data>>/gr10_Setting/DEF::user4")}, + + /********************************************************************************************************************************************** + ***************************************** Group 20 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingA", sizeof("Data>>/gr20_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingB::user2::seat1", sizeof("Data>>/gr20_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingB::user2:seat2", sizeof("Data>>/gr20_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingC", sizeof("Data>>/gr20_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user1", sizeof("Data>>/gr20_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user2", sizeof("Data>>/gr20_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user3", sizeof("Data>>/gr20_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user4", sizeof("Data>>/gr20_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingD", sizeof("Data>>/gr20_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingE::user2:seat1", sizeof("Data>>/gr20_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingE::user2:seat2", sizeof("Data>>/gr20_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingF", sizeof("Data>>/gr20_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user1", sizeof("Data>>/gr20_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user2", sizeof("Data>>/gr20_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user3", sizeof("Data>>/gr20_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user4", sizeof("Data>>/gr20_Setting/DEF::user4")}, + + /********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")}, + + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")}, + + + /********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")}, + + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")} +} ; + +expected_file_data_s expected_file_data_after_restore_App1_InitialContent[10 + 10 + 10 + 10 + 10] = +{ + /********************************************************************************************************************************************** + ***************************************** public ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", false, "File>>/doc1.txt" , sizeof("File>>/doc1.txt")}, + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", false, "File>>/Docs/doc2.txt" , sizeof("File>>/Docs/doc2.txt")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", false, "File>>/docA.txt::user1" , sizeof("File>>/docA.txt::user1")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", false, "File>>/docA.txt::user2" , sizeof("File>>/docA.txt::user2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", false, "File>>/docA.txt::user3" , sizeof("File>>/docA.txt::user3")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", false, "File>>/docA.txt::user4" , sizeof("File>>/docA.txt::user4")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>/docB.txt::user2:seat1" , sizeof("File>>/docB.txt::user2:seat1")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>/docB.txt::user2:seat2" , sizeof("File>>/docB.txt::user2:seat2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>/docB.txt::user2:seat3" , sizeof("File>>/docB.txt::user2:seat3")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>/docB.txt::user2:seat4" , sizeof("File>>/docB.txt::user2:seat4")}, + + + /********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", false, "File>>gr10_>>/gr10_1.txt" , sizeof("File>>gr10_>>/gr10_1.txt" )}, + { PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", false, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof("File>>gr10_>>/Docs/gr10_A.txt" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user1" , sizeof("File>>gr10_>>/gr10_2.txt::user1" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user2" , sizeof("File>>gr10_>>/gr10_2.txt::user2" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user3" , sizeof("File>>gr10_>>/gr10_2.txt::user3" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user4" , sizeof("File>>gr10_>>/gr10_2.txt::user4" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt",false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt",false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt",false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt",false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" )}, + + + /********************************************************************************************************************************************** + ***************************************** Group 20 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>gr20_>>/doc1.txt" , sizeof("File>>gr20_>>/doc1.txt")}, + { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>gr20_>>/Docs/doc2.txt" , sizeof("File>>gr20_>>/Docs/doc2.txt")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false, "File>>gr20_>>/docA.txt::user1", sizeof("File>>gr20_>>/docA.txt::user1")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false, "File>>gr20_>>/docA.txt::user2", sizeof("File>>gr20_>>/docA.txt::user2")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>gr20_>>/docA.txt::user3", sizeof("File>>gr20_>>/docA.txt::user3")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>gr20_>>/docA.txt::user4", sizeof("File>>gr20_>>/docA.txt::user4")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat1" , sizeof("File>>gr20_>>/docB.txt::user2:seat1")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat2" , sizeof("File>>gr20_>>/docB.txt::user2:seat2")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat3" , sizeof("File>>gr20_>>/docB.txt::user2:seat3")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat4" , sizeof("File>>gr20_>>/docB.txt::user2:seat4")}, + + + /********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )}, + + + /********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>App2>>/doc1.txt" , sizeof("File>>App2>>/doc1.txt")}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>App2>>/Docs/doc2.txt" , sizeof("File>>App2>>/Docs/doc2.txt")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false, "File>>App2>>/docA.txt::user1" , sizeof("File>>App2>>/docA.txt::user1")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false, "File>>App2>>/docA.txt::user2" , sizeof("File>>App2>>/docA.txt::user2")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>App2>>/docA.txt::user3" , sizeof("File>>App2>>/docA.txt::user3")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>App2>>/docA.txt::user4" , sizeof("File>>App2>>/docA.txt::user4")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4")} +} ; + + +//=================================================================================================================== + +static bool_t EraseReferenceData(void) +{ + bool_t bEverythingOK = true ; + pstr_t referenceDataPath = PERS_ORG_LOCAL_APP_CACHE_PATH_ ; + + sint_t result = DeleteFolderContent(referenceDataPath) ; + if(result < 0) + { + bEverythingOK = false ; + } + + if(bEverythingOK) + { + dataInit_s* sDataInit[] = + { + &sSharedPubDataInit, + &sShared_Group10_DataInit, + &sShared_Group20_DataInit, + &s_App1_DataInit, + &s_App2_DataInit + }; + + sint_t i = 0 ; + for(i = 0 ; i < sizeof(sDataInit)/sizeof(sDataInit[0]) ; i++) + { + if(! InitDataFolder(sDataInit[i])) + { + bEverythingOK = false ; + } + } + } + + return bEverythingOK ; +} + + +bool_t Test_Recover_App1_InitialContent_From_All(sint_t type, void* pv) +{ + bool_t bEverythingOK = true ; + + long lTemp ; + str_t pchBackupFilePath [PATH_ABS_MAX_SIZE]; + + /* Create backup */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Create backup to : "), + DLT_STRING(BACKUP_FOLDER), + DLT_STRING("...")); + lTemp = persAdminDataBackupCreate( PersASSelectionType_All, + BACKUP_FOLDER, + "", + PERSIST_SELECT_ALL_USERS, + PERSIST_SELECT_ALL_SEATS); + bEverythingOK = (lTemp >= 0) ? true : false ; + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_App1_InitialContent_From_All: persAdminDataBackupCreate() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + if(true == bEverythingOK) + { + DeleteFolder(BACKUP_CONTENT_FOLDER); + + + /* Reset the destination content (except the RCT files) */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Erase reference data...")); + + bEverythingOK = EraseReferenceData(); + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_App1_InitialContent_From_All: EraseReferenceData() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + } + + if(true == bEverythingOK) + { + (void)snprintf(pchBackupFilePath, sizeof(pchBackupFilePath), "%s%s", "all", BACKUP_FORMAT); + + /* Restore content */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Restore backup from : "), + DLT_STRING(pchBackupFilePath), + DLT_STRING("...")); + + lTemp = persAdminDataBackupRecovery( PersASSelectionType_Application, + pchBackupFilePath, + "App1", + PERSIST_SELECT_ALL_USERS, + PERSIST_SELECT_ALL_SEATS); + bEverythingOK = (lTemp >= 0) ? true : false ; + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_App1_InitialContent_From_All: data_backup_recovery() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + } + return bEverythingOK ; +} /* Test_Recover_App1_InitialContent_From_All */ + + + +bool_t Test_Recover_App1_InitialContent_From_App1(sint_t type, void* pv) +{ + bool_t bEverythingOK = true ; + long lTemp ; + str_t pchBackupFilePath [PATH_ABS_MAX_SIZE]; + + /* Create backup */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Create backup to : "), + DLT_STRING(BACKUP_FOLDER), + DLT_STRING("...")); + lTemp = persAdminDataBackupCreate( PersASSelectionType_Application, + BACKUP_FOLDER, + "App1", + PERSIST_SELECT_ALL_USERS, + PERSIST_SELECT_ALL_SEATS); + bEverythingOK = (lTemp >= 0) ? true : false ; + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_App1_InitialContent_From_App1: persAdminDataBackupCreate() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + + if(true == bEverythingOK) + { + DeleteFolder(BACKUP_CONTENT_FOLDER); + + + /* Reset the destination content (except the RCT files) */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Erase reference data...")); + + bEverythingOK = EraseReferenceData(); + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_App1_InitialContent_From_App1: EraseReferenceData() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + } + + if(true == bEverythingOK) + { + (void)snprintf(pchBackupFilePath, sizeof(pchBackupFilePath), "%s%s", "App1", BACKUP_FORMAT); + + /* Restore content */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Restore backup from : "), + DLT_STRING(pchBackupFilePath), + DLT_STRING("...")); + + lTemp = persAdminDataBackupRecovery( PersASSelectionType_Application, + pchBackupFilePath, + "App1", + USER_DONT_CARE, + SEAT_DONT_CARE); + bEverythingOK = (lTemp >= 0) ? true : false ; + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_App1_InitialContent_From_App1: data_backup_recovery() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + } + + + return bEverythingOK ; +} /* Test_Recover_App1_InitialContent_From_App1 */ diff --git a/test/pers_svc_test/src/test_pas_recovery_User1.c b/test/pers_svc_test/src/test_pas_recovery_User1.c new file mode 100644 index 0000000..4e53971 --- /dev/null +++ b/test/pers_svc_test/src/test_pas_recovery_User1.c @@ -0,0 +1,139 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#include "persComTypes.h" + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "test_PAS.h" +#include "persistence_admin_service.h" +#include "test_pas_data_backup_recovery.h" + +DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx); + +#define LT_HDR "TEST_PAS >> " + +#define PATH_ABS_MAX_SIZE ( 512) + +//=================================================================================================================== +// INIT +//=================================================================================================================== +// using default structure offered by test framework + + +//=================================================================================================================== +// BACKUP CONTENT +//=================================================================================================================== +// using a common backup content structure + + +//=================================================================================================================== +// EXPECTED +//=================================================================================================================== +expected_key_data_localDB_s expected_App1_key_data_after_restore_User1[24] = +{ + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingK", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingK", sizeof("Data>>/App1_SettingK")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingL", sizeof("Data>>/App1_SettingL")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/KBL::user1", sizeof("Data>>/App1_Setting/KBL::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/KBL::user2", sizeof("Data>>/App1_Setting/KBL::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/KBL::user3", sizeof("Data>>/App1_Setting/KBL::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/KBL::user4", sizeof("Data>>/App1_Setting/KBL::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/KKK", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/KKK::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/XYZ", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/XYZ::user4")}, +}; + +expected_file_data_s expected_App1_file_data_after_restore_User1[16] = +{ + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false, "File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", true, "File>>App1>>/docK.txt::user1" , sizeof("File>>App1>>/docK.txt::user1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", false, "File>>App1>>/docK.txt::user2" , sizeof("File>>App1>>/docK.txt::user2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", false, "File>>App1>>/docK.txt::user3" , sizeof("File>>App1>>/docK.txt::user3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", false, "File>>App1>>/docK.txt::user4" , sizeof("File>>App1>>/docK.txt::user4" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", false, "File>>App1>>/docC.txt::user2:seat4" , sizeof("File>>App1>>/docC.txt::user2:seat4" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", false, "File>>App1>>/docD.txt::user2:seat4" , sizeof("File>>App1>>/docD.txt::user2:seat4" )} +}; +//=================================================================================================================== + +bool_t Test_Recover_User1(sint_t type, void* pv) +{ + + bool_t bEverythingOK = true ; + + str_t pchBackupFilePath [PATH_ABS_MAX_SIZE]; + + /* Reset the backup data for every test */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Reset backup content...")); + + bEverythingOK = ResetBackupContent(PersASSelectionType_User, NULL) ; + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_User1: ResetBackupContent() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + + if(true == bEverythingOK) + { + (void)snprintf(pchBackupFilePath, sizeof(pchBackupFilePath), "%s%s", "user", BACKUP_FORMAT); + + /* Restore content */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Restore backup from : "), + DLT_STRING(pchBackupFilePath), + DLT_STRING("...")); + + bEverythingOK = persAdminDataBackupRecovery( PersASSelectionType_User, + pchBackupFilePath, + "", + 0x01, + PERSIST_SELECT_ALL_SEATS); + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_User1: persAdminDataBackupRecovery() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + } + + return bEverythingOK ; +} /* Test_Recover_User1 */ diff --git a/test/pers_svc_test/src/test_pas_recovery_User1InitialContent.c b/test/pers_svc_test/src/test_pas_recovery_User1InitialContent.c new file mode 100644 index 0000000..ad65054 --- /dev/null +++ b/test/pers_svc_test/src/test_pas_recovery_User1InitialContent.c @@ -0,0 +1,617 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#include "persComTypes.h" + +#include +#include +#include +#include +#include + +#include +#include + +#include "test_PAS.h" +#include "persistence_admin_service.h" +#include "test_pas_data_backup_recovery.h" + +DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx); + +#define LT_HDR "TEST_PAS >> " + +#define File_t PersistenceResourceType_file +#define Key_t PersistenceResourceType_key + +//=================================================================================================================== +// INIT +//=================================================================================================================== + +/********************************************************************************************************************************************** +***************************************** public ******************************************************************************************* +*********************************************************************************************************************************************/ + +static entryRctInit_s RCT_public_init[] = +{ + {"pubSettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSetting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSetting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}} +}; + +static entryDataInit_s dataKeysPublicInit[] = {}; + +static entryDataInit_s dataFilesPublicInit[] = {}; + +static dataInit_s sSharedPubDataInit = +{ + PERS_ORG_SHARED_PUBLIC_WT_PATH_ , + PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, + dbType_RCT, + PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, + dbType_local, + PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, + dbType_local, + RCT_public_init, + sizeof(RCT_public_init)/sizeof(RCT_public_init[0]), + dataKeysPublicInit, + sizeof(dataKeysPublicInit)/sizeof(dataKeysPublicInit[0]), + dataFilesPublicInit, + sizeof(dataFilesPublicInit)/sizeof(dataFilesPublicInit[0]) +}; + +/********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ + +static entryRctInit_s RCT_group10_init[] = +{ + {"gr10_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"Docs/gr10_A.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_2.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"Docs/gr10_B.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}} +} ; + +static entryDataInit_s dataKeys_Group10_Init[] = {}; + +static entryDataInit_s dataFiles_Group10_Init[] = {}; + +static dataInit_s sShared_Group10_DataInit = +{ + PERS_ORG_SHARED_GROUP_WT_PATH_"10/", + PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_RCT_NAME, + dbType_RCT, + PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, + dbType_local, + PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, + dbType_local, + RCT_group10_init, + sizeof(RCT_group10_init)/sizeof(RCT_group10_init[0]), + dataKeys_Group10_Init, + sizeof(dataKeys_Group10_Init)/sizeof(dataKeys_Group10_Init[0]), + dataFiles_Group10_Init, + sizeof(dataFiles_Group10_Init)/sizeof(dataFiles_Group10_Init[0]) +} ; + +/********************************************************************************************************************************************** + ***************************************** Group 20 ******************************************************************************************* + *********************************************************************************************************************************************/ +static entryRctInit_s RCT_group20_init[] = +{ + {"gr20_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}} +} ; + +static entryDataInit_s dataKeys_Group20_Init[] = {}; + +static entryDataInit_s dataFiles_Group20_Init[] ={}; + +static dataInit_s sShared_Group20_DataInit = +{ + PERS_ORG_SHARED_GROUP_WT_PATH_"20/", + PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_RCT_NAME, + dbType_RCT, + PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, + dbType_local, + PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, + dbType_local, + RCT_group20_init, + sizeof(RCT_group20_init)/sizeof(RCT_group20_init[0]), + dataKeys_Group20_Init, + sizeof(dataKeys_Group20_Init)/sizeof(dataKeys_Group20_Init[0]), + dataFiles_Group20_Init, + sizeof(dataFiles_Group20_Init)/sizeof(dataFiles_Group20_Init[0]) +} ; + +/********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ +static entryRctInit_s RCT_App1_init[] = +{ + {"App1_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}} +} ; + +static entryDataInit_s dataKeys_App1_Init[] = {} ; + +static entryDataInit_s dataFiles_App1_Init[] = {}; + +static dataInit_s s_App1_DataInit = +{ + PERS_ORG_LOCAL_APP_WT_PATH_"App1/", + PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, + dbType_RCT, + PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, + dbType_local, + PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, + dbType_local, + RCT_App1_init, + sizeof(RCT_App1_init)/sizeof(RCT_App1_init[0]), + dataKeys_App1_Init, + sizeof(dataKeys_App1_Init)/sizeof(dataKeys_App1_Init[0]), + dataFiles_App1_Init, + sizeof(dataFiles_App1_Init)/sizeof(dataFiles_App1_Init[0]) +} ; + +/********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ +static entryRctInit_s RCT_App2_init[] = +{ + {"App2_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}} +} ; + +static entryDataInit_s dataKeys_App2_Init[] = {}; + +static entryDataInit_s dataFiles_App2_Init[] = {}; + +static dataInit_s s_App2_DataInit = +{ + PERS_ORG_LOCAL_APP_WT_PATH_"App2/", + PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_RCT_NAME, + dbType_RCT, + PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, + dbType_local, + PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, + dbType_local, + RCT_App2_init, + sizeof(RCT_App2_init)/sizeof(RCT_App2_init[0]), + dataKeys_App2_Init, + sizeof(dataKeys_App2_Init)/sizeof(dataKeys_App2_Init[0]), + dataFiles_App2_Init, + sizeof(dataFiles_App2_Init)/sizeof(dataFiles_App2_Init[0]) +} ; + + +//=================================================================================================================== +// BACKUP CONTENT +//=================================================================================================================== +// the backup content is obtained trough the backup process + +//=================================================================================================================== +// EXPECTED +//=================================================================================================================== + +expected_key_data_localDB_s expected_key_data_after_restore_User1_InitialContent[16 + 16 + 16 + 32+ 32] = +{ + /********************************************************************************************************************************************** + ***************************************** public ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")}, + + + /********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingA", sizeof("Data>>/gr10_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingB::user2::seat1", sizeof("Data>>/gr10_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingB::user2:seat2", sizeof("Data>>/gr10_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingC", sizeof("Data>>/gr10_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user1", sizeof("Data>>/gr10_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user2", sizeof("Data>>/gr10_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user3", sizeof("Data>>/gr10_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user4", sizeof("Data>>/gr10_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingD", sizeof("Data>>/gr10_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingE::user2:seat1", sizeof("Data>>/gr10_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingE::user2:seat2", sizeof("Data>>/gr10_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingF", sizeof("Data>>/gr10_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user1", sizeof("Data>>/gr10_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user2", sizeof("Data>>/gr10_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user3", sizeof("Data>>/gr10_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user4", sizeof("Data>>/gr10_Setting/DEF::user4")}, + + /********************************************************************************************************************************************** + ***************************************** Group 20 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingA", sizeof("Data>>/gr20_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingB::user2::seat1", sizeof("Data>>/gr20_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingB::user2:seat2", sizeof("Data>>/gr20_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingC", sizeof("Data>>/gr20_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user1", sizeof("Data>>/gr20_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user2", sizeof("Data>>/gr20_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user3", sizeof("Data>>/gr20_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user4", sizeof("Data>>/gr20_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingD", sizeof("Data>>/gr20_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingE::user2:seat1", sizeof("Data>>/gr20_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingE::user2:seat2", sizeof("Data>>/gr20_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingF", sizeof("Data>>/gr20_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user1", sizeof("Data>>/gr20_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user2", sizeof("Data>>/gr20_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user3", sizeof("Data>>/gr20_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user4", sizeof("Data>>/gr20_Setting/DEF::user4")}, + + /********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")}, + + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")}, + + + /********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")}, + + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")} +} ; + +expected_file_data_s expected_file_data_after_restore_User1_InitialContent[10 + 10 + 10 + 10 + 10] = +{ + /********************************************************************************************************************************************** + ***************************************** public ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", false, "File>>/doc1.txt", sizeof("File>>/doc1.txt")}, + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", false, "File>>/Docs/doc2.txt", sizeof("File>>/Docs/doc2.txt")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", true, "File>>/docA.txt::user1", sizeof("File>>/docA.txt::user1")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", false, "File>>/docA.txt::user2", sizeof("File>>/docA.txt::user2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", false, "File>>/docA.txt::user3", sizeof("File>>/docA.txt::user3")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", false, "File>>/docA.txt::user4", sizeof("File>>/docA.txt::user4")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>/docB.txt::user2:seat1", sizeof("File>>/docB.txt::user2:seat1")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>/docB.txt::user2:seat2", sizeof("File>>/docB.txt::user2:seat2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>/docB.txt::user2:seat3", sizeof("File>>/docB.txt::user2:seat3")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>/docB.txt::user2:seat4", sizeof("File>>/docB.txt::user2:seat4")}, + + + /********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", false, "File>>gr10_>>/gr10_1.txt" , sizeof("File>>gr10_>>/gr10_1.txt" )}, + { PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", false, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof("File>>gr10_>>/Docs/gr10_A.txt" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user1" , sizeof("File>>gr10_>>/gr10_2.txt::user1" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user2" , sizeof("File>>gr10_>>/gr10_2.txt::user2" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user3" , sizeof("File>>gr10_>>/gr10_2.txt::user3" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user4" , sizeof("File>>gr10_>>/gr10_2.txt::user4" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt", false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt", false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt", false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt", false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" )}, + + + /********************************************************************************************************************************************** + ***************************************** Group 20 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>gr20_>>/doc1.txt" , sizeof("File>>gr20_>>/doc1.txt")}, + { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>gr20_>>/Docs/doc2.txt" , sizeof("File>>gr20_>>/Docs/doc2.txt")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>gr20_>>/docA.txt::user1", sizeof("File>>gr20_>>/docA.txt::user1")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false, "File>>gr20_>>/docA.txt::user2", sizeof("File>>gr20_>>/docA.txt::user2")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>gr20_>>/docA.txt::user3", sizeof("File>>gr20_>>/docA.txt::user3")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>gr20_>>/docA.txt::user4", sizeof("File>>gr20_>>/docA.txt::user4")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat1" , sizeof("File>>gr20_>>/docB.txt::user2:seat1")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat2" , sizeof("File>>gr20_>>/docB.txt::user2:seat2")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat3" , sizeof("File>>gr20_>>/docB.txt::user2:seat3")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat4" , sizeof("File>>gr20_>>/docB.txt::user2:seat4")}, + + + /********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false, "File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )}, + + + /********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>App2>>/doc1.txt" , sizeof("File>>App2>>/doc1.txt")}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>App2>>/Docs/doc2.txt" , sizeof("File>>App2>>/Docs/doc2.txt")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App2>>/docA.txt::user1" , sizeof("File>>App2>>/docA.txt::user1")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false, "File>>App2>>/docA.txt::user2" , sizeof("File>>App2>>/docA.txt::user2")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>App2>>/docA.txt::user3" , sizeof("File>>App2>>/docA.txt::user3")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>App2>>/docA.txt::user4" , sizeof("File>>App2>>/docA.txt::user4")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4")} +} ; + + +//=================================================================================================================== + +static bool_t EraseReferenceData(void) +{ + bool_t bEverythingOK = true ; + pstr_t referenceDataPath = PERS_ORG_LOCAL_APP_CACHE_PATH_ ; + + sint_t result = DeleteFolderContent(referenceDataPath) ; + if(result < 0) + { + bEverythingOK = false ; + } + + if(bEverythingOK) + { + dataInit_s* sDataInit[] = + { + &sSharedPubDataInit, + &sShared_Group10_DataInit, + &sShared_Group20_DataInit, + &s_App1_DataInit, + &s_App2_DataInit + }; + + sint_t i = 0 ; + for(i = 0 ; i < sizeof(sDataInit)/sizeof(sDataInit[0]) ; i++) + { + if(! InitDataFolder(sDataInit[i])) + { + bEverythingOK = false ; + } + } + } + + return bEverythingOK ; +} + + +bool_t Test_Recover_User1_InitialContent_From_All(sint_t type, void* pv) +{ + bool_t bEverythingOK = true ; + long lTemp ; + str_t pchBackupFilePath [PATH_ABS_MAX_SIZE]; + + /* Create backup */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Create backup to : "), + DLT_STRING(BACKUP_FOLDER), + DLT_STRING("...")); + lTemp = persAdminDataBackupCreate( PersASSelectionType_All, + BACKUP_FOLDER, + "", + PERSIST_SELECT_ALL_USERS, + PERSIST_SELECT_ALL_SEATS); + bEverythingOK = (lTemp >= 0) ? true : false ; + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_User1_InitialContent_From_All: persAdminDataBackupCreate() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + + if(true == bEverythingOK) + { + DeleteFolder(BACKUP_CONTENT_FOLDER); + + + /* Reset the destination content (except the RCT files) */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Erase reference data...")); + + bEverythingOK = EraseReferenceData(); + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_User1_InitialContent_From_All: EraseReferenceData() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + } + + if(true == bEverythingOK) + { + (void)snprintf(pchBackupFilePath, sizeof(pchBackupFilePath), "%s%s", "all", BACKUP_FORMAT); + /* Restore content */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Restore backup from : "), + DLT_STRING(pchBackupFilePath), + DLT_STRING("...")); + + lTemp = persAdminDataBackupRecovery( PersASSelectionType_User, + pchBackupFilePath, + "", + 0x01, + PERSIST_SELECT_ALL_SEATS); + bEverythingOK = (lTemp >= 0) ? true : false ; + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_User1_InitialContent_From_All: persAdminDataBackupRecovery() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + } + + return bEverythingOK ; +} /* Test_Recover_User1_InitialContent_From_All */ + + +bool_t Test_Recover_User1_InitialContent_From_User1(sint_t type, void* pv) +{ + bool_t bEverythingOK = true ; + long lTemp ; + str_t pchBackupFilePath [PATH_ABS_MAX_SIZE]; + + /* Create backup */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Create backup to : "), + DLT_STRING(BACKUP_FOLDER), + DLT_STRING("...")); + lTemp = persAdminDataBackupCreate( PersASSelectionType_User, + BACKUP_FOLDER, + "", + 0x01, + PERSIST_SELECT_ALL_SEATS); + bEverythingOK = (lTemp >= 0) ? true : false ; + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_User1_InitialContent_From_User1: data_backup_create() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + + + if(true == bEverythingOK) + { + /* Reset the destination content (except the RCT files) */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Erase reference data...")); + + bEverythingOK = EraseReferenceData(); + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_User1_InitialContent_From_User1: EraseReferenceData() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + } + + if(true == bEverythingOK) + { + (void)snprintf(pchBackupFilePath, sizeof(pchBackupFilePath), "%s%s", "user", BACKUP_FORMAT); + + /* Restore content */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Restore backup from : "), + DLT_STRING(pchBackupFilePath), + DLT_STRING("...")); + + lTemp = persAdminDataBackupRecovery( PersASSelectionType_User, + pchBackupFilePath, + "", + 0x01, + PERSIST_SELECT_ALL_SEATS); + bEverythingOK = (lTemp >= 0) ? true : false ; + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_User1_InitialContent_From_User1: data_backup_recovery() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + } + + return bEverythingOK ; +} /* Test_Recover_User1_InitialContent_From_User1 */ diff --git a/test/pers_svc_test/src/test_pas_recovery_User2Seat1InitialContent.c b/test/pers_svc_test/src/test_pas_recovery_User2Seat1InitialContent.c new file mode 100644 index 0000000..eea1d7e --- /dev/null +++ b/test/pers_svc_test/src/test_pas_recovery_User2Seat1InitialContent.c @@ -0,0 +1,620 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#include "persComTypes.h" + +#include +#include +#include +#include +#include + +#include +#include + +#include "test_PAS.h" +#include "persistence_admin_service.h" +#include "test_pas_data_backup_recovery.h" + +DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx); + +#define LT_HDR "TEST_PAS >> " + +#define File_t PersistenceResourceType_file +#define Key_t PersistenceResourceType_key + +//=================================================================================================================== +// INIT +//=================================================================================================================== + +/********************************************************************************************************************************************** +***************************************** public ******************************************************************************************* +*********************************************************************************************************************************************/ + +static entryRctInit_s RCT_public_init[] = +{ + {"pubSettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSetting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSetting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}} +}; + +static entryDataInit_s dataKeysPublicInit[] = {}; + +static entryDataInit_s dataFilesPublicInit[] = {}; + +static dataInit_s sSharedPubDataInit = +{ + PERS_ORG_SHARED_PUBLIC_WT_PATH_ , + PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, + dbType_RCT, + PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, + dbType_local, + PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, + dbType_local, + RCT_public_init, + sizeof(RCT_public_init)/sizeof(RCT_public_init[0]), + dataKeysPublicInit, + sizeof(dataKeysPublicInit)/sizeof(dataKeysPublicInit[0]), + dataFilesPublicInit, + sizeof(dataFilesPublicInit)/sizeof(dataFilesPublicInit[0]) +}; + +/********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ + +static entryRctInit_s RCT_group10_init[] = +{ + {"gr10_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"Docs/gr10_A.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_2.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"Docs/gr10_B.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}} +} ; + +static entryDataInit_s dataKeys_Group10_Init[] = {}; + +static entryDataInit_s dataFiles_Group10_Init[] = {}; + +static dataInit_s sShared_Group10_DataInit = +{ + PERS_ORG_SHARED_GROUP_WT_PATH_"10/", + PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_RCT_NAME, + dbType_RCT, + PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, + dbType_local, + PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, + dbType_local, + RCT_group10_init, + sizeof(RCT_group10_init)/sizeof(RCT_group10_init[0]), + dataKeys_Group10_Init, + sizeof(dataKeys_Group10_Init)/sizeof(dataKeys_Group10_Init[0]), + dataFiles_Group10_Init, + sizeof(dataFiles_Group10_Init)/sizeof(dataFiles_Group10_Init[0]) +} ; + +/********************************************************************************************************************************************** + ***************************************** Group 20 ******************************************************************************************* + *********************************************************************************************************************************************/ +static entryRctInit_s RCT_group20_init[] = +{ + {"gr20_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}} +} ; + +static entryDataInit_s dataKeys_Group20_Init[] = {}; + +static entryDataInit_s dataFiles_Group20_Init[] ={}; + +static dataInit_s sShared_Group20_DataInit = +{ + PERS_ORG_SHARED_GROUP_WT_PATH_"20/", + PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_RCT_NAME, + dbType_RCT, + PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, + dbType_local, + PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, + dbType_local, + RCT_group20_init, + sizeof(RCT_group20_init)/sizeof(RCT_group20_init[0]), + dataKeys_Group20_Init, + sizeof(dataKeys_Group20_Init)/sizeof(dataKeys_Group20_Init[0]), + dataFiles_Group20_Init, + sizeof(dataFiles_Group20_Init)/sizeof(dataFiles_Group20_Init[0]) +} ; + +/********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ +static entryRctInit_s RCT_App1_init[] = +{ + {"App1_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}} +} ; + +static entryDataInit_s dataKeys_App1_Init[] = {} ; + +static entryDataInit_s dataFiles_App1_Init[] = {}; + +static dataInit_s s_App1_DataInit = +{ + PERS_ORG_LOCAL_APP_WT_PATH_"App1/", + PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, + dbType_RCT, + PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, + dbType_local, + PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, + dbType_local, + RCT_App1_init, + sizeof(RCT_App1_init)/sizeof(RCT_App1_init[0]), + dataKeys_App1_Init, + sizeof(dataKeys_App1_Init)/sizeof(dataKeys_App1_Init[0]), + dataFiles_App1_Init, + sizeof(dataFiles_App1_Init)/sizeof(dataFiles_App1_Init[0]) +} ; + +/********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ +static entryRctInit_s RCT_App2_init[] = +{ + {"App2_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}} +} ; + +static entryDataInit_s dataKeys_App2_Init[] = {}; + +static entryDataInit_s dataFiles_App2_Init[] = {}; + +static dataInit_s s_App2_DataInit = +{ + PERS_ORG_LOCAL_APP_WT_PATH_"App2/", + PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_RCT_NAME, + dbType_RCT, + PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, + dbType_local, + PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, + dbType_local, + RCT_App2_init, + sizeof(RCT_App2_init)/sizeof(RCT_App2_init[0]), + dataKeys_App2_Init, + sizeof(dataKeys_App2_Init)/sizeof(dataKeys_App2_Init[0]), + dataFiles_App2_Init, + sizeof(dataFiles_App2_Init)/sizeof(dataFiles_App2_Init[0]) +} ; + + +//=================================================================================================================== +// BACKUP CONTENT +//=================================================================================================================== +// the backup content is obtained trough the backup process + +//=================================================================================================================== +// EXPECTED +//=================================================================================================================== + +expected_key_data_localDB_s expected_key_data_after_restore_User2_Seat1_InitialContent[16 + 16 + 16 + 32+ 32] = +{ + /********************************************************************************************************************************************** + ***************************************** public ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")}, + + + /********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingA", sizeof("Data>>/gr10_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2::seat1", sizeof("Data>>/gr10_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingB::user2:seat2", sizeof("Data>>/gr10_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingC", sizeof("Data>>/gr10_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user1", sizeof("Data>>/gr10_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user2", sizeof("Data>>/gr10_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user3", sizeof("Data>>/gr10_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user4", sizeof("Data>>/gr10_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingD", sizeof("Data>>/gr10_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat1", sizeof("Data>>/gr10_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingE::user2:seat2", sizeof("Data>>/gr10_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingF", sizeof("Data>>/gr10_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user1", sizeof("Data>>/gr10_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user2", sizeof("Data>>/gr10_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user3", sizeof("Data>>/gr10_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user4", sizeof("Data>>/gr10_Setting/DEF::user4")}, + + /********************************************************************************************************************************************** + ***************************************** Group 20 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingA", sizeof("Data>>/gr20_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2::seat1", sizeof("Data>>/gr20_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingB::user2:seat2", sizeof("Data>>/gr20_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingC", sizeof("Data>>/gr20_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user1", sizeof("Data>>/gr20_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user2", sizeof("Data>>/gr20_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user3", sizeof("Data>>/gr20_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user4", sizeof("Data>>/gr20_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingD", sizeof("Data>>/gr20_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat1", sizeof("Data>>/gr20_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingE::user2:seat2", sizeof("Data>>/gr20_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingF", sizeof("Data>>/gr20_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user1", sizeof("Data>>/gr20_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user2", sizeof("Data>>/gr20_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user3", sizeof("Data>>/gr20_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user4", sizeof("Data>>/gr20_Setting/DEF::user4")}, + + /********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")}, + + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")}, + + + /********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")}, + + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")} +} ; + +expected_file_data_s expected_file_data_after_restore_User2_Seat1_InitialContent[10 + 10 + 10 + 10 + 10] = +{ + /********************************************************************************************************************************************** + ***************************************** public ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", false, "File>>/doc1.txt" , sizeof("File>>/doc1.txt")}, + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", false, "File>>/Docs/doc2.txt" , sizeof("File>>/Docs/doc2.txt")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", false, "File>>/docA.txt::user1" , sizeof("File>>/docA.txt::user1")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", false, "File>>/docA.txt::user2" , sizeof("File>>/docA.txt::user2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", false, "File>>/docA.txt::user3" , sizeof("File>>/docA.txt::user3")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", false, "File>>/docA.txt::user4" , sizeof("File>>/docA.txt::user4")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>/docB.txt::user2:seat1" , sizeof("File>>/docB.txt::user2:seat1")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>/docB.txt::user2:seat2" , sizeof("File>>/docB.txt::user2:seat2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>/docB.txt::user2:seat3" , sizeof("File>>/docB.txt::user2:seat3")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>/docB.txt::user2:seat4" , sizeof("File>>/docB.txt::user2:seat4")}, + + + /********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", false, "File>>gr10_>>/gr10_1.txt" , sizeof("File>>gr10_>>/gr10_1.txt" )}, + { PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", false, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof("File>>gr10_>>/Docs/gr10_A.txt" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user1" , sizeof("File>>gr10_>>/gr10_2.txt::user1" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user2" , sizeof("File>>gr10_>>/gr10_2.txt::user2" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user3" , sizeof("File>>gr10_>>/gr10_2.txt::user3" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user4" , sizeof("File>>gr10_>>/gr10_2.txt::user4" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt", false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt", false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt", false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" )}, + + + /********************************************************************************************************************************************** + ***************************************** Group 20 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>gr20_>>/doc1.txt" , sizeof("File>>gr20_>>/doc1.txt")}, + { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>gr20_>>/Docs/doc2.txt" , sizeof("File>>gr20_>>/Docs/doc2.txt")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false, "File>>gr20_>>/docA.txt::user1", sizeof("File>>gr20_>>/docA.txt::user1")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false, "File>>gr20_>>/docA.txt::user2", sizeof("File>>gr20_>>/docA.txt::user2")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>gr20_>>/docA.txt::user3", sizeof("File>>gr20_>>/docA.txt::user3")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>gr20_>>/docA.txt::user4", sizeof("File>>gr20_>>/docA.txt::user4")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat1", sizeof("File>>gr20_>>/docB.txt::user2:seat1")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat2", sizeof("File>>gr20_>>/docB.txt::user2:seat2")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat3", sizeof("File>>gr20_>>/docB.txt::user2:seat3")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat4", sizeof("File>>gr20_>>/docB.txt::user2:seat4")}, + + + /********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false, "File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false, "File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )}, + + + /********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>App2>>/doc1.txt" , sizeof("File>>App2>>/doc1.txt")}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>App2>>/Docs/doc2.txt" , sizeof("File>>App2>>/Docs/doc2.txt")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false, "File>>App2>>/docA.txt::user1" , sizeof("File>>App2>>/docA.txt::user1")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false, "File>>App2>>/docA.txt::user2" , sizeof("File>>App2>>/docA.txt::user2")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>App2>>/docA.txt::user3" , sizeof("File>>App2>>/docA.txt::user3")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>App2>>/docA.txt::user4" , sizeof("File>>App2>>/docA.txt::user4")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4")} +} ; + + +//=================================================================================================================== + +static bool_t EraseReferenceData(void) +{ + bool_t bEverythingOK = true ; + pstr_t referenceDataPath = PERS_ORG_LOCAL_APP_CACHE_PATH_ ; + + sint_t result = DeleteFolderContent(referenceDataPath) ; + if(result < 0) + { + bEverythingOK = false ; + } + + if(bEverythingOK) + { + dataInit_s* sDataInit[] = + { + &sSharedPubDataInit, + &sShared_Group10_DataInit, + &sShared_Group20_DataInit, + &s_App1_DataInit, + &s_App2_DataInit + }; + + sint_t i = 0 ; + for(i = 0 ; i < sizeof(sDataInit)/sizeof(sDataInit[0]) ; i++) + { + if(! InitDataFolder(sDataInit[i])) + { + bEverythingOK = false ; + } + } + } + + return bEverythingOK ; +} + + +bool_t Test_Recover_User2_Seat1_InitialContent_From_All(sint_t type, void* pv) +{ + bool_t bEverythingOK = true; + long lTemp ; + str_t pchBackupFilePath [PATH_ABS_MAX_SIZE]; + + /* Create backup */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Create backup to : "), + DLT_STRING(BACKUP_FOLDER), + DLT_STRING("...")); + lTemp = persAdminDataBackupCreate( PersASSelectionType_All, + BACKUP_FOLDER, + "", + USER_DONT_CARE, + SEAT_DONT_CARE); + bEverythingOK = (lTemp >= 0) ? true : false ; + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_User2_Seat1_InitialContent_From_All: persAdminDataBackupCreate() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + + if(true == bEverythingOK) + { + DeleteFolder(BACKUP_CONTENT_FOLDER); + + + /* Reset the destination content (except the RCT files) */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Erase reference data...")); + + bEverythingOK = EraseReferenceData(); + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_User2_Seat1_InitialContent_From_All: EraseReferenceData() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + } + + if(true == bEverythingOK) + { + (void)snprintf(pchBackupFilePath, sizeof(pchBackupFilePath), "%s%s", "all", BACKUP_FORMAT); + + /* Restore content */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Restore backup from : "), + DLT_STRING(pchBackupFilePath), + DLT_STRING("...")); + + lTemp = persAdminDataBackupRecovery( PersASSelectionType_User, + pchBackupFilePath, + "", + 0x02, + 0x01); + bEverythingOK = (lTemp >= 0) ? true : false ; + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_User2_Seat1_InitialContent_From_All: persAdminDataBackupRecovery() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + } + + return bEverythingOK ; +} /* Test_Recover_User2_Seat1_InitialContent_From_All */ + + +bool_t Test_Recover_User2_Seat1_InitialContent_From_User2_Seat1(sint_t type, void* pv) +{ + bool_t bEverythingOK = true ; + long lTemp ; + str_t pchBackupFilePath [PATH_ABS_MAX_SIZE]; + + /* Create backup */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Create backup to : "), + DLT_STRING(BACKUP_FOLDER), + DLT_STRING("...")); + lTemp = persAdminDataBackupCreate( PersASSelectionType_User, + BACKUP_FOLDER, + "", + 0x02, + 0x01); + bEverythingOK = (lTemp >= 0) ? true : false ; + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_User2_Seat1_InitialContent_From_User2_Seat1: persAdminDataBackupCreate() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + + if(true == bEverythingOK) + { + DeleteFolder(BACKUP_CONTENT_FOLDER); + + + /* Reset the destination content (except the RCT files) */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Erase reference data...")); + + bEverythingOK = EraseReferenceData(); + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_User2_Seat1_InitialContent_From_User2_Seat1: EraseReferenceData() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + } + + if(true == bEverythingOK) + { + (void)snprintf(pchBackupFilePath, sizeof(pchBackupFilePath), "%s%s", "user", BACKUP_FORMAT); + + /* Restore content */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Restore backup from : "), + DLT_STRING(pchBackupFilePath), + DLT_STRING("...")); + + lTemp = persAdminDataBackupRecovery( PersASSelectionType_User, + pchBackupFilePath, + "", + 0x02, + 0x01); + bEverythingOK = (lTemp >= 0) ? true : false ; + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_User2_Seat1_InitialContent_From_User2_Seat1: persAdminDataBackupRecovery() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + } + + return bEverythingOK ; +} /* Test_Recover_User2_Seat1_InitialContent_From_User2_Seat1 */ diff --git a/test/pers_svc_test/src/test_pas_recovery_Users.c b/test/pers_svc_test/src/test_pas_recovery_Users.c new file mode 100644 index 0000000..ed50f24 --- /dev/null +++ b/test/pers_svc_test/src/test_pas_recovery_Users.c @@ -0,0 +1,298 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#include "persComTypes.h" + +#include +#include +#include +#include +#include + +#include +#include + +#include "test_PAS.h" +#include "persistence_admin_service.h" +#include "test_pas_data_backup_recovery.h" + +DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx); + +#define LT_HDR "TEST_PAS >> " + +//=================================================================================================================== +// INIT +//=================================================================================================================== +// using default structure offered by test framework + +//=================================================================================================================== +// BACKUP CONTENT +//=================================================================================================================== +// using a common backup content structure + +//=================================================================================================================== +// EXPECTED +//=================================================================================================================== + +expected_key_data_localDB_s expected_key_data_after_restore_Users[23 + 24 + 24 + 24 + 22] = +{ + /********************************************************************************************************************************************** + ***************************************** public ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingK", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false,"Data>>/pubSettingK", sizeof("Data>>/pubSettingK")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingL", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false,"Data>>/pubSettingL", sizeof("Data>>/pubSettingL")}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/KBL", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/KBL::user1", sizeof("Data>>/pubSetting/KBL::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/KBL", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/KBL::user2", sizeof("Data>>/pubSetting/KBL::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/KBL", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/KBL::user3", sizeof("Data>>/pubSetting/KBL::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/KBL", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/KBL::user4", sizeof("Data>>/pubSetting/KBL::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/XYZ", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/XYZ::user4", sizeof("Data>>/pubSetting/XYZ::user4")}, + + + /********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingA", sizeof("Data>>/gr10_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2::seat1", sizeof("Data>>/gr10_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2:seat2", sizeof("Data>>/gr10_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingC", sizeof("Data>>/gr10_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user1", sizeof("Data>>/gr10_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user2", sizeof("Data>>/gr10_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user3", sizeof("Data>>/gr10_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user4", sizeof("Data>>/gr10_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingK", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false,"Data>>/gr10_SettingK", sizeof("Data>>/gr10_SettingK")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingL", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false,"Data>>/gr10_SettingL", sizeof("Data>>/gr10_SettingL")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/KBL", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/KBL::user1", sizeof("Data>>/gr10_Setting/KBL::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/KBL", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/KBL::user2", sizeof("Data>>/gr10_Setting/KBL::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/KBL", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/KBL::user3", sizeof("Data>>/gr10_Setting/KBL::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/KBL", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/KBL::user4", sizeof("Data>>/gr10_Setting/KBL::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingD", sizeof("Data>>/gr10_SettingD")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingZ", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false,"Data>>/gr10_SettingZ", sizeof("Data>>/gr10_SettingZ")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat1", sizeof("Data>>/gr10_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat2", sizeof("Data>>/gr10_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingF", sizeof("Data>>/gr10_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user1", sizeof("Data>>/gr10_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user2", sizeof("Data>>/gr10_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user3", sizeof("Data>>/gr10_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user4", sizeof("Data>>/gr10_Setting/DEF::user4")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/PRT", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/PRT::user4", sizeof("Data>>/gr10_Setting/PRT::user4")}, + + + /********************************************************************************************************************************************** + ***************************************** Group 20 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingA", sizeof("Data>>/gr20_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2::seat1", sizeof("Data>>/gr20_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2:seat2", sizeof("Data>>/gr20_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingC", sizeof("Data>>/gr20_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user1", sizeof("Data>>/gr20_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user2", sizeof("Data>>/gr20_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user3", sizeof("Data>>/gr20_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user4", sizeof("Data>>/gr20_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingK", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false,"Data>>/gr20_SettingK", sizeof("Data>>/gr20_SettingK")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingL", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false,"Data>>/gr20_SettingL", sizeof("Data>>/gr20_SettingL")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/KBL", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/KBL::user1", sizeof("Data>>/gr20_Setting/KBL::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/KBL", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/KBL::user2", sizeof("Data>>/gr20_Setting/KBL::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/KBL", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/KBL::user3", sizeof("Data>>/gr20_Setting/KBL::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/KBL", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/KBL::user4", sizeof("Data>>/gr20_Setting/KBL::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingD", sizeof("Data>>/gr20_SettingD")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingZ", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false,"Data>>/gr20_SettingZ", sizeof("Data>>/gr20_SettingZ")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat1", sizeof("Data>>/gr20_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat2", sizeof("Data>>/gr20_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingF", sizeof("Data>>/gr20_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user1", sizeof("Data>>/gr20_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user2", sizeof("Data>>/gr20_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user3", sizeof("Data>>/gr20_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user4", sizeof("Data>>/gr20_Setting/DEF::user4")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/PRT", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/PRT::user4", sizeof("Data>>/gr20_Setting/PRT::user4")}, + + + /********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingK", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingK", sizeof("Data>>/App1_SettingK")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingL", sizeof("Data>>/App1_SettingL")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/KBL::user1", sizeof("Data>>/App1_Setting/KBL::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/KBL::user2", sizeof("Data>>/App1_Setting/KBL::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/KBL::user3", sizeof("Data>>/App1_Setting/KBL::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/KBL::user4", sizeof("Data>>/App1_Setting/KBL::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/KKK", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/KKK::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/XYZ", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/XYZ::user4")}, + + + /********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingK", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App2_SettingK", sizeof("Data>>/App2_SettingK")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingL", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App2_SettingL", sizeof("Data>>/App2_SettingL")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/KBL::user1", sizeof("Data>>/App2_Setting/KBL::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/KBL::user2", sizeof("Data>>/App2_Setting/KBL::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/KBL::user3", sizeof("Data>>/App2_Setting/KBL::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/KBL::user4", sizeof("Data>>/App2_Setting/KBL::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")}, + +}; + + +expected_file_data_s expected_file_data_after_restore_Users[16 + 16 + 16] = +{ + /********************************************************************************************************************************************** + ***************************************** public ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", true, "File>>/doc1.txt" , sizeof("File>>/doc1.txt")}, + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", true, "File>>/Docs/doc2.txt" , sizeof("File>>/Docs/doc2.txt")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", false,"File>>/docA.txt::user1" , sizeof("File>>/docA.txt::user1")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", false,"File>>/docA.txt::user2" , sizeof("File>>/docA.txt::user2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", false,"File>>/docA.txt::user3" , sizeof("File>>/docA.txt::user3")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", false,"File>>/docA.txt::user4" , sizeof("File>>/docA.txt::user4")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>/docB.txt::user2:seat1" , sizeof("File>>/docB.txt::user2:seat1")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>/docB.txt::user2:seat2" , sizeof("File>>/docB.txt::user2:seat2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>/docB.txt::user2:seat3" , sizeof("File>>/docB.txt::user2:seat3")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>/docB.txt::user2:seat4" , sizeof("File>>/docB.txt::user2:seat4")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docK.txt", true, "File>>/docK.txt::user1" , sizeof("File>>/docK.txt::user1")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docK.txt", true, "File>>/docK.txt::user2" , sizeof("File>>/docK.txt::user2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docT.txt", true, "File>>/docT.txt::user2" , sizeof("File>>/docT.txt::user2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docK.txt", true, "File>>/docK.txt::user3" , sizeof("File>>/docK.txt::user3")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docK.txt", true, "File>>/docK.txt::user4" , sizeof("File>>/docK.txt::user4")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", true, "File>>/docC.txt::user2:seat4" , sizeof("File>>/docC.txt::user2:seat4")}, + + + /********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt" , sizeof("File>>gr10_>>/gr10_1.txt" )}, + { PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", true, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof("File>>gr10_>>/Docs/gr10_A.txt" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user1" , sizeof("File>>gr10_>>/gr10_2.txt::user1" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user2" , sizeof("File>>gr10_>>/gr10_2.txt::user2" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user3" , sizeof("File>>gr10_>>/gr10_2.txt::user3" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user4" , sizeof("File>>gr10_>>/gr10_2.txt::user4" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" )}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", true, "File>>gr10_>>/docK.txt::user1" , sizeof("File>>gr10_>>/docK.txt::user1")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", true, "File>>gr10_>>/docK.txt::user2" , sizeof("File>>gr10_>>/docK.txt::user2")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/docT.txt", true, "File>>gr10_>>/docK.txt::user2" , sizeof("File>>gr10_>>/docK.txt::user2")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", true, "File>>gr10_>>/docK.txt::user3" , sizeof("File>>gr10_>>/docK.txt::user3")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", true, "File>>gr10_>>/docK.txt::user4" , sizeof("File>>gr10_>>/docK.txt::user4")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docT.txt", true, "File>>gr10_>>/docB.txt::user2:seat4" , sizeof("File>>gr10_>>/docB.txt::user2:seat4")}, + + + /********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false,"File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false,"File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false,"File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false,"File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", true, "File>>App1>>/docK.txt::user1" , sizeof("File>>App1>>/docK.txt::user1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", true, "File>>App1>>/docK.txt::user2" , sizeof("File>>App1>>/docK.txt::user2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", true, "File>>App1>>/docK.txt::user3" , sizeof("File>>App1>>/docK.txt::user3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", true, "File>>App1>>/docK.txt::user4" , sizeof("File>>App1>>/docK.txt::user4" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", true, "File>>App1>>/docC.txt::user2:seat4" , sizeof("File>>App1>>/docC.txt::user2:seat4" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", true, "File>>App1>>/docD.txt::user2:seat4" , sizeof("File>>App1>>/docD.txt::user2:seat4" )} +}; +//=================================================================================================================== + +bool_t Test_Recover_Users(sint_t type, void* pv) +{ + bool_t bEverythingOK = true ; + + str_t pchBackupFilePath [PATH_ABS_MAX_SIZE]; + + /* Reset the backup data for every test */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Reset backup content...")); + + bEverythingOK = ResetBackupContent(PersASSelectionType_User, NULL); + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_Users: ResetBackupContent() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + + if(true == bEverythingOK) + { + (void)snprintf(pchBackupFilePath, sizeof(pchBackupFilePath), "%s%s", "user", BACKUP_FORMAT); + + /* Restore content */ + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Restore backup from : "), + DLT_STRING(pchBackupFilePath), + DLT_STRING("...")); + + bEverythingOK = persAdminDataBackupRecovery( PersASSelectionType_User, + pchBackupFilePath, + "", + PERSIST_SELECT_ALL_USERS, + PERSIST_SELECT_ALL_SEATS); + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_Users: persAdminDataBackupRecovery() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + } + + return bEverythingOK ; + +} /* Test_Recover_Users */ diff --git a/test/pers_svc_test/src/test_pas_recovery_backup_content.c b/test/pers_svc_test/src/test_pas_recovery_backup_content.c new file mode 100644 index 0000000..93fb025 --- /dev/null +++ b/test/pers_svc_test/src/test_pas_recovery_backup_content.c @@ -0,0 +1,886 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#include "persComTypes.h" +#include "stdio.h" +#include "string.h" +#include +#include +#include +#include +#include +#include + +#include "persistence_admin_service.h" +#include "test_PAS.h" +#include "test_pas_data_backup_recovery.h" + +/* compress/uncompress */ +#include "archive.h" +#include "archive_entry.h" + +#define READ_BUFFER_LENGTH (16384) + +#define PATH_ABS_MAX_SIZE ( 512) + +#define BACKUP_FORMAT (".arch.tar.gz") + +#define File_t PersistenceResourceType_file +#define Key_t PersistenceResourceType_key + +static sint_t persadmin_compress(pstr_t compressTo, pstr_t compressFrom) ; + +//=================================================================================================================== +// BACKUP CONTENT +//=================================================================================================================== +entryRctInit_s RCT_public_backup_content[] = +{ + {"pubSettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSetting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSetting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}} +} ; + + +entryDataInit_s dataKeysPublic_backup_content[] = +{ + {0, PERS_ORG_NODE_FOLDER_NAME_"/pubSettingK", PersistencePolicy_wt, 0, 0, "Data>>/pubSettingK"}, + {0, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PersistencePolicy_wt, 2, 1, "Data>>/pubSettingB::user2::seat1"}, + {0, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PersistencePolicy_wt, 2, 2, "Data>>/pubSettingB::user2:seat2"}, + {0, PERS_ORG_NODE_FOLDER_NAME_"/pubSettingL", PersistencePolicy_wt, 0, 0, "Data>>/pubSettingL"}, + {0, PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/KBL", PersistencePolicy_wt, 1, 0, "Data>>/pubSetting/KBL::user1"}, + {0, PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/KBL", PersistencePolicy_wt, 2, 0, "Data>>/pubSetting/KBL::user2"}, + {0, PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/KBL", PersistencePolicy_wt, 3, 0, "Data>>/pubSetting/KBL::user3"}, + {0, PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/KBL", PersistencePolicy_wt, 4, 0, "Data>>/pubSetting/KBL::user4"}, + {0, PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PersistencePolicy_wc, 0, 0, "Data>>/pubSettingD"}, + {0, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PersistencePolicy_wc, 2, 1, "Data>>/pubSettingE::user2:seat1"}, + {0, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PersistencePolicy_wc, 2, 2, "Data>>/pubSettingE::user2:seat2"}, + {0, PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PersistencePolicy_wc, 0, 0, "Data>>/pubSettingF"}, + {0, PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/pubSetting/DEF::user1"}, + {0, PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/pubSetting/DEF::user2"}, + {0, PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/pubSetting/DEF::user3"}, + {0, PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/pubSetting/DEF::user4"}, + {0, PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/XYZ", PersistencePolicy_wc, 4, 0, "Data>>/pubSetting/XYZ::user4"} +} ; + + +entryDataInit_s dataFilesPublic_mnt_c_backup_content[] = +{ + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>/doc1.txt"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>/Docs/doc2.txt"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>/docK.txt::user1"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>/docK.txt::user2"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docT.txt", PersistencePolicy_wc, 2, 0, "File>>/docT.txt::user2"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>/docK.txt::user3"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>/docK.txt::user4"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>/docB.txt::user2:seat1"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>/docB.txt::user2:seat2"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>/docB.txt::user2:seat3"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>/docB.txt::user2:seat4"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", PersistencePolicy_wc, 2, 4, "File>>/docC.txt::user2:seat4"} +}; + +entryDataInit_s dataFilesPublic_mnt_wt_backup_content[] = +{ + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>/doc1.txt"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>/Docs/doc2.txt"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>/docK.txt::user1"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>/docK.txt::user2"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME_"2/docT.txt", PersistencePolicy_wc, 2, 0, "File>>/docT.txt::user2"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>/docK.txt::user3"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>/docK.txt::user4"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>/docB.txt::user2:seat1"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>/docB.txt::user2:seat2"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>/docB.txt::user2:seat3"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>/docB.txt::user2:seat4"}, + {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", PersistencePolicy_wc, 2, 4, "File>>/docC.txt::user2:seat4"} +}; + + +dataInit_s sSharedPubData_mnt_c_backup_content = +{ + BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ , + BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_RCT_NAME, + dbType_RCT, + BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_WT_DB_NAME, + dbType_local, + BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, + dbType_local, + RCT_public_backup_content, + sizeof(RCT_public_backup_content)/sizeof(RCT_public_backup_content[0]), + dataKeysPublic_backup_content, + sizeof(dataKeysPublic_backup_content)/sizeof(dataKeysPublic_backup_content[0]), + dataFilesPublic_mnt_c_backup_content, + sizeof(dataFilesPublic_mnt_c_backup_content)/sizeof(dataFilesPublic_mnt_c_backup_content[0]) +} ; + +dataInit_s sSharedPubData_mnt_wt_backup_content = +{ + BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ , + BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, + dbType_RCT, + BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, + dbType_local, + BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, + dbType_local, + RCT_public_backup_content, + sizeof(RCT_public_backup_content)/sizeof(RCT_public_backup_content[0]), + dataKeysPublic_backup_content, + sizeof(dataKeysPublic_backup_content)/sizeof(dataKeysPublic_backup_content[0]), + dataFilesPublic_mnt_wt_backup_content, + sizeof(dataFilesPublic_mnt_wt_backup_content)/sizeof(dataFilesPublic_mnt_wt_backup_content[0]) +} ; + +/********************************************************************************************************************************************** + ***************************************** group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ +entryRctInit_s RCT_group10_backup_content[] = +{ + {"gr10_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"Docs/gr10_A.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_2.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"Docs/gr10_B.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}} +} ; + + +entryDataInit_s dataKeys_group10_backup_content[] = +{ + {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingK", PersistencePolicy_wt, 0, 0, "Data>>/gr10_SettingK"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PersistencePolicy_wt, 2, 1, "Data>>/gr10_SettingB::user2::seat1"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PersistencePolicy_wt, 2, 2, "Data>>/gr10_SettingB::user2:seat2"}, + {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingL", PersistencePolicy_wt, 0, 0, "Data>>/gr10_SettingL"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/KBL", PersistencePolicy_wt, 1, 0, "Data>>/gr10_Setting/KBL::user1"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/KBL", PersistencePolicy_wt, 2, 0, "Data>>/gr10_Setting/KBL::user2"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/KBL", PersistencePolicy_wt, 3, 0, "Data>>/gr10_Setting/KBL::user3"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/KBL", PersistencePolicy_wt, 4, 0, "Data>>/gr10_Setting/KBL::user4"}, + {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PersistencePolicy_wc, 0, 0, "Data>>/gr10_SettingD"}, + {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingZ", PersistencePolicy_wc, 0, 0, "Data>>/gr10_SettingZ"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PersistencePolicy_wc, 2, 1, "Data>>/gr10_SettingE::user2:seat1"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PersistencePolicy_wc, 2, 2, "Data>>/gr10_SettingE::user2:seat2"}, + {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PersistencePolicy_wc, 0, 0, "Data>>/gr10_SettingF"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/gr10_Setting/DEF::user1"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PersistencePolicy_wc, 2, 0, "Data>>/gr10_Setting/DEF::user2"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/gr10_Setting/DEF::user3"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/gr10_Setting/DEF::user4"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/PRT", PersistencePolicy_wc, 4, 0, "Data>>/gr10_Setting/PRT::user4"} +} ; + + +entryDataInit_s dataFiles_group10_mnt_c_backup_content[] = +{ + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", PersistencePolicy_wt, 0, 0, "File>>gr10_>>/gr10_1.txt"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_2.txt", PersistencePolicy_wt, 0, 0, "File>>gr10_>>/Docs/gr10_2.txt"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>gr10_>>/docK.txt::user1"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>gr10_>>/docK.txt::user2"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/docT.txt", PersistencePolicy_wc, 2, 0, "File>>gr10_>>/docK.txt::user2"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>gr10_>>/docK.txt::user3"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>gr10_>>/docK.txt::user4"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 1, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 2, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 3, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 4, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docT.txt", PersistencePolicy_wc, 2, 4, "File>>gr10_>>/docB.txt::user2:seat4"} +}; + + +entryDataInit_s dataFiles_group10_mnt_wt_backup_content[] = +{ + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", PersistencePolicy_wt, 0, 0, "File>>gr10_>>/gr10_1.txt"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_2.txt", PersistencePolicy_wt, 0, 0, "File>>gr10_>>/Docs/gr10_2.txt"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>gr10_>>/docK.txt::user1"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>gr10_>>/docK.txt::user2"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/docT.txt", PersistencePolicy_wc, 2, 0, "File>>gr10_>>/docK.txt::user2"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>gr10_>>/docK.txt::user3"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>gr10_>>/docK.txt::user4"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 1, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 2, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 3, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 4, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4"}, + {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docT.txt", PersistencePolicy_wc, 2, 4, "File>>gr10_>>/docB.txt::user2:seat4"} +}; + +dataInit_s sShared_Group10_Data_mnt_c_backup_content = +{ + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/", + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_RCT_NAME, + dbType_RCT, + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, + dbType_local, + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, + dbType_local, + RCT_group10_backup_content, + sizeof(RCT_group10_backup_content)/sizeof(RCT_group10_backup_content[0]), + dataKeys_group10_backup_content, + sizeof(dataKeys_group10_backup_content)/sizeof(dataKeys_group10_backup_content[0]), + dataFiles_group10_mnt_c_backup_content, + sizeof(dataFiles_group10_mnt_c_backup_content)/sizeof(dataFiles_group10_mnt_c_backup_content[0]) +} ; + + +dataInit_s sShared_Group10_Data_mnt_wt_backup_content = +{ + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10/", + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_RCT_NAME, + dbType_RCT, + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, + dbType_local, + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, + dbType_local, + RCT_group10_backup_content, + sizeof(RCT_group10_backup_content)/sizeof(RCT_group10_backup_content[0]), + dataKeys_group10_backup_content, + sizeof(dataKeys_group10_backup_content)/sizeof(dataKeys_group10_backup_content[0]), + dataFiles_group10_mnt_wt_backup_content, + sizeof(dataFiles_group10_mnt_wt_backup_content)/sizeof(dataFiles_group10_mnt_wt_backup_content[0]) +} ; + +/********************************************************************************************************************************************** + ***************************************** group 20 ******************************************************************************************* + *********************************************************************************************************************************************/ +entryRctInit_s RCT_group20_backup_content[] = +{ + {"gr20_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"gr20_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}, + {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}} +} ; + + +entryDataInit_s dataKeys_group20_backup_content[] = +{ + {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingK", PersistencePolicy_wt, 0, 0, "Data>>/gr20_SettingK"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PersistencePolicy_wt, 2, 1, "Data>>/gr20_SettingB::user2::seat1"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PersistencePolicy_wt, 2, 2, "Data>>/gr20_SettingB::user2:seat2"}, + {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingL", PersistencePolicy_wt, 0, 0, "Data>>/gr20_SettingL"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/KBL", PersistencePolicy_wt, 1, 0, "Data>>/gr20_Setting/KBL::user1"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/KBL", PersistencePolicy_wt, 2, 0, "Data>>/gr20_Setting/KBL::user2"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/KBL", PersistencePolicy_wt, 3, 0, "Data>>/gr20_Setting/KBL::user3"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/KBL", PersistencePolicy_wt, 4, 0, "Data>>/gr20_Setting/KBL::user4"}, + {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PersistencePolicy_wc, 0, 0, "Data>>/gr20_SettingD"}, + {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingZ", PersistencePolicy_wc, 0, 0, "Data>>/gr20_SettingZ"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PersistencePolicy_wc, 2, 1, "Data>>/gr20_SettingE::user2:seat1"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PersistencePolicy_wc, 2, 2, "Data>>/gr20_SettingE::user2:seat2"}, + {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PersistencePolicy_wc, 0, 0, "Data>>/gr20_SettingF"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/gr20_Setting/DEF::user1"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PersistencePolicy_wc, 2, 0, "Data>>/gr20_Setting/DEF::user2"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/gr20_Setting/DEF::user3"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/gr20_Setting/DEF::user4"}, + {0x10, PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/PRT", PersistencePolicy_wc, 4, 0, "Data>>/gr20_Setting/PRT::user4"} +} ; + +entryDataInit_s dataFiles_group20_mnt_c_backup_content[] = +{ + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>gr20_>>/doc1.txt"}, + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>gr20_>>/Docs/doc2.txt"}, + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>gr20_>>/docK.txt::user1"}, + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>gr20_>>/docK.txt::user2"}, + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>gr20_>>/docK.txt::user3"}, + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>gr20_>>/docK.txt::user4"}, + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>gr20_>>/docB.txt::user2:seat1"}, + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>gr20_>>/docB.txt::user2:seat2"}, + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>gr20_>>/docB.txt::user2:seat3"}, + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>gr20_>>/docB.txt::user2:seat4"} +}; + +entryDataInit_s dataFiles_group20_mnt_wt_backup_content[] = +{ + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>gr20_>>/doc1.txt"}, + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>gr20_>>/Docs/doc2.txt"}, + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>gr20_>>/docK.txt::user1"}, + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>gr20_>>/docK.txt::user2"}, + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>gr20_>>/docK.txt::user3"}, + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>gr20_>>/docK.txt::user4"}, + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>gr20_>>/docB.txt::user2:seat1"}, + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>gr20_>>/docB.txt::user2:seat2"}, + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>gr20_>>/docB.txt::user2:seat3"}, + {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>gr20_>>/docB.txt::user2:seat4"} +}; + +dataInit_s sShared_Group20_Data_mnt_c_backup_content = +{ + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/", + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_RCT_NAME, + dbType_RCT, + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, + dbType_local, + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, + dbType_local, + RCT_group20_backup_content, + sizeof(RCT_group20_backup_content)/sizeof(RCT_group20_backup_content[0]), + dataKeys_group20_backup_content, + sizeof(dataKeys_group20_backup_content)/sizeof(dataKeys_group20_backup_content[0]), + dataFiles_group20_mnt_c_backup_content, + sizeof(dataFiles_group20_mnt_c_backup_content)/sizeof(dataFiles_group20_mnt_c_backup_content[0]) +} ; + + +dataInit_s sShared_Group20_Data_mnt_wt_backup_content = +{ + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20/", + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_RCT_NAME, + dbType_RCT, + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, + dbType_local, + BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, + dbType_local, + RCT_group20_backup_content, + sizeof(RCT_group20_backup_content)/sizeof(RCT_group20_backup_content[0]), + dataKeys_group20_backup_content, + sizeof(dataKeys_group20_backup_content)/sizeof(dataKeys_group20_backup_content[0]), + dataFiles_group20_mnt_wt_backup_content, + sizeof(dataFiles_group20_mnt_wt_backup_content)/sizeof(dataFiles_group20_mnt_wt_backup_content[0]) +} ; + +/********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ +entryRctInit_s RCT_App1_backup_content[] = +{ + {"App1_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}} +} ; + + +entryDataInit_s dataKeys_App1_backup_content[] = +{ + {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingK", PersistencePolicy_wt, 0, 0, "Data>>/App1_SettingK"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PersistencePolicy_wt, 2, 1, "Data>>/App1_SettingB::user2::seat1"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PersistencePolicy_wt, 2, 2, "Data>>/App1_SettingB::user2:seat2"}, + {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingL", PersistencePolicy_wt, 0, 0, "Data>>/App1_SettingL"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/KBL", PersistencePolicy_wt, 1, 0, "Data>>/App1_Setting/KBL::user1"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/KBL", PersistencePolicy_wt, 2, 0, "Data>>/App1_Setting/KBL::user2"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/KBL", PersistencePolicy_wt, 3, 0, "Data>>/App1_Setting/KBL::user3"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/KBL", PersistencePolicy_wt, 4, 0, "Data>>/App1_Setting/KBL::user4"}, + {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PersistencePolicy_wc, 0, 0, "Data>>/App1_SettingD"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PersistencePolicy_wc, 2, 1, "Data>>/App1_SettingE::user2:seat1"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PersistencePolicy_wc, 2, 2, "Data>>/App1_SettingE::user2:seat2"}, + {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PersistencePolicy_wc, 0, 0, "Data>>/App1_SettingF"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/App1_Setting/DEF::user1"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PersistencePolicy_wc, 2, 0, "Data>>/App1_Setting/DEF::user2"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/App1_Setting/DEF::user3"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/App1_Setting/DEF::user4"} +} ; + +entryDataInit_s dataFiles_App1_mnt_c_backup_content[] = +{ + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>App1>>/doc1.txt"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>App1>>/Docs/doc2.txt"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>App1>>/docK.txt::user1"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>App1>>/docK.txt::user2"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>App1>>/docK.txt::user3"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>App1>>/docK.txt::user4"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>App1>>/docB.txt::user2:seat1"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>App1>>/docB.txt::user2:seat2"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>App1>>/docB.txt::user2:seat3"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>App1>>/docB.txt::user2:seat4"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", PersistencePolicy_wc, 2, 4, "File>>App1>>/docC.txt::user2:seat4"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", PersistencePolicy_wc, 2, 4, "File>>App1>>/docD.txt::user2:seat4"} +}; + + +entryDataInit_s dataFiles_App1_mnt_wt_backup_content[] = +{ + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>App1>>/doc1.txt"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>App1>>/Docs/doc2.txt"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>App1>>/docK.txt::user1"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>App1>>/docK.txt::user2"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>App1>>/docK.txt::user3"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>App1>>/docK.txt::user4"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>App1>>/docB.txt::user2:seat1"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>App1>>/docB.txt::user2:seat2"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>App1>>/docB.txt::user2:seat3"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>App1>>/docB.txt::user2:seat4"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", PersistencePolicy_wc, 2, 4, "File>>App1>>/docC.txt::user2:seat4"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", PersistencePolicy_wc, 2, 4, "File>>App1>>/docD.txt::user2:seat4"} +}; + + +dataInit_s s_App1_Data_mnt_c_backup_content = +{ + BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/", + BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_RCT_NAME, + dbType_RCT, + BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, + dbType_local, + BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, + dbType_local, + RCT_App1_backup_content, + sizeof(RCT_App1_backup_content)/sizeof(RCT_App1_backup_content[0]), + dataKeys_App1_backup_content, + sizeof(dataKeys_App1_backup_content)/sizeof(dataKeys_App1_backup_content[0]), + dataFiles_App1_mnt_c_backup_content, + sizeof(dataFiles_App1_mnt_c_backup_content)/sizeof(dataFiles_App1_mnt_c_backup_content[0]) +}; + + +dataInit_s s_App1_Data_mnt_wt_backup_content = +{ + BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1/", + BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, + dbType_RCT, + BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, + dbType_local, + BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, + dbType_local, + RCT_App1_backup_content, + sizeof(RCT_App1_backup_content)/sizeof(RCT_App1_backup_content[0]), + dataKeys_App1_backup_content, + sizeof(dataKeys_App1_backup_content)/sizeof(dataKeys_App1_backup_content[0]), + dataFiles_App1_mnt_wt_backup_content, + sizeof(dataFiles_App1_mnt_wt_backup_content)/sizeof(dataFiles_App1_mnt_wt_backup_content[0]) +} ; + +/********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ +entryRctInit_s RCT_App2_backup_content[] = +{ + {"App2_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"App2_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}, + {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}} +} ; + + +entryDataInit_s dataKeys_App2_backup_content[] = +{ + {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingK", PersistencePolicy_wt, 0, 0, "Data>>/App2_SettingK"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PersistencePolicy_wt, 2, 1, "Data>>/App2_SettingB::user2::seat1"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PersistencePolicy_wt, 2, 2, "Data>>/App2_SettingB::user2:seat2"}, + {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingL", PersistencePolicy_wt, 0, 0, "Data>>/App2_SettingL"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/KBL", PersistencePolicy_wt, 1, 0, "Data>>/App2_Setting/KBL::user1"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/KBL", PersistencePolicy_wt, 2, 0, "Data>>/App2_Setting/KBL::user2"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/KBL", PersistencePolicy_wt, 3, 0, "Data>>/App2_Setting/KBL::user3"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/KBL", PersistencePolicy_wt, 4, 0, "Data>>/App2_Setting/KBL::user4"}, + {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PersistencePolicy_wc, 0, 0, "Data>>/App2_SettingD"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PersistencePolicy_wc, 2, 1, "Data>>/App2_SettingE::user2:seat1"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PersistencePolicy_wc, 2, 2, "Data>>/App2_SettingE::user2:seat2"}, + {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PersistencePolicy_wc, 0, 0, "Data>>/App2_SettingF"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/App2_Setting/DEF::user1"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PersistencePolicy_wc, 2, 0, "Data>>/App2_Setting/DEF::user2"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/App2_Setting/DEF::user3"}, + {0xFF, PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/App2_Setting/DEF::user4"} +} ; + + +entryDataInit_s dataFiles_App2_mnt_c_backup_content[] = +{ + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>App2>>/doc1.txt"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>App2>>/Docs/doc2.txt"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>App2>>/docK.txt::user1"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>App2>>/docK.txt::user2"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>App2>>/docK.txt::user3"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>App2>>/docK.txt::user4"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>App2>>/docB.txt::user2:seat1"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>App2>>/docB.txt::user2:seat2"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>App2>>/docB.txt::user2:seat3"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>App2>>/docB.txt::user2:seat4"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", PersistencePolicy_wc, 2, 4, "File>>App2>>/docC.txt::userC:seat4"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", PersistencePolicy_wc, 2, 4, "File>>App2>>/docD.txt::userC:seat4"} +}; + + +entryDataInit_s dataFiles_App2_mnt_wt_backup_content[] = +{ + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>App2>>/doc1.txt"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>App2>>/Docs/doc2.txt"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>App2>>/docK.txt::user1"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>App2>>/docK.txt::user2"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>App2>>/docK.txt::user3"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>App2>>/docK.txt::user4"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>App2>>/docB.txt::user2:seat1"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>App2>>/docB.txt::user2:seat2"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>App2>>/docB.txt::user2:seat3"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>App2>>/docB.txt::user2:seat4"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", PersistencePolicy_wc, 2, 4, "File>>App2>>/docC.txt::userC:seat4"}, + {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", PersistencePolicy_wc, 2, 4, "File>>App2>>/docD.txt::userC:seat4"} +}; + + +dataInit_s s_App2_Data_mnt_c_backup_content = +{ + BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/", + BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_RCT_NAME, + dbType_RCT, + BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, + dbType_local, + BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, + dbType_local, + RCT_App2_backup_content, + sizeof(RCT_App2_backup_content)/sizeof(RCT_App2_backup_content[0]), + dataKeys_App2_backup_content, + sizeof(dataKeys_App2_backup_content)/sizeof(dataKeys_App2_backup_content[0]), + dataFiles_App2_mnt_c_backup_content, + sizeof(dataFiles_App2_mnt_c_backup_content)/sizeof(dataFiles_App2_mnt_c_backup_content[0]) +}; + + +dataInit_s s_App2_Data_mnt_wt_backup_content = +{ + BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2/", + BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_RCT_NAME, + dbType_RCT, + BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_SHARED_WT_DB_NAME, + dbType_local, + BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_SHARED_CACHE_DB_NAME, + dbType_local, + RCT_App2_backup_content, + sizeof(RCT_App2_backup_content)/sizeof(RCT_App2_backup_content[0]), + dataKeys_App2_backup_content, + sizeof(dataKeys_App2_backup_content)/sizeof(dataKeys_App2_backup_content[0]), + dataFiles_App2_mnt_wt_backup_content, + sizeof(dataFiles_App2_mnt_wt_backup_content)/sizeof(dataFiles_App2_mnt_wt_backup_content[0]) +}; + +//reset backup content +bool_t ResetBackupContent(PersASSelectionType_e type, char* applicationID) +{ + sint_t sResult = 0; + bool_t bEverythingOK = true ; + pstr_t referenceDataPath = BACKUP_CONTENT_FOLDER; + + str_t pchPathCompressTo [PATH_ABS_MAX_SIZE]; + str_t pchPathCompressFrom [PATH_ABS_MAX_SIZE]; + + DeleteFolder(referenceDataPath); + + // the current implementation performs the restore process twice due to the + // fact that the backup generates a mirrored content (for mnt-c and mnt-wt) + + if(bEverythingOK) + { + sint_t i = 0 ; + + // mnt_c + dataInit_s* sDataInit[] = + { + &sSharedPubData_mnt_c_backup_content, + &sShared_Group10_Data_mnt_c_backup_content, + &sShared_Group20_Data_mnt_c_backup_content, + &s_App1_Data_mnt_c_backup_content, + &s_App2_Data_mnt_c_backup_content + }; + + for(i = 0 ; i < sizeof(sDataInit)/sizeof(sDataInit[0]) ; i++) + { + if(! InitDataFolder(sDataInit[i])) + { + bEverythingOK = false ; + } + } + } + + if(bEverythingOK) + { + sint_t i = 0 ; + + // mnt_wt + dataInit_s* sDataInit[] = + { + &sSharedPubData_mnt_wt_backup_content, + &sShared_Group10_Data_mnt_wt_backup_content, + &sShared_Group20_Data_mnt_wt_backup_content, + &s_App1_Data_mnt_wt_backup_content, + &s_App2_Data_mnt_wt_backup_content + }; + + for(i = 0 ; i < sizeof(sDataInit)/sizeof(sDataInit[0]) ; i++) + { + if(! InitDataFolder(sDataInit[i])) + { + bEverythingOK = false ; + } + } + } + + /* compress the source folder and delete it afterwards */ + (void)snprintf(pchPathCompressFrom, sizeof(pchPathCompressFrom), "%s", BACKUP_CONTENT_FOLDER); + + /* create the tar name; */ + switch( type ) + { + case PersASSelectionType_Application: + { + (void)snprintf(pchPathCompressTo, sizeof(pchPathCompressTo), "%s%s%s", BACKUP_FOLDER_, applicationID, BACKUP_FORMAT); + break; + } + case PersASSelectionType_User: + { + (void)snprintf(pchPathCompressTo, sizeof(pchPathCompressTo), "%s%s%s", BACKUP_FOLDER_, "user", BACKUP_FORMAT); + break; + } + case PersASSelectionType_All: + { + (void)snprintf(pchPathCompressTo, sizeof(pchPathCompressTo), "%s%s%s", BACKUP_FOLDER_, "all", BACKUP_FORMAT); + break; + } + default: + { + bEverythingOK = false; + /* nothing to do */ + break; + } + } + + if(true == bEverythingOK) + { + /* return 0 for success, negative value otherwise; */ + sResult = persadmin_compress(pchPathCompressTo, pchPathCompressFrom); + if( 0 > sResult ) + { + bEverythingOK = false; + } + + /* remove the initial folder content */ + DeleteFolder(referenceDataPath); + } + + return bEverythingOK ; +} + + +/** + * @brief Saves files together into a single archive. + * @usage persadmin_compress("/path/to/compress/to/archive_name.tgz", "/path/from/where/to/compress") + * @return 0 for success, negative value otherwise. + */ +static sint_t persadmin_compress(pstr_t compressTo, pstr_t compressFrom) +{ + uint8_t buffer [READ_BUFFER_LENGTH]; + str_t pchParentPath [PATH_ABS_MAX_SIZE]; + pstr_t pchStrPos = NIL; + struct archive *psArchive = NIL; + struct archive *psDisk = NIL; + struct archive_entry *psEntry = NIL; + sint_t s32Result = ARCHIVE_OK; + sint_t s32Length = 0; + sint_t fd; + sint_t s32ParentPathLength = 0; + + + if( (NIL == compressTo) || + (NIL == compressFrom) ) + { + s32Result = ARCHIVE_FAILED; + printf("persadmin_compress - invalid parameters \n"); + } + + if( ARCHIVE_OK == s32Result ) + { + printf("persadmin_compress - create <%s> from <%s>\n", compressTo, compressFrom); + psArchive = archive_write_new(); + if( NIL == psArchive ) + { + s32Result = ARCHIVE_FAILED; + printf("persadmin_compress - archive_write_new ERR\n"); + } + } + + if( ARCHIVE_OK == s32Result ) + { + /* this in turn calls archive_write_add_filter_gzip; */ + s32Result = archive_write_set_compression_gzip(psArchive); + if( ARCHIVE_OK != s32Result ) + { + printf("persadmin_compress - archive_write_set_compression_gzip ERR %d\n", s32Result); + } + } + + if( ARCHIVE_OK == s32Result ) + { + /* portable archive exchange; */ + archive_write_set_format_pax(psArchive); + compressTo = (strcmp(compressTo, "-") == 0) ? NIL : compressTo; + s32Result = archive_write_open_filename(psArchive, compressTo); + if( ARCHIVE_OK != s32Result ) + { + printf("persadmin_compress - archive_write_open_filename ERR %d\n", s32Result); + } + } + + if( ARCHIVE_OK == s32Result ) + { + psDisk = archive_read_disk_new(); + if( NIL == psDisk ) + { + s32Result = ARCHIVE_FAILED; + printf("persadmin_compress - archive_read_disk_new ERR\n"); + } + } + + if( ARCHIVE_OK == s32Result ) + { + archive_read_disk_set_standard_lookup(psDisk); + s32Result = archive_read_disk_open(psDisk, compressFrom); + if( ARCHIVE_OK != s32Result ) + { + printf("persadmin_compress - archive_read_disk_new ERR %s\n", archive_error_string(psDisk)); + } + } + + memset(pchParentPath, 0, sizeof(pchParentPath)); + snprintf(pchParentPath, sizeof(pchParentPath), compressFrom); + pchStrPos = strrchr(pchParentPath, '/'); + if(NIL != pchStrPos) + { + *pchStrPos = '\0'; + } + s32ParentPathLength = strlen(pchParentPath); + + + while( ARCHIVE_OK == s32Result ) + { + psEntry = archive_entry_new(); + s32Result = archive_read_next_header2(psDisk, psEntry); + + switch( s32Result ) + { + case ARCHIVE_EOF: + { + /* nothing else to do; */ + break; + } + case ARCHIVE_OK: + { + str_t pstrTemp[PATH_ABS_MAX_SIZE]; + pstr_t p = archive_entry_pathname(psEntry); + if(NIL != p) + { + /* remove parent section and save relative pathnames */ + memset(pstrTemp, 0, sizeof(pstrTemp)); + snprintf(pstrTemp, sizeof(pstrTemp), "%s", p + (s32ParentPathLength + 1)); + archive_entry_copy_pathname(psEntry, pstrTemp); + } + + archive_read_disk_descend(psDisk); + s32Result = archive_write_header(psArchive, psEntry); + if( ARCHIVE_OK > s32Result) + { + printf("persadmin_compress - archive_write_header ERR %s\n", archive_error_string(psArchive)); + } + if( ARCHIVE_FATAL == s32Result ) + { + /* exit; */ + printf("persadmin_compress - archive_write_header ERR FATAL\n"); + } + if( ARCHIVE_FAILED < s32Result ) + { +#if 0 + /* Ideally, we would be able to use + * the same code to copy a body from + * an archive_read_disk to an + * archive_write that we use for + * copying data from an archive_read + * to an archive_write_disk. + * Unfortunately, this doesn't quite + * work yet. */ + persadmin_copy_data(psDisk, psArchive); +#else + + /* For now, we use a simpler loop to copy data + * into the target archive. */ + fd = open(archive_entry_sourcepath(psEntry), O_RDONLY); + s32Length = read(fd, buffer, READ_BUFFER_LENGTH); + while( s32Length > 0 ) + { + archive_write_data(psArchive, buffer, s32Length); + s32Length = read(fd, buffer, READ_BUFFER_LENGTH); + } + close(fd); +#endif + } + + break; + } + default: + { + printf("persadmin_compress - archive_read_next_header2 ERR %s\n", archive_error_string(psDisk)); + /* exit; */ + break; + } + } + + if( NIL != psEntry ) + { + archive_entry_free(psEntry); + } + } + + /* perform cleaning operations; */ + if( NIL != psDisk ) + { + archive_read_close(psDisk); + archive_read_free(psDisk); + } + + if( NIL != psArchive ) + { + archive_write_close(psArchive); + archive_write_free(psArchive); + } + + /* overwrite result; */ + s32Result = (s32Result == ARCHIVE_EOF) ? ARCHIVE_OK : s32Result; + /* return result; */ + return s32Result; + +} /* persadmin_compress() */ + + + diff --git a/test/pers_svc_test/src/test_pas_resource_config_add.c b/test/pers_svc_test/src/test_pas_resource_config_add.c new file mode 100644 index 0000000..29dd2d8 --- /dev/null +++ b/test/pers_svc_test/src/test_pas_resource_config_add.c @@ -0,0 +1,729 @@ +/********************************************************************************************************************* * * Copyright (C) 2012 Continental Automotive Systems, Inc. * * Author: Petrica.Manoila@continental-corporation.com * * Implementation of backup process * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * Date Author Reason * 2012.11.27 uidu0250 CSP_WZ#1280: Initial version * **********************************************************************************************************************/ #include "persComTypes.h" +#include "stdio.h" +#include "string.h" + +#include +#include +#include +#include +#include + +#include "dlt/dlt.h" + +#include "persistence_admin_service.h" +#include "test_PAS.h" +#include "test_pas_resource_config_add.h" + +#include "persComDbAccess.h" + +#define File_t PersistenceResourceType_file +#define Key_t PersistenceResourceType_key + +/* L&T context */ +#define LT_HDR "TEST_PAS_CONF >> " +DLT_IMPORT_CONTEXT (persAdminSvcDLTCtx) +static char g_msg[512] ; + + +#define RESOURCE_PATH "/tmp/var/resourceConfig" +#define RESOURCE_PATH_ RESOURCE_PATH"/" + +#define RESOURCE_ARCHIVE_PATHNAME_1 "/tmp/PAS/resource1.tar.gz" +#define RESOURCE_ARCHIVE_PATHNAME_2 "/tmp/PAS/resource2.tar.gz" + +/********************************************************************************************************************************************** + *********************************************** Expected - public ***************************************************************************** + *********************************************************************************************************************************************/ +expected_key_data_RCT_s expected_RCT_public[13] = +{ + //pubSettingA changed policy (wt -> wc) + {"pubSettingA", PERS_ORG_SHARED_PUBLIC_CACHE_PATH"/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wc, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingB", PERS_ORG_SHARED_PUBLIC_CACHE_PATH"/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wt, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingC", PERS_ORG_SHARED_PUBLIC_CACHE_PATH"/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wt, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_CACHE_PATH"/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wt, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSettingD", PERS_ORG_SHARED_PUBLIC_CACHE_PATH"/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wc, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + //pubSettingE changed policy (wc -> wt) + {"pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH"/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wt, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + //pubSettingF removed + {"pubSettingF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH"/"PERS_ORG_RCT_NAME, false, {PersistencePolicy_wc, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH"/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wc, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + //new_pubSetting_1 added + {"new_pubSetting_1", PERS_ORG_SHARED_PUBLIC_CACHE_PATH"/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wc, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"doc1.txt", PERS_ORG_SHARED_PUBLIC_CACHE_PATH"/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wt, PersistenceStorage_shared,File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"Docs/doc2.txt", PERS_ORG_SHARED_PUBLIC_CACHE_PATH"/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wt, PersistenceStorage_shared,File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"docA.txt", PERS_ORG_SHARED_PUBLIC_CACHE_PATH"/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wc, PersistenceStorage_shared,File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}, + {"Docs/docB.txt", PERS_ORG_SHARED_PUBLIC_CACHE_PATH"/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wc, PersistenceStorage_shared,File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}} +} ; + +/* data after phase 1 */ +expected_key_data_localDB_s expectedKeyData_public[29] = +{ + //pubSettingA changed policy (wt -> wc) + {PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, false, + "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")}, + {PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_, true, + "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")}, + {"pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME, true, + "FactoryDefault : pubSettingA : orig", sizeof("FactoryDefault : pubSettingA : orig")}, + {"pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME, true, + "ConfigurableDefault : pubSettingA : orig", sizeof("ConfigurableDefault : pubSettingA : orig")}, + + {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, true, + "Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")}, + {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, true, + "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")}, + //added factory default value in config file + {"pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME, true, + "FactoryDefault : pubSettingB : new", sizeof("FactoryDefault : pubSettingB : new")}, + + {PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, true, + "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")}, + + {PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, true, + "Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")}, + {PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, true, + "Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")}, + {PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, true, + "Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")}, + {PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, true, + "Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")}, + {"pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME, true, + "FactoryDefault : pubSetting/ABC : orig", sizeof("FactoryDefault : pubSetting/ABC : orig")}, + #if 0 //configurable-default values changed by config file + {"pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME, true, + "ConfigurableDefault : pubSetting/ABC : orig", sizeof("ConfigurableDefault : pubSetting/ABC : orig")}, + #endif + {"pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME, true, + "ConfigurableDefault : pubSetting/ABC : new", sizeof("ConfigurableDefault : pubSetting/ABC : new")}, + + {PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_, true, + "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")}, + #if 0 //factory-default value changed by config file + {"pubSettingD", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME, true, + "FactoryDefault : pubSettingD : orig", sizeof("FactoryDefault : pubSettingD : orig")}, + #endif + {"pubSettingD", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME, true, + "FactoryDefault : pubSettingD : new", sizeof("FactoryDefault : pubSettingD : new")}, + //configurable-default value added by config file + {"pubSettingD", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME, true, + "ConfigurableDefault : pubSettingD : new", sizeof("ConfigurableDefault : pubSettingD : new")}, + + //pubSettingE changed policy (wc -> wt) + {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, true, + "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")}, + {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_, false, + "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")}, + {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, true, + "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")}, + {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_, false, + "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")}, + + //pubSettingF removed + {PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, false, + "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")}, + {PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_, false, + "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")}, + + {PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_, true, + "Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")}, + {PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_, true, + "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")}, + {PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_, true, + "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")}, + {PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_, true, + "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")}, + + //new_pubSetting_1 - added factory-default value in config file + {"new_pubSetting_1", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME, true, + "FactoryDefault : new_pubSetting_1 : new", sizeof("FactoryDefault : new_pubSetting_1 : new")}, + //new_pubSetting_1 - added configurable-default value in config file + {"new_pubSetting_1", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME, true, + "ConfigurableDefault : new_pubSetting_1 : new", sizeof("ConfigurableDefault : new_pubSetting_1 : new")} +} ; + + +/* data after phase 2 - uninstall non-default data (pubSettingB excepted) */ +expected_key_data_localDB_s expectedKeyData_public_phase2[29] = +{ + {PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, + false, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")}, + {PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_, + false, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")}, + {"pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME, + true, "FactoryDefault : pubSettingA : orig", sizeof("FactoryDefault : pubSettingA : orig")}, + {"pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME, + true, "ConfigurableDefault : pubSettingA : orig", sizeof("ConfigurableDefault : pubSettingA : orig")}, + + {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, + true, "Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")}, + {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, + true, "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")}, + {"pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME, + true, "FactoryDefault : pubSettingB : new", sizeof("FactoryDefault : pubSettingB : new")}, + + {PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, + false, "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")}, + + {PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, + false, "Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")}, + {PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, + false, "Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")}, + {PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, + false, "Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")}, + {PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, + false, "Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")}, + {"pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME, + true, "FactoryDefault : pubSetting/ABC : orig", sizeof("FactoryDefault : pubSetting/ABC : orig")}, + + {"pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME, + true, "ConfigurableDefault : pubSetting/ABC : new", sizeof("ConfigurableDefault : pubSetting/ABC : new")}, + + {PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_, + false, "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")}, + + {"pubSettingD", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME, + true, "FactoryDefault : pubSettingD : new", sizeof("FactoryDefault : pubSettingD : new")}, + {"pubSettingD", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME, + true, "ConfigurableDefault : pubSettingD : new", sizeof("ConfigurableDefault : pubSettingD : new")}, + + {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, + false, "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")}, + {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_, + false, "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")}, + {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, + false, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")}, + {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_, + false, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")}, + + {PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, + false, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")}, + {PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_, + false, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")}, + + {PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_, + false, "Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")}, + {PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_, + false, "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")}, + {PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_, + false, "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")}, + {PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_, + false, "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")}, + + {"new_pubSetting_1", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME, + true, "FactoryDefault : new_pubSetting_1 : new", sizeof("FactoryDefault : new_pubSetting_1 : new")}, + {"new_pubSetting_1", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME, + true, "ConfigurableDefault : new_pubSetting_1 : new", sizeof("ConfigurableDefault : new_pubSetting_1 : new")} +}; + +expected_file_data_s expectedFileData_public[18] = +{ +/* factory-default - installed via config */ + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_DEFAULT_DATA_FOLDER_NAME"/""doc1.txt", true, "File>>/doc1.txt factory-default", sizeof("File>>/doc1.txt factory-default")-1}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_DEFAULT_DATA_FOLDER_NAME"/""docA.txt", true, "File>>/docA.txt factory-default", sizeof("File>>/docA.txt factory-default")-1}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_DEFAULT_DATA_FOLDER_NAME"/""Docs/doc2.txt", true, "File>>/Docs/doc2.txt factory-default", sizeof("File>>/Docs/doc2.txt factory-default")-1}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_DEFAULT_DATA_FOLDER_NAME"/""Docs/docB.txt", true, "File>>/Docs/docB.txt factory-default", sizeof("File>>/Docs/docB.txt factory-default")-1}, +/* configurable-default - installed via config */ + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME"/""doc1.txt", true, "File>>/doc1.txt configurable-default", sizeof("File>>/doc1.txt configurable-default")-1}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME"/""docA.txt", true, "File>>/docA.txt configurable-default", sizeof("File>>/docA.txt configurable-default")-1}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME"/""Docs/doc2.txt", true, "File>>/Docs/doc2.txt configurable-default", sizeof("File>>/Docs/doc2.txt configurable-default")-1}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME"/""Docs/docB.txt", true, "File>>/Docs/docB.txt configurable-default", sizeof("File>>/Docs/docB.txt configurable-default")-1}, +/* non-default - pre-installed */ + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_NODE_FOLDER_NAME"/""doc1.txt", true, "File>>/doc1.txt", sizeof("File>>/doc1.txt")}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_NODE_FOLDER_NAME"/""Docs/doc2.txt", true, "File>>/Docs/doc2.txt", sizeof("File>>/Docs/doc2.txt")}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", true, "File>>/docA.txt::user1", sizeof("File>>/docA.txt::user1")}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", true, "File>>/docA.txt::user2", sizeof("File>>/docA.txt::user2")}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", true, "File>>/docA.txt::user3", sizeof("File>>/docA.txt::user3")}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", true, "File>>/docA.txt::user4", sizeof("File>>/docA.txt::user4")}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>/docB.txt::user2:seat1", sizeof("File>>/docB.txt::user2:seat1")}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>/docB.txt::user2:seat2", sizeof("File>>/docB.txt::user2:seat2")}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>/docB.txt::user2:seat3", sizeof("File>>/docB.txt::user2:seat3")}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>/docB.txt::user2:seat4", sizeof("File>>/docB.txt::user2:seat4")} +}; + +/* data after phase 2 - uninstall non-default data (docA.txt excepted) */ +expected_file_data_s expectedFileData_public_phase2[18] = +{ +/* factory-default - installed via config */ + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_DEFAULT_DATA_FOLDER_NAME"/""doc1.txt", true, "File>>/doc1.txt factory-default", sizeof("File>>/doc1.txt factory-default")-1}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_DEFAULT_DATA_FOLDER_NAME"/""docA.txt", true, "File>>/docA.txt factory-default", sizeof("File>>/docA.txt factory-default")-1}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_DEFAULT_DATA_FOLDER_NAME"/""Docs/doc2.txt", true, "File>>/Docs/doc2.txt factory-default", sizeof("File>>/Docs/doc2.txt factory-default")-1}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_DEFAULT_DATA_FOLDER_NAME"/""Docs/docB.txt", true, "File>>/Docs/docB.txt factory-default", sizeof("File>>/Docs/docB.txt factory-default")-1}, +/* configurable-default - installed via config */ + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME"/""doc1.txt", true, "File>>/doc1.txt configurable-default", sizeof("File>>/doc1.txt configurable-default")-1}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME"/""docA.txt", true, "File>>/docA.txt configurable-default", sizeof("File>>/docA.txt configurable-default")-1}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME"/""Docs/doc2.txt", true, "File>>/Docs/doc2.txt configurable-default", sizeof("File>>/Docs/doc2.txt configurable-default")-1}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME"/""Docs/docB.txt", true, "File>>/Docs/docB.txt configurable-default", sizeof("File>>/Docs/docB.txt configurable-default")-1}, +/* non-default - pre-installed */ + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_NODE_FOLDER_NAME"/""doc1.txt", false,"File>>/doc1.txt", sizeof("File>>/doc1.txt")}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_NODE_FOLDER_NAME"/""Docs/doc2.txt", false,"File>>/Docs/doc2.txt", sizeof("File>>/Docs/doc2.txt")}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", true, "File>>/docA.txt::user1", sizeof("File>>/docA.txt::user1")}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", true, "File>>/docA.txt::user2", sizeof("File>>/docA.txt::user2")}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", true, "File>>/docA.txt::user3", sizeof("File>>/docA.txt::user3")}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", true, "File>>/docA.txt::user4", sizeof("File>>/docA.txt::user4")}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false,"File>>/docB.txt::user2:seat1", sizeof("File>>/docB.txt::user2:seat1")}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false,"File>>/docB.txt::user2:seat2", sizeof("File>>/docB.txt::user2:seat2")}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false,"File>>/docB.txt::user2:seat3", sizeof("File>>/docB.txt::user2:seat3")}, + {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false,"File>>/docB.txt::user2:seat4", sizeof("File>>/docB.txt::user2:seat4")} +}; + +/********************************************************************************************************************************************** + *********************************************** Expected - group/10 ***************************************************************************** + *********************************************************************************************************************************************/ +expected_key_data_RCT_s expected_RCT_group_10[12] = +{ + {"gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_1.txt", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"Docs/gr10_A.txt", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"gr10_2.txt", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}, + {"Docs/gr10_B.txt", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}} +} ; + +expected_key_data_localDB_s expectedKeyData_group_10[24] = +{ +/* non-default data : pre-installed */ + {PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_WT_DB_NAME_, true, + "Data>>/gr10_SettingA", sizeof("Data>>/gr10_SettingA")}, + {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_WT_DB_NAME_, true, + "Data>>/gr10_SettingB::user2::seat1", sizeof("Data>>/gr10_SettingB::user2::seat1")}, + {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_WT_DB_NAME_, true, + "Data>>/gr10_SettingB::user2:seat2", sizeof("Data>>/gr10_SettingB::user2:seat2")}, + //no longer in - deleted by installException + {PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_WT_DB_NAME_, false, + "Data>>/gr10_SettingC", sizeof("Data>>/gr10_SettingC")}, + {PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_WT_DB_NAME_, true, + "Data>>/gr10_Setting/ABC::user1", sizeof("Data>>/gr10_Setting/ABC::user1")}, + {PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_WT_DB_NAME_, true, + "Data>>/gr10_Setting/ABC::user2", sizeof("Data>>/gr10_Setting/ABC::user2")}, + {PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_WT_DB_NAME_, true, + "Data>>/gr10_Setting/ABC::user3", sizeof("Data>>/gr10_Setting/ABC::user3")}, + {PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_WT_DB_NAME_, true, + "Data>>/gr10_Setting/ABC::user4", sizeof("Data>>/gr10_Setting/ABC::user4")}, + {PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, + "Data>>/gr10_SettingD", sizeof("Data>>/gr10_SettingD")}, + {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, + "Data>>/gr10_SettingE::user2:seat1", sizeof("Data>>/gr10_SettingE::user2:seat1")}, + {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, + "Data>>/gr10_SettingE::user2:seat2", sizeof("Data>>/gr10_SettingE::user2:seat2")}, + {PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, + "Data>>/gr10_SettingF", sizeof("Data>>/gr10_SettingF")}, + {PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, + "Data>>/gr10_Setting/DEF::user1", sizeof("Data>>/gr10_Setting/DEF::user1")}, + {PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, + "Data>>/gr10_Setting/DEF::user2", sizeof("Data>>/gr10_Setting/DEF::user2")}, + {PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, + "Data>>/gr10_Setting/DEF::user3", sizeof("Data>>/gr10_Setting/DEF::user3")}, + {PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, + "Data>>/gr10_Setting/DEF::user4", sizeof("Data>>/gr10_Setting/DEF::user4")}, +/* factory-default data : pre-installed */ + //not updated because factory-default data not available in config file + {"gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_, true, + "FactoryDefault : gr10_SettingA : orig", sizeof("FactoryDefault : gr10_SettingA : orig")}, + {"gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_, true, + "FactoryDefault : gr10_SettingB : orig", sizeof("FactoryDefault : gr10_SettingB : orig")}, + //deleted by config file + {"gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_, false, + "FactoryDefault : gr10_SettingC : orig", sizeof("FactoryDefault : gr10_SettingC : orig")}, + {"gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_, true, + "FactoryDefault : gr10_Setting/ABC : orig", sizeof("FactoryDefault : gr10_Setting/ABC : orig")}, +/* configurable-default data : pre-installed */ + #if 0 //updated by config file + {"gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, true, + "ConfigurableDefault : gr10_SettingA : orig", sizeof("ConfigurableDefault : gr10_SettingA : orig")}, + #endif + {"gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, true, + "ConfigurableDefault : gr10_SettingA : new", sizeof("ConfigurableDefault : gr10_SettingA : new")}, + {"gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, true, + "ConfigurableDefault : gr10_SettingB : orig", sizeof("ConfigurableDefault : gr10_SettingB : orig")}, + //deleted by config file + {"gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, + "ConfigurableDefault : gr10_SettingC : orig", sizeof("ConfigurableDefault : gr10_SettingC : orig")}, + {"gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, true, + "ConfigurableDefault : gr10_Setting/ABC : orig", sizeof("ConfigurableDefault : gr10_Setting/ABC : orig")} +} ; + +expected_file_data_s expectedFileData_group_10[18] = +{ +/* pre-installed */ + {PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt", sizeof("File>>gr10_>>/gr10_1.txt")}, + #if 0 //updated by config file + {PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", true, "File>>gr10_>>/Docs/gr10_A.txt", sizeof("File>>gr10_>>/Docs/gr10_A.txt")}, + #endif + {PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", false,"File>>gr10_>>/Docs/gr10_A.txt", sizeof("File>>gr10_>>/Docs/gr10_A.txt")}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user1", sizeof("File>>gr10_>>/gr10_2.txt::user1")}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user2", sizeof("File>>gr10_>>/gr10_2.txt::user2")}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user3", sizeof("File>>gr10_>>/gr10_2.txt::user3")}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user4", sizeof("File>>gr10_>>/gr10_2.txt::user4")}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1", sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1")}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2", sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2")}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3", sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3")}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4", sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4")}, + + /* factory-default data */ + #if 0 //updated by config file + {PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt factory-default : orig", sizeof("File>>gr10_>>/gr10_1.txt factory-default : orig")}, + #endif + {PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt factory-default : new", sizeof("File>>gr10_>>/gr10_1.txt factory-default : new")}, + //deleted by config file + {PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/Docs/gr10_A.txt", false, "File>>gr10_>>/Docs/gr10_A.txt factory-default : orig", sizeof("File>>gr10_>>/Docs/gr10_A.txt factory-default : orig")}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt factory-default : orig", sizeof("File>>gr10_>>/gr10_2.txt factory-default : orig")}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt factory-default : orig", sizeof("File>>gr10_>>/Docs/gr10_B.txt factory-default : orig")}, + /* configurable-default data */ + #if 0 //updated by config file + {PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt configurable-default : orig", sizeof("File>>gr10_>>/gr10_1.txt configurable-default : orig")}, + #endif + {PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt configurable-default : new", sizeof("File>>gr10_>>/gr10_1.txt configurable-default : new")}, + //deleted by config file + {PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_"/Docs/gr10_A.txt", false,"File>>gr10_>>/Docs/gr10_A.txt configurable-default : orig", sizeof("File>>gr10_>>/Docs/gr10_A.txt configurable-default : orig")}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_"/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt configurable-default : orig", sizeof("File>>gr10_>>/gr10_2.txt configurable-default : orig")}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_"/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt configurable-default : orig", sizeof("File>>gr10_>>/Docs/gr10_B.txt configurable-default : orig")}, + +}; + +/********************************************************************************************************************************************** + *********************************************** Expected - group/20 ***************************************************************************** + *********************************************************************************************************************************************/ + + +expected_key_data_RCT_s expected_RCT_group_20[12] = +{ + {"gr20_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}}, + {"gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}}, + {"gr20_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}}, + {"gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}}, + {"gr20_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}}, + {"gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}}, + {"gr20_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}}, + {"gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}}, + {"doc1.txt", PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}}, + {"Docs/doc2.txt", PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}}, + {"docA.txt", PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}}, + {"Docs/docB.txt", PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}} +} ; + +expected_key_data_localDB_s expectedKeyData_group_20[16] = +{ +/* non-default data : pre-installed */ + {PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", + PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_LOCAL_WT_DB_NAME_, true, + "Data>>/gr20_SettingA", sizeof("Data>>/gr20_SettingA")}, + {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", + PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_LOCAL_WT_DB_NAME_, true, + "Data>>/gr20_SettingB::user2::seat1", sizeof("Data>>/gr20_SettingB::user2::seat1")}, + {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", + PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_LOCAL_WT_DB_NAME_, true, + "Data>>/gr20_SettingB::user2:seat2", sizeof("Data>>/gr20_SettingB::user2:seat2")}, + {PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", + PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_LOCAL_WT_DB_NAME_, true, + "Data>>/gr20_SettingC", sizeof("Data>>/gr20_SettingC")}, + {PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", + PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_LOCAL_WT_DB_NAME_, true, + "Data>>/gr20_Setting/ABC::user1", sizeof("Data>>/gr20_Setting/ABC::user1")}, + {PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", + PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_LOCAL_WT_DB_NAME_, true, + "Data>>/gr20_Setting/ABC::user2", sizeof("Data>>/gr20_Setting/ABC::user2")}, + {PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", + PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_LOCAL_WT_DB_NAME_, true, + "Data>>/gr20_Setting/ABC::user3", sizeof("Data>>/gr20_Setting/ABC::user3")}, + {PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", + PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_LOCAL_WT_DB_NAME_, true, + "Data>>/gr20_Setting/ABC::user4", sizeof("Data>>/gr20_Setting/ABC::user4")}, + {PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", + PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, + "Data>>/gr20_SettingD", sizeof("Data>>/gr20_SettingD")}, + {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", + PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, + "Data>>/gr20_SettingE::user2:seat1", sizeof("Data>>/gr20_SettingE::user2:seat1")}, + {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", + PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, + "Data>>/gr20_SettingE::user2:seat2", sizeof("Data>>/gr20_SettingE::user2:seat2")}, + {PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", + PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, + "Data>>/gr20_SettingF", sizeof("Data>>/gr20_SettingF")}, + {PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", + PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, + "Data>>/gr20_Setting/DEF::user1", sizeof("Data>>/gr20_Setting/DEF::user1")}, + {PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", + PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, + "Data>>/gr20_Setting/DEF::user2", sizeof("Data>>/gr20_Setting/DEF::user2")}, + {PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", + PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, + "Data>>/gr20_Setting/DEF::user3", sizeof("Data>>/gr20_Setting/DEF::user3")}, + {PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", + PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, + "Data>>/gr20_Setting/DEF::user4", sizeof("Data>>/gr20_Setting/DEF::user4")} +}; +expected_file_data_s expectedFileData_group_20[10] = +{ +/* pre-installed */ + {PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>gr20_>>/doc1.txt", sizeof("File>>gr20_>>/doc1.txt")}, + {PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>gr20_>>/Docs/doc2.txt", sizeof("File>>gr20_>>/Docs/doc2.txt")}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>gr20_>>/docA.txt::user1", sizeof("File>>gr20_>>/docA.txt::user1")}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>gr20_>>/docA.txt::user2", sizeof("File>>gr20_>>/docA.txt::user2")}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>gr20_>>/docA.txt::user3", sizeof("File>>gr20_>>/docA.txt::user3")}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>gr20_>>/docA.txt::user4", sizeof("File>>gr20_>>/docA.txt::user4")}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat1", sizeof("File>>gr20_>>/docB.txt::user2:seat1")}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat2", sizeof("File>>gr20_>>/docB.txt::user2:seat2")}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat3", sizeof("File>>gr20_>>/docB.txt::user2:seat3")}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat4", sizeof("File>>gr20_>>/docB.txt::user2:seat4")} +}; + +/********************************************************************************************************************************************** + *********************************************** Expected - group/30 ***************************************************************************** + *********************************************************************************************************************************************/ +/* Group 30 - new install based exclusively on configuration input (json fles) */ +expected_key_data_RCT_s expected_RCT_group_30[6] = +{ + {"gr30_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group30"},{NIL},{NIL}}}, + {"gr30_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group30"},{NIL},{NIL}}}, + {"gr30_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group30"},{NIL},{NIL}}}, + {"gr30_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group30"},{NIL},{NIL}}}, + {"gr30_1.txt", PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group30"},{NIL},{NIL}}}, + {"gr30_2.txt", PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group30"},{NIL},{NIL}}}, +} ; + +expected_key_data_localDB_s expectedKeyData_group_30[8] = +{ +/* factory-default data : installed via configuration input */ + {"gr30_SettingA", + PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_, true, + "gr30_SettingA : FactoryDefault : orig", sizeof("gr30_SettingA : FactoryDefault : orig")}, + {"gr30_SettingB", + PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_, true, + "gr30_SettingB : FactoryDefault : orig", sizeof("gr30_SettingB : FactoryDefault : orig")}, + {"gr30_SettingC", + PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_, true, + "gr30_SettingC : FactoryDefault : orig", sizeof("gr30_SettingC : FactoryDefault : orig")}, + {"gr30_SettingD", + PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_, true, + "gr30_SettingD : FactoryDefault : orig", sizeof("gr30_SettingD : FactoryDefault : orig")}, +/* configurable-default data : installed via configuration input */ + {"gr30_SettingA", + PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, true, + "gr30_SettingA : ConfigurableDefault : orig", sizeof("gr30_SettingA : ConfigurableDefault : orig")}, + {"gr30_SettingB", + PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, true, + "gr30_SettingB : ConfigurableDefault : orig", sizeof("gr30_SettingB : ConfigurableDefault : orig")}, + {"gr30_SettingC", + PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, true, + "gr30_SettingC : ConfigurableDefault : orig", sizeof("gr30_SettingC : ConfigurableDefault : orig")}, + {"gr30_SettingD", + PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, true, + "gr30_SettingD : ConfigurableDefault : orig", sizeof("gr30_SettingD : ConfigurableDefault : orig")}, +}; + +expected_file_data_s expectedFileData_group_30[4] = +{ +/* factory-default data : installed via configuration input */ + {PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/gr30_1.txt", true, + "File>>gr30_>>/gr30_1.txt factory-default : orig", sizeof("File>>gr30_>>/gr30_1.txt factory-default : orig")}, + {PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/gr30_2.txt", true, + "File>>gr30_>>/gr30_2.txt factory-default : orig", sizeof("File>>gr30_>>/gr30_2.txt factory-default : orig")}, +/* configurable-default data : installed via configuration input */ + {PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_"/gr30_1.txt", true, + "File>>gr30_>>/gr30_1.txt configurable-default : orig", sizeof("File>>gr30_>>/gr30_1.txt configurable-default : orig")}, + {PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_"/gr30_2.txt", true, + "File>>gr30_>>/gr30_2.txt configurable-default : orig", sizeof("File>>gr30_>>/gr30_2.txt configurable-default : orig")}, +}; + +/********************************************************************************************************************************************** + *********************************************** Expected - App30 First Phase ***************************************************************** + *********************************************************************************************************************************************/ +/* Group 30 - new install based exclusively on configuration input (json fles) */ +expected_key_data_RCT_s expected_RCT_App30_Phase_1[6] = +{ + {"App30_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App30"},{NIL},{NIL}}}, + {"App30_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App30"},{NIL},{NIL}}}, + {"App30_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App30"},{NIL},{NIL}}}, + {"App30_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App30"},{NIL},{NIL}}}, + {"App30_1.txt", PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App30"},{NIL},{NIL}}}, + {"App30_2.txt", PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App30"},{NIL},{NIL}}}, +} ; + +expected_key_data_localDB_s expectedKeyData_App30_Phase_1[8] = +{ +/* factory-default data : installed via configuration input */ + {"App30_SettingA", + PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_, true, + "App30_SettingA : FactoryDefault : orig", sizeof("App30_SettingA : FactoryDefault : orig")}, + {"App30_SettingB", + PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_, true, + "App30_SettingB : FactoryDefault : orig", sizeof("App30_SettingB : FactoryDefault : orig")}, + {"App30_SettingC", + PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_, true, + "App30_SettingC : FactoryDefault : orig", sizeof("App30_SettingC : FactoryDefault : orig")}, + {"App30_SettingD", + PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_, true, + "App30_SettingD : FactoryDefault : orig", sizeof("App30_SettingD : FactoryDefault : orig")}, +/* configurable-default data : installed via configuration input */ + {"App30_SettingA", + PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, true, + "App30_SettingA : ConfigurableDefault : orig", sizeof("App30_SettingA : ConfigurableDefault : orig")}, + {"App30_SettingB", + PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, true, + "App30_SettingB : ConfigurableDefault : orig", sizeof("App30_SettingB : ConfigurableDefault : orig")}, + {"App30_SettingC", + PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, true, + "App30_SettingC : ConfigurableDefault : orig", sizeof("App30_SettingC : ConfigurableDefault : orig")}, + {"App30_SettingD", + PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, true, + "App30_SettingD : ConfigurableDefault : orig", sizeof("App30_SettingD : ConfigurableDefault : orig")}, +}; + +expected_file_data_s expectedFileData_App30_Phase_1[4] = +{ +/* factory-default data : installed via configuration input */ + {PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/App30_1.txt", true, + "File>>App30_>>/App30_1.txt factory-default : orig", sizeof("File>>App30_>>/App30_1.txt factory-default : orig")}, + {PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/App30_2.txt", true, + "File>>App30_>>/App30_2.txt factory-default : orig", sizeof("File>>App30_>>/App30_2.txt factory-default : orig")}, +/* configurable-default data : installed via configuration input */ + {PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_"/App30_1.txt", true, + "File>>App30_>>/App30_1.txt configurable-default : orig", sizeof("File>>App30_>>/App30_1.txt configurable-default : orig")}, + {PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_"/App30_2.txt", true, + "File>>App30_>>/App30_2.txt configurable-default : orig", sizeof("File>>App30_>>/App30_2.txt configurable-default : orig")}, +}; + + +/***********************************************************************************************************************/ +expected_key_data_RCT_s expectedKeyData_RCT_resConfAdd_1[17] = +{ + {"App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + /* no longer available in the new RCT */ + {"App1_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"doc1.txt", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"Docs/doc2.txt", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"docA.txt", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + /* no longer available in the new RCT */ + {"Docs/docB.txt", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_NewSetting1", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_NewSetting2", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_NewSettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_NewSettingB/BAU", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}, + {"App1_NewSettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}} +}; + +expected_key_data_localDB_s expectedKeyData_localDB_resConfAdd_1[41] = +{ + {"App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DEFAULT_DB_NAME_, true, "Data>>/App1_SettingA::DEFAULT", sizeof("Data>>/App1_SettingA::DEFAULT")}, + {"App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DEFAULT_DB_NAME_, true, "Data>>/App1_SettingB::DEFAULT", sizeof("Data>>/App1_SettingB::DEFAULT")}, + {"App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DEFAULT_DB_NAME_, false, "Data>>/App1_SettingB::DEFAULT", sizeof("Data>>/App1_SettingB::DEFAULT")}, + {"App1_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DEFAULT_DB_NAME_, false, NIL, 0}, + + + {"App1_NewSetting1", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DEFAULT_DB_NAME_, true, "Data>>/App1_NewSetting1::DEFAULT", sizeof("Data>>/App1_NewSetting1::DEFAULT")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_NewSetting1", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DB_NAME_, true, "Data>>/App1_NewSetting1::user1", sizeof("Data>>/App1_NewSetting1::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_NewSetting1", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DB_NAME_, true, "Data>>/App1_NewSetting1::user2", sizeof("Data>>/App1_NewSetting1::user2")}, + + + {"App1_NewSetting2", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DEFAULT_DB_NAME_, true, "Data>>/App1_NewSetting2::DEFAULT", sizeof("Data>>/App1_NewSetting2::DEFAULT")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_NewSetting2", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DB_NAME_, true, "Data>>/App1_NewSetting2::user2::seat1", sizeof("Data>>/App1_NewSetting2::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_NewSetting2", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DB_NAME_, true, "Data>>/App1_NewSetting2::user2::seat2", sizeof("Data>>/App1_NewSetting2::user2::seat2")}, + + + {"App1_NewSettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DEFAULT_DB_NAME_, true, "Data>>/App1_NewSettingA::DEFAULT", sizeof("Data>>/App1_NewSettingA::DEFAULT")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_NewSettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, "Data>>/App1_NewSettingA::node", sizeof("Data>>/App1_NewSettingA::node")}, + + + {"App1_NewSettingB/BAU", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DEFAULT_DB_NAME_, true, "Data>>/App1_NewSettingB/BAU::DEFAULT", sizeof("Data>>/App1_NewSettingB/BAU::DEFAULT")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/App1_NewSettingB/BAU", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DEFAULT_DB_NAME_, false, NIL, 0}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/App1_NewSettingB/BAU", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, "Data>>/App1_NewSettingB/BAU::user2::seat3", sizeof("Data>>/App1_NewSettingB/BAU::user2::seat3")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/App1_NewSettingB/BAU", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DEFAULT_DB_NAME_, false, NIL, 0}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/App1_NewSettingB/BAU", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DB_NAME_, false, NIL, 0}, + { PERS_ORG_USER_FOLDER_NAME_"1"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_NewSettingB/BAU", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DEFAULT_DB_NAME_, false, NIL, 0}, + { PERS_ORG_USER_FOLDER_NAME_"1"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_NewSettingB/BAU", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, "Data>>/App1_NewSettingB/BAU::user1::seat2", sizeof("Data>>/App1_NewSettingB/BAU::user1::seat2")}, + { PERS_ORG_USER_FOLDER_NAME_"1"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_NewSettingB/BAU", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DEFAULT_DB_NAME_, false, NIL, 0}, + { PERS_ORG_USER_FOLDER_NAME_"1"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_NewSettingB/BAU", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DB_NAME_, false, NIL, 0}, + + + + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DB_NAME_, true, "Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")}, + /* policy changed for App1_SettingB */ + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DB_NAME_, false, NIL, 0}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, "Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DB_NAME_, false, NIL, 0}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, "Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")}, + + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DB_NAME_, true, "Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DB_NAME_, true, "Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DB_NAME_, true, "Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DB_NAME_, true, "Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DB_NAME_, true, "Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, "Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, "Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")}, + /* no longer available in the new RCT */ + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DB_NAME_, false, NIL, 0}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, "Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, "Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_NewSettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DB_NAME_, false, NIL, 0}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_NewSettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DEFAULT_DB_NAME_, false, NIL, 0} +}; + + +expected_file_data_s expectedKeyData_files_resConfAdd_1[16] = +{ + { PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>NewData>>/doc1.txt::CONFIGURABLE-DEFAULT", sizeof("File>>App1>>NewData>>/doc1.txt::CONFIGURABLE-DEFAULT")}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>NewData>>/doc1.txt::DEFAULT", sizeof("File>>App1>>NewData>>/doc1.txt::DEFAULT")}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>NewData>>/Docs/doc2.txt::DEFAULT", sizeof("File>>App1>>NewData>>/Docs/doc2.txt::DEFAULT")}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/docA.txt", true, "File>>App1>>NewData>>/docA.txt::DEFAULT", sizeof("File>>App1>>NewData>>/docA.txt::DEFAULT")}, + /* no longer available in the new RCT */ + { PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/Docs/docB.txt", false,NIL, 0}, + + + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>NewData>>/doc1.txt", sizeof("File>>App1>>NewData>>/doc1.txt")}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>NewData>>/Docs/doc2.txt", sizeof("File>>App1>>NewData>>/Docs/doc2.txt")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App1>>NewData>>/docA.txt::user1", sizeof("File>>App1>>NewData>>/docA.txt::user1")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App1>>/docA.txt::user2", sizeof("File>>App1>>/docA.txt::user2")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App1>>NewData>>/docA.txt::user3", sizeof("File>>App1>>NewData>>/docA.txt::user3")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App1>>/docA.txt::user4", sizeof("File>>App1>>/docA.txt::user4")}, + + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/Docs/docB.txt", false,NIL, 0}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false,NIL, 0}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false,NIL, 0}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false,NIL, 0}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false,NIL, 0} +} ; + +bool_t Test_ResourceConfigAdd_1(int ceva, void* pAltceva) +{ + bool_t bEverythingOK = true ; + + if(bEverythingOK) + { + long result = persAdminResourceConfigAdd(RESOURCE_ARCHIVE_PATHNAME_1) ; + sprintf(g_msg, "Test_ResourceConfigAdd_1: persAdminResourceConfigAdd(%s) returned %ld", RESOURCE_ARCHIVE_PATHNAME_1, result) ; + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + } + + return bEverythingOK ; +} + +bool_t Test_ResourceConfigAdd_2(int ceva, void* pAltceva) +{ + bool_t bEverythingOK = true ; + + if(bEverythingOK) + { + long result = persAdminResourceConfigAdd(RESOURCE_ARCHIVE_PATHNAME_2) ; + sprintf(g_msg, "Test_ResourceConfigAdd_1: persAdminResourceConfigAdd(%s) returned %ld", RESOURCE_ARCHIVE_PATHNAME_2, result) ; + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg)); + } + + return bEverythingOK ; +} + diff --git a/test/pers_svc_test/src/test_pas_restore_default_All.c b/test/pers_svc_test/src/test_pas_restore_default_All.c new file mode 100644 index 0000000..5aebafb --- /dev/null +++ b/test/pers_svc_test/src/test_pas_restore_default_All.c @@ -0,0 +1,350 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#include "persComTypes.h" + +#include +#include +#include +#include +#include + +#include +#include + +#include "test_PAS.h" +#include "persistence_admin_service.h" +#include "test_pas_data_restore_default.h" + +DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx); + +#define LT_HDR "TEST_PAS >> " + +//=================================================================================================================== +// INIT +//=================================================================================================================== +// using default structure offered by test framework + +//=================================================================================================================== +// EXPECTED +//=================================================================================================================== + +expected_key_data_localDB_s expected_key_data_after_restore_default_All[16 + 16 + 16 + 16 + 16] = +{ + /********************************************************************************************************************************************** + ***************************************** public ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")}, + + + /********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingA", sizeof("Data>>/gr10_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingB::user2::seat1", sizeof("Data>>/gr10_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingB::user2:seat2", sizeof("Data>>/gr10_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingC", sizeof("Data>>/gr10_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user1", sizeof("Data>>/gr10_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user2", sizeof("Data>>/gr10_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user3", sizeof("Data>>/gr10_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user4", sizeof("Data>>/gr10_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingD", sizeof("Data>>/gr10_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingE::user2:seat1", sizeof("Data>>/gr10_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingE::user2:seat2", sizeof("Data>>/gr10_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingF", sizeof("Data>>/gr10_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user1", sizeof("Data>>/gr10_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user2", sizeof("Data>>/gr10_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user3", sizeof("Data>>/gr10_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user4", sizeof("Data>>/gr10_Setting/DEF::user4")}, + + /********************************************************************************************************************************************** + ***************************************** Group 20 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingA", sizeof("Data>>/gr20_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingB::user2::seat1", sizeof("Data>>/gr20_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingB::user2:seat2", sizeof("Data>>/gr20_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingC", sizeof("Data>>/gr20_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user1", sizeof("Data>>/gr20_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user2", sizeof("Data>>/gr20_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user3", sizeof("Data>>/gr20_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user4", sizeof("Data>>/gr20_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingD", sizeof("Data>>/gr20_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingE::user2:seat1", sizeof("Data>>/gr20_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingE::user2:seat2", sizeof("Data>>/gr20_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingF", sizeof("Data>>/gr20_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user1", sizeof("Data>>/gr20_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user2", sizeof("Data>>/gr20_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user3", sizeof("Data>>/gr20_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user4", sizeof("Data>>/gr20_Setting/DEF::user4")}, + + /********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")}, + + /********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")}, +} ; + +expected_file_data_s expected_file_data_after_restore_default_All[10 + 10 + 10 + 10 + 10] = +{ + /********************************************************************************************************************************************** + ***************************************** public ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", false, "File>>/doc1.txt" , sizeof("File>>/doc1.txt")}, + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", false, "File>>/Docs/doc2.txt" , sizeof("File>>/Docs/doc2.txt")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", false, "File>>/docA.txt::user1" , sizeof("File>>/docA.txt::user1")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", false, "File>>/docA.txt::user2" , sizeof("File>>/docA.txt::user2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", false, "File>>/docA.txt::user3" , sizeof("File>>/docA.txt::user3")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", false, "File>>/docA.txt::user4" , sizeof("File>>/docA.txt::user4")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>/docB.txt::user2:seat1" , sizeof("File>>/docB.txt::user2:seat1")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>/docB.txt::user2:seat2" , sizeof("File>>/docB.txt::user2:seat2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>/docB.txt::user2:seat3" , sizeof("File>>/docB.txt::user2:seat3")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>/docB.txt::user2:seat4" , sizeof("File>>/docB.txt::user2:seat4")}, + + + /********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ + {PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", false, "File>>gr10_>>/gr10_1.txt" , sizeof("File>>gr10_>>/gr10_1.txt" )}, + {PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", false, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof("File>>gr10_>>/Docs/gr10_A.txt" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user1" , sizeof("File>>gr10_>>/gr10_2.txt::user1" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user2" , sizeof("File>>gr10_>>/gr10_2.txt::user2" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user3" , sizeof("File>>gr10_>>/gr10_2.txt::user3" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user4" , sizeof("File>>gr10_>>/gr10_2.txt::user4" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt",false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt",false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt",false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt",false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" )}, + + + /********************************************************************************************************************************************** + ***************************************** Group 20 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>gr20_>>/doc1.txt" , sizeof("File>>gr20_>>/doc1.txt")}, + { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>gr20_>>/Docs/doc2.txt" , sizeof("File>>gr20_>>/Docs/doc2.txt")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false, "File>>gr20_>>/docA.txt::user1", sizeof("File>>gr20_>>/docA.txt::user1")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false, "File>>gr20_>>/docA.txt::user2", sizeof("File>>gr20_>>/docA.txt::user2")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>gr20_>>/docA.txt::user3", sizeof("File>>gr20_>>/docA.txt::user3")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>gr20_>>/docA.txt::user4", sizeof("File>>gr20_>>/docA.txt::user4")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat1" , sizeof("File>>gr20_>>/docB.txt::user2:seat1")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat2" , sizeof("File>>gr20_>>/docB.txt::user2:seat2")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat3" , sizeof("File>>gr20_>>/docB.txt::user2:seat3")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat4" , sizeof("File>>gr20_>>/docB.txt::user2:seat4")}, + + + /********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false, "File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false, "File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )}, + + + /********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>App2>>/doc1.txt" , sizeof("File>>App2>>/doc1.txt")}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>App2>>/Docs/doc2.txt" , sizeof("File>>App2>>/Docs/doc2.txt")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false, "File>>App2>>/docA.txt::user1" , sizeof("File>>App2>>/docA.txt::user1")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false, "File>>App2>>/docA.txt::user2" , sizeof("File>>App2>>/docA.txt::user2")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>App2>>/docA.txt::user3" , sizeof("File>>App2>>/docA.txt::user3")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>App2>>/docA.txt::user4" , sizeof("File>>App2>>/docA.txt::user4")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4")} +} ; + +static expected_default_file_data_s expected_default_file_data_after_restore_factory_default_All[20] = +{ + /********************************************************************************************************************************************** + ***************************************** public ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME, true, false}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME, true, false}, + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME, false, false}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME, false, false}, + + + /********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, false}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, false}, + { PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, false}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, false}, + + + /********************************************************************************************************************************************** + ***************************************** Group 20 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, false}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, false}, + { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, false}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, false}, + + + /********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, false}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, false}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, false}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, false}, + + /********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, false}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, false}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, false}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, false}, +} ; + + +//=================================================================================================================== +bool_t Test_Restore_Factory_Default_All(sint_t type, void* pv) +{ + bool_t bEverythingOK = true ; + uint32_t u32Idx; + sint_t retVal; + long lRetVal; + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), + DLT_STRING("Restore factory default for All content...")); + + lRetVal = persAdminDataRestore( PersASSelectionType_All, + PersASDefaultSource_Factory, + "", + PERSIST_SELECT_ALL_USERS, + PERSIST_SELECT_ALL_SEATS); + + if(lRetVal < PAS_SUCCESS) + { + bEverythingOK = false; + } + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), + DLT_STRING("Test_Restore_Factory_Default_All: persAdminDataRestore() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + + /* Check if the configurableDefaultData folders and the configurable-default-data.itz files were deleted */ + for(u32Idx = 0; u32Idx < sizeof(expected_default_file_data_after_restore_factory_default_All) / sizeof(*expected_default_file_data_after_restore_factory_default_All); ++u32Idx) + { + retVal = CheckIfFileExists( expected_default_file_data_after_restore_factory_default_All[u32Idx].filename, + expected_default_file_data_after_restore_factory_default_All[u32Idx].bIsFolder); + + if((PAS_SUCCESS == retVal) && (false == expected_default_file_data_after_restore_factory_default_All[u32Idx].bExpectedToExist)) + { + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_ERROR, DLT_STRING(LT_HDR), + DLT_STRING(expected_default_file_data_after_restore_factory_default_All[u32Idx].filename), + DLT_STRING("found. Expected not to exist...")); + bEverythingOK = false; + } + +// if((PAS_SUCCESS != retVal) && (true == expected_default_file_data_after_restore_factory_default_All[u32Idx].bExpectedToExist)) +// { +// DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_ERROR, DLT_STRING(LT_HDR), +// DLT_STRING(expected_default_file_data_after_restore_factory_default_All[u32Idx].filename), +// DLT_STRING("not found. Expected to exist...")); +// bEverythingOK = false; +// } + } + + return bEverythingOK ; +} /* Test_Restore_Factory_Default_All */ + + +bool_t Test_Restore_Configurable_Default_All(sint_t type, void* pv) +{ + bool_t bEverythingOK = true ; + long lRetVal; + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), + DLT_STRING("Restore configurable default for All content...")); + + lRetVal = persAdminDataRestore( PersASSelectionType_All, + PersASDefaultSource_Configurable, + "", + PERSIST_SELECT_ALL_USERS, + PERSIST_SELECT_ALL_SEATS); + + if(lRetVal < PAS_SUCCESS) + { + bEverythingOK = false; + } + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), + DLT_STRING("Test_Restore_Configurable_Default_All: persAdminDataRestore() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + return bEverythingOK ; +} /* Test_Restore_Configurable_Default_All */ diff --git a/test/pers_svc_test/src/test_pas_restore_default_App1.c b/test/pers_svc_test/src/test_pas_restore_default_App1.c new file mode 100644 index 0000000..672ab77 --- /dev/null +++ b/test/pers_svc_test/src/test_pas_restore_default_App1.c @@ -0,0 +1,351 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#include "persComTypes.h" + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "test_PAS.h" +#include "persistence_admin_service.h" +#include "test_pas_data_restore_default.h" + +DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx); + +#define LT_HDR "TEST_PAS >> " + +//=================================================================================================================== +// INIT +//=================================================================================================================== +// using default structure offered by test framework + +//=================================================================================================================== +// EXPECTED +//=================================================================================================================== + +expected_key_data_localDB_s expected_key_data_after_restore_default_App1[16 + 16 + 16 + 16 + 16] = +{ + /********************************************************************************************************************************************** + ***************************************** public ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true,"Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true,"Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true,"Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true,"Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")}, + + + /********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingA", sizeof("Data>>/gr10_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2::seat1", sizeof("Data>>/gr10_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2:seat2", sizeof("Data>>/gr10_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingC", sizeof("Data>>/gr10_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user1", sizeof("Data>>/gr10_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user2", sizeof("Data>>/gr10_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user3", sizeof("Data>>/gr10_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user4", sizeof("Data>>/gr10_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingD", sizeof("Data>>/gr10_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat1", sizeof("Data>>/gr10_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat2", sizeof("Data>>/gr10_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingF", sizeof("Data>>/gr10_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user1", sizeof("Data>>/gr10_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user2", sizeof("Data>>/gr10_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user3", sizeof("Data>>/gr10_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user4", sizeof("Data>>/gr10_Setting/DEF::user4")}, + + /********************************************************************************************************************************************** + ***************************************** Group 20 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingA", sizeof("Data>>/gr20_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2::seat1", sizeof("Data>>/gr20_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2:seat2", sizeof("Data>>/gr20_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingC", sizeof("Data>>/gr20_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user1", sizeof("Data>>/gr20_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user2", sizeof("Data>>/gr20_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user3", sizeof("Data>>/gr20_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user4", sizeof("Data>>/gr20_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingD", sizeof("Data>>/gr20_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat1", sizeof("Data>>/gr20_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat2", sizeof("Data>>/gr20_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingF", sizeof("Data>>/gr20_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user1", sizeof("Data>>/gr20_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user2", sizeof("Data>>/gr20_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user3", sizeof("Data>>/gr20_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user4", sizeof("Data>>/gr20_Setting/DEF::user4")}, + + /********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")}, + + /********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")}, +} ; + +expected_file_data_s expected_file_data_after_restore_default_App1[10 + 10 + 10 + 10 + 10] = +{ + /********************************************************************************************************************************************** + ***************************************** public ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", true, "File>>/doc1.txt" , sizeof("File>>/doc1.txt")}, + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", true, "File>>/Docs/doc2.txt" , sizeof("File>>/Docs/doc2.txt")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", true, "File>>/docA.txt::user1" , sizeof("File>>/docA.txt::user1")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", true, "File>>/docA.txt::user2" , sizeof("File>>/docA.txt::user2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", true, "File>>/docA.txt::user3" , sizeof("File>>/docA.txt::user3")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", true, "File>>/docA.txt::user4" , sizeof("File>>/docA.txt::user4")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>/docB.txt::user2:seat1" , sizeof("File>>/docB.txt::user2:seat1")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>/docB.txt::user2:seat2" , sizeof("File>>/docB.txt::user2:seat2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>/docB.txt::user2:seat3" , sizeof("File>>/docB.txt::user2:seat3")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>/docB.txt::user2:seat4" , sizeof("File>>/docB.txt::user2:seat4")}, + + + /********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ + {PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt" , sizeof("File>>gr10_>>/gr10_1.txt" )}, + {PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", true, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof("File>>gr10_>>/Docs/gr10_A.txt" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user1" , sizeof("File>>gr10_>>/gr10_2.txt::user1" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user2" , sizeof("File>>gr10_>>/gr10_2.txt::user2" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user3" , sizeof("File>>gr10_>>/gr10_2.txt::user3" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user4" , sizeof("File>>gr10_>>/gr10_2.txt::user4" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" )}, + + + /********************************************************************************************************************************************** + ***************************************** Group 20 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>gr20_>>/doc1.txt" , sizeof("File>>gr20_>>/doc1.txt")}, + { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>gr20_>>/Docs/doc2.txt" , sizeof("File>>gr20_>>/Docs/doc2.txt")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>gr20_>>/docA.txt::user1", sizeof("File>>gr20_>>/docA.txt::user1")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>gr20_>>/docA.txt::user2", sizeof("File>>gr20_>>/docA.txt::user2")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>gr20_>>/docA.txt::user3", sizeof("File>>gr20_>>/docA.txt::user3")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>gr20_>>/docA.txt::user4", sizeof("File>>gr20_>>/docA.txt::user4")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat1" , sizeof("File>>gr20_>>/docB.txt::user2:seat1")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat2" , sizeof("File>>gr20_>>/docB.txt::user2:seat2")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat3" , sizeof("File>>gr20_>>/docB.txt::user2:seat3")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat4" , sizeof("File>>gr20_>>/docB.txt::user2:seat4")}, + + + /********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false, "File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false, "File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )}, + + + /********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App2>>/doc1.txt" , sizeof("File>>App2>>/doc1.txt")}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App2>>/Docs/doc2.txt" , sizeof("File>>App2>>/Docs/doc2.txt")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App2>>/docA.txt::user1" , sizeof("File>>App2>>/docA.txt::user1")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App2>>/docA.txt::user2" , sizeof("File>>App2>>/docA.txt::user2")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App2>>/docA.txt::user3" , sizeof("File>>App2>>/docA.txt::user3")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App2>>/docA.txt::user4" , sizeof("File>>App2>>/docA.txt::user4")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4")} +} ; + +static expected_default_file_data_s expected_default_file_data_after_restore_factory_default_App1[20] = +{ + /********************************************************************************************************************************************** + ***************************************** public ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME, true, true}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME, true, true}, + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME, false, true}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME, false, true}, + + + /********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, true}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, true}, + { PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, true}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, true}, + + + /********************************************************************************************************************************************** + ***************************************** Group 20 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, true}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, true}, + { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, true}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, true}, + + + /********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, false}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, false}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, false}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, false}, + + /********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, true}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, true}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, true}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, true}, +} ; + + +bool_t Test_Restore_Factory_Default_App1(sint_t type, void* pv) +{ + bool_t bEverythingOK = true ; + long lRetVal; + uint32_t u32Idx; + sint_t retVal; + + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), + DLT_STRING("Restore factory default for App1...")); + + lRetVal = persAdminDataRestore( PersASSelectionType_Application, + PersASDefaultSource_Factory, + "App1", + PERSIST_SELECT_ALL_USERS, + PERSIST_SELECT_ALL_SEATS); + if(lRetVal < PAS_SUCCESS) + { + bEverythingOK = false; + } + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), + DLT_STRING("Test_Restore_Factory_Default_App1: persAdminDataRestore() - "), + DLT_STRING( bEverythingOK ? "OK" : "FAILED")); + + + /* Check if the configurableDefaultData folders and the configurable-default-data.itz files were deleted */ + for(u32Idx = 0; u32Idx < sizeof(expected_default_file_data_after_restore_factory_default_App1) / sizeof(*expected_default_file_data_after_restore_factory_default_App1); ++u32Idx) + { + retVal = CheckIfFileExists( expected_default_file_data_after_restore_factory_default_App1[u32Idx].filename, + expected_default_file_data_after_restore_factory_default_App1[u32Idx].bIsFolder); + + if((PAS_SUCCESS == retVal) && (false == expected_default_file_data_after_restore_factory_default_App1[u32Idx].bExpectedToExist)) + { + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_ERROR, DLT_STRING(LT_HDR), + DLT_STRING(expected_default_file_data_after_restore_factory_default_App1[u32Idx].filename), + DLT_STRING("found. Expected not to exist...")); + bEverythingOK = false; + } + +// if((PAS_SUCCESS != retVal) && (true == expected_default_file_data_after_restore_factory_default_App1[u32Idx].bExpectedToExist)) +// { +// DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_ERROR, DLT_STRING(LT_HDR), +// DLT_STRING(expected_default_file_data_after_restore_factory_default_App1[u32Idx].filename), +// DLT_STRING("not found. Expected to exist...")); +// bEverythingOK = false; +// } + } + + return bEverythingOK ; +} /* Test_Restore_Factory_Default_App1 */ + + +bool_t Test_Restore_Configurable_Default_App1(sint_t type, void* pv) +{ + bool_t bEverythingOK = true ; + long lRetVal; + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), + DLT_STRING("Restore configurable default for App1...")); + + lRetVal = persAdminDataRestore( PersASSelectionType_Application, + PersASDefaultSource_Configurable, + "App1", + PERSIST_SELECT_ALL_USERS, + PERSIST_SELECT_ALL_SEATS); + + if(lRetVal < PAS_SUCCESS) + { + bEverythingOK = false; + } + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), + DLT_STRING("Test_Restore_Configurable_Default_App1: persAdminDataRestore() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + return bEverythingOK ; +} /* Test_Restore_Configurable_Default_App1 */ diff --git a/test/pers_svc_test/src/test_pas_restore_default_User1.c b/test/pers_svc_test/src/test_pas_restore_default_User1.c new file mode 100644 index 0000000..a18aacb --- /dev/null +++ b/test/pers_svc_test/src/test_pas_restore_default_User1.c @@ -0,0 +1,253 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#include "persComTypes.h" + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "test_PAS.h" +#include "persistence_admin_service.h" +#include "test_pas_data_restore_default.h" + +DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx); + +#define LT_HDR "TEST_PAS >> " + +//=================================================================================================================== +// INIT +//=================================================================================================================== +// using default structure offered by test framework + +//=================================================================================================================== +// EXPECTED +//=================================================================================================================== + +expected_key_data_localDB_s expected_key_data_after_restore_default_User1[16 + 16 + 16 + 16 + 16] = +{ + /********************************************************************************************************************************************** + ***************************************** public ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false,"Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false,"Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")}, + + + /********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingA", sizeof("Data>>/gr10_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2::seat1", sizeof("Data>>/gr10_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2:seat2", sizeof("Data>>/gr10_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingC", sizeof("Data>>/gr10_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false,"Data>>/gr10_Setting/ABC::user1", sizeof("Data>>/gr10_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user2", sizeof("Data>>/gr10_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user3", sizeof("Data>>/gr10_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user4", sizeof("Data>>/gr10_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingD", sizeof("Data>>/gr10_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat1", sizeof("Data>>/gr10_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat2", sizeof("Data>>/gr10_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingF", sizeof("Data>>/gr10_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false,"Data>>/gr10_Setting/DEF::user1", sizeof("Data>>/gr10_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user2", sizeof("Data>>/gr10_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user3", sizeof("Data>>/gr10_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user4", sizeof("Data>>/gr10_Setting/DEF::user4")}, + + /********************************************************************************************************************************************** + ***************************************** Group 20 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingA", sizeof("Data>>/gr20_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2::seat1", sizeof("Data>>/gr20_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2:seat2", sizeof("Data>>/gr20_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingC", sizeof("Data>>/gr20_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false,"Data>>/gr20_Setting/ABC::user1", sizeof("Data>>/gr20_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user2", sizeof("Data>>/gr20_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user3", sizeof("Data>>/gr20_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user4", sizeof("Data>>/gr20_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingD", sizeof("Data>>/gr20_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat1", sizeof("Data>>/gr20_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat2", sizeof("Data>>/gr20_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingF", sizeof("Data>>/gr20_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false,"Data>>/gr20_Setting/DEF::user1", sizeof("Data>>/gr20_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user2", sizeof("Data>>/gr20_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user3", sizeof("Data>>/gr20_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user4", sizeof("Data>>/gr20_Setting/DEF::user4")}, + + /********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")}, + + /********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")}, + +} ; + +expected_file_data_s expected_file_data_after_restore_default_User1[10 + 10 + 10 + 10 + 10] = +{ + /********************************************************************************************************************************************** + ***************************************** public ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", true, "File>>/doc1.txt" , sizeof("File>>/doc1.txt")}, + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", true, "File>>/Docs/doc2.txt" , sizeof("File>>/Docs/doc2.txt")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", false,"File>>/docA.txt::user1" , sizeof("File>>/docA.txt::user1")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", true, "File>>/docA.txt::user2" , sizeof("File>>/docA.txt::user2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", true, "File>>/docA.txt::user3" , sizeof("File>>/docA.txt::user3")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", true, "File>>/docA.txt::user4" , sizeof("File>>/docA.txt::user4")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>/docB.txt::user2:seat1" , sizeof("File>>/docB.txt::user2:seat1")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>/docB.txt::user2:seat2" , sizeof("File>>/docB.txt::user2:seat2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>/docB.txt::user2:seat3" , sizeof("File>>/docB.txt::user2:seat3")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>/docB.txt::user2:seat4" , sizeof("File>>/docB.txt::user2:seat4")}, + + + /********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ + {PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt" , sizeof("File>>gr10_>>/gr10_1.txt" )}, + {PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", true, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof("File>>gr10_>>/Docs/gr10_A.txt" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", false,"File>>gr10_>>/gr10_2.txt::user1" , sizeof("File>>gr10_>>/gr10_2.txt::user1" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user2" , sizeof("File>>gr10_>>/gr10_2.txt::user2" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user3" , sizeof("File>>gr10_>>/gr10_2.txt::user3" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user4" , sizeof("File>>gr10_>>/gr10_2.txt::user4" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" )}, + + + /********************************************************************************************************************************************** + ***************************************** Group 20 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>gr20_>>/doc1.txt" , sizeof("File>>gr20_>>/doc1.txt")}, + { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>gr20_>>/Docs/doc2.txt" , sizeof("File>>gr20_>>/Docs/doc2.txt")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false,"File>>gr20_>>/docA.txt::user1", sizeof("File>>gr20_>>/docA.txt::user1")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>gr20_>>/docA.txt::user2", sizeof("File>>gr20_>>/docA.txt::user2")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>gr20_>>/docA.txt::user3", sizeof("File>>gr20_>>/docA.txt::user3")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>gr20_>>/docA.txt::user4", sizeof("File>>gr20_>>/docA.txt::user4")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat1" , sizeof("File>>gr20_>>/docB.txt::user2:seat1")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat2" , sizeof("File>>gr20_>>/docB.txt::user2:seat2")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat3" , sizeof("File>>gr20_>>/docB.txt::user2:seat3")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat4" , sizeof("File>>gr20_>>/docB.txt::user2:seat4")}, + + + /********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false,"File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )}, + + + /********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App2>>/doc1.txt" , sizeof("File>>App2>>/doc1.txt")}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App2>>/Docs/doc2.txt" , sizeof("File>>App2>>/Docs/doc2.txt")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false,"File>>App2>>/docA.txt::user1" , sizeof("File>>App2>>/docA.txt::user1")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App2>>/docA.txt::user2" , sizeof("File>>App2>>/docA.txt::user2")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App2>>/docA.txt::user3" , sizeof("File>>App2>>/docA.txt::user3")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App2>>/docA.txt::user4" , sizeof("File>>App2>>/docA.txt::user4")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4")} +} ; +//=================================================================================================================== + +bool_t Test_Restore_Configurable_Default_User1(sint_t type, void* pv) +{ + bool_t bEverythingOK = true ; + long lRetVal; + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), + DLT_STRING("Restore configurable default for User1...")); + + lRetVal = persAdminDataRestore( PersASSelectionType_User, + PersASDefaultSource_Configurable, + "", + 0x01, + PERSIST_SELECT_ALL_SEATS); + + if(lRetVal < PAS_SUCCESS) + { + bEverythingOK = false; + } + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), + DLT_STRING("Test_Restore_Configurable_Default_User1: persAdminDataRestore() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + return bEverythingOK ; +} /* Test_Restore_Configurable_Default_User1 */ diff --git a/test/pers_svc_test/src/test_pas_restore_default_User2App1.c b/test/pers_svc_test/src/test_pas_restore_default_User2App1.c new file mode 100644 index 0000000..a2808db --- /dev/null +++ b/test/pers_svc_test/src/test_pas_restore_default_User2App1.c @@ -0,0 +1,253 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#include "persComTypes.h" + +#include +#include +#include +#include +#include + +#include +#include + +#include "test_PAS.h" +#include "persistence_admin_service.h" +#include "test_pas_data_restore_default.h" + +DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx); + +#define LT_HDR "TEST_PAS >> " + +//=================================================================================================================== +// INIT +//=================================================================================================================== +// using default structure offered by test framework + +//=================================================================================================================== +// EXPECTED +//=================================================================================================================== + +expected_key_data_localDB_s expected_key_data_after_restore_default_User2App1[16 + 16 + 16 + 16 + 16] = +{ + /********************************************************************************************************************************************** + ***************************************** public ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")}, + + + /********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingA", sizeof("Data>>/gr10_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2::seat1", sizeof("Data>>/gr10_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2:seat2", sizeof("Data>>/gr10_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingC", sizeof("Data>>/gr10_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user1", sizeof("Data>>/gr10_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user2", sizeof("Data>>/gr10_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user3", sizeof("Data>>/gr10_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user4", sizeof("Data>>/gr10_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingD", sizeof("Data>>/gr10_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat1", sizeof("Data>>/gr10_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat2", sizeof("Data>>/gr10_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingF", sizeof("Data>>/gr10_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user1", sizeof("Data>>/gr10_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user2", sizeof("Data>>/gr10_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user3", sizeof("Data>>/gr10_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user4", sizeof("Data>>/gr10_Setting/DEF::user4")}, + + /********************************************************************************************************************************************** + ***************************************** Group 20 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingA", sizeof("Data>>/gr20_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2::seat1", sizeof("Data>>/gr20_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2:seat2", sizeof("Data>>/gr20_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingC", sizeof("Data>>/gr20_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user1", sizeof("Data>>/gr20_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user2", sizeof("Data>>/gr20_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user3", sizeof("Data>>/gr20_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user4", sizeof("Data>>/gr20_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingD", sizeof("Data>>/gr20_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat1", sizeof("Data>>/gr20_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat2", sizeof("Data>>/gr20_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingF", sizeof("Data>>/gr20_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user1", sizeof("Data>>/gr20_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user2", sizeof("Data>>/gr20_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user3", sizeof("Data>>/gr20_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user4", sizeof("Data>>/gr20_Setting/DEF::user4")}, + + /********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")}, + + /********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")}, +} ; + +expected_file_data_s expected_file_data_after_restore_default_User2App1[10 + 10 + 10 + 10 + 10] = +{ + /********************************************************************************************************************************************** + ***************************************** public ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", true, "File>>/doc1.txt" , sizeof("File>>/doc1.txt")}, + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", true, "File>>/Docs/doc2.txt" , sizeof("File>>/Docs/doc2.txt")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", true, "File>>/docA.txt::user1" , sizeof("File>>/docA.txt::user1")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", true, "File>>/docA.txt::user2" , sizeof("File>>/docA.txt::user2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", true, "File>>/docA.txt::user3" , sizeof("File>>/docA.txt::user3")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", true, "File>>/docA.txt::user4" , sizeof("File>>/docA.txt::user4")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>/docB.txt::user2:seat1" , sizeof("File>>/docB.txt::user2:seat1")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>/docB.txt::user2:seat2" , sizeof("File>>/docB.txt::user2:seat2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>/docB.txt::user2:seat3" , sizeof("File>>/docB.txt::user2:seat3")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>/docB.txt::user2:seat4" , sizeof("File>>/docB.txt::user2:seat4")}, + + + /********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ + {PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt" , sizeof("File>>gr10_>>/gr10_1.txt" )}, + {PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", true, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof("File>>gr10_>>/Docs/gr10_A.txt" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user1" , sizeof("File>>gr10_>>/gr10_2.txt::user1" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user2" , sizeof("File>>gr10_>>/gr10_2.txt::user2" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user3" , sizeof("File>>gr10_>>/gr10_2.txt::user3" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user4" , sizeof("File>>gr10_>>/gr10_2.txt::user4" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" )}, + + + /********************************************************************************************************************************************** + ***************************************** Group 20 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>gr20_>>/doc1.txt" , sizeof("File>>gr20_>>/doc1.txt")}, + { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>gr20_>>/Docs/doc2.txt" , sizeof("File>>gr20_>>/Docs/doc2.txt")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>gr20_>>/docA.txt::user1", sizeof("File>>gr20_>>/docA.txt::user1")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>gr20_>>/docA.txt::user2", sizeof("File>>gr20_>>/docA.txt::user2")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>gr20_>>/docA.txt::user3", sizeof("File>>gr20_>>/docA.txt::user3")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>gr20_>>/docA.txt::user4", sizeof("File>>gr20_>>/docA.txt::user4")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat1" , sizeof("File>>gr20_>>/docB.txt::user2:seat1")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat2" , sizeof("File>>gr20_>>/docB.txt::user2:seat2")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat3" , sizeof("File>>gr20_>>/docB.txt::user2:seat3")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat4" , sizeof("File>>gr20_>>/docB.txt::user2:seat4")}, + + + /********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false,"File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false,"File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false,"File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false,"File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false,"File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )}, + + + /********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App2>>/doc1.txt" , sizeof("File>>App2>>/doc1.txt")}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App2>>/Docs/doc2.txt" , sizeof("File>>App2>>/Docs/doc2.txt")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App2>>/docA.txt::user1" , sizeof("File>>App2>>/docA.txt::user1")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App2>>/docA.txt::user2" , sizeof("File>>App2>>/docA.txt::user2")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App2>>/docA.txt::user3" , sizeof("File>>App2>>/docA.txt::user3")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App2>>/docA.txt::user4" , sizeof("File>>App2>>/docA.txt::user4")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4")} +} ; + + +//=================================================================================================================== + +bool_t Test_Restore_Configurable_Default_User2App1(sint_t type, void* pv) +{ + bool_t bEverythingOK = true; + long lRetVal; + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), + DLT_STRING("Restore configurable default for User2App1...")); + + lRetVal = persAdminDataRestore( PersASSelectionType_User, + PersASDefaultSource_Configurable, + "App1", + 0x02, + PERSIST_SELECT_ALL_SEATS); + + if(lRetVal < PAS_SUCCESS) + { + bEverythingOK = false; + } + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), + DLT_STRING("Test_Restore_Configurable_Default_User2App1: persAdminDataRestore() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + return bEverythingOK ; +} /* Test_Restore_Configurable_Default_User2App1 */ diff --git a/test/pers_svc_test/src/test_pas_restore_default_User2Seat1.c b/test/pers_svc_test/src/test_pas_restore_default_User2Seat1.c new file mode 100644 index 0000000..35827c9 --- /dev/null +++ b/test/pers_svc_test/src/test_pas_restore_default_User2Seat1.c @@ -0,0 +1,253 @@ +/********************************************************************************************************************* +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Petrica.Manoila@continental-corporation.com +* +* Implementation of backup process +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version +* +**********************************************************************************************************************/ + +#include "persComTypes.h" + +#include +#include +#include +#include +#include + +#include +#include + +#include "test_PAS.h" +#include "persistence_admin_service.h" +#include "test_pas_data_restore_default.h" + +DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx); + +#define LT_HDR "TEST_PAS >> " + +//=================================================================================================================== +// INIT +//=================================================================================================================== +// using default structure offered by test framework + +//=================================================================================================================== +// EXPECTED +//=================================================================================================================== + +expected_key_data_localDB_s expected_key_data_after_restore_default_User2Seat1[16 + 16 + 16 + 16 + 16] = +{ + /********************************************************************************************************************************************** + ***************************************** public ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false,"Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false,"Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")}, + + + /********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingA", sizeof("Data>>/gr10_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false,"Data>>/gr10_SettingB::user2::seat1", sizeof("Data>>/gr10_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2:seat2", sizeof("Data>>/gr10_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingC", sizeof("Data>>/gr10_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user1", sizeof("Data>>/gr10_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user2", sizeof("Data>>/gr10_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user3", sizeof("Data>>/gr10_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user4", sizeof("Data>>/gr10_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingD", sizeof("Data>>/gr10_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false,"Data>>/gr10_SettingE::user2:seat1", sizeof("Data>>/gr10_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat2", sizeof("Data>>/gr10_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingF", sizeof("Data>>/gr10_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user1", sizeof("Data>>/gr10_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user2", sizeof("Data>>/gr10_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user3", sizeof("Data>>/gr10_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user4", sizeof("Data>>/gr10_Setting/DEF::user4")}, + + /********************************************************************************************************************************************** + ***************************************** Group 20 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingA", sizeof("Data>>/gr20_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false,"Data>>/gr20_SettingB::user2::seat1", sizeof("Data>>/gr20_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2:seat2", sizeof("Data>>/gr20_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingC", sizeof("Data>>/gr20_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user1", sizeof("Data>>/gr20_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user2", sizeof("Data>>/gr20_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user3", sizeof("Data>>/gr20_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user4", sizeof("Data>>/gr20_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingD", sizeof("Data>>/gr20_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false,"Data>>/gr20_SettingE::user2:seat1", sizeof("Data>>/gr20_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat2", sizeof("Data>>/gr20_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingF", sizeof("Data>>/gr20_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user1", sizeof("Data>>/gr20_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user2", sizeof("Data>>/gr20_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user3", sizeof("Data>>/gr20_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user4", sizeof("Data>>/gr20_Setting/DEF::user4")}, + + /********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")}, + + /********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")}, + { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")}, + { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")}, + { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")}, + { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")}, + { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")}, + { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")}, +} ; + +expected_file_data_s expected_file_data_after_restore_default_User2Seat1[10 + 10 + 10 + 10 + 10] = +{ + /********************************************************************************************************************************************** + ***************************************** public ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", true, "File>>/doc1.txt" , sizeof("File>>/doc1.txt")}, + { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", true, "File>>/Docs/doc2.txt" , sizeof("File>>/Docs/doc2.txt")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", true, "File>>/docA.txt::user1" , sizeof("File>>/docA.txt::user1")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", true, "File>>/docA.txt::user2" , sizeof("File>>/docA.txt::user2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", true, "File>>/docA.txt::user3" , sizeof("File>>/docA.txt::user3")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", true, "File>>/docA.txt::user4" , sizeof("File>>/docA.txt::user4")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false,"File>>/docB.txt::user2:seat1" , sizeof("File>>/docB.txt::user2:seat1")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>/docB.txt::user2:seat2" , sizeof("File>>/docB.txt::user2:seat2")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>/docB.txt::user2:seat3" , sizeof("File>>/docB.txt::user2:seat3")}, + { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>/docB.txt::user2:seat4" , sizeof("File>>/docB.txt::user2:seat4")}, + + + /********************************************************************************************************************************************** + ***************************************** Group 10 ******************************************************************************************* + *********************************************************************************************************************************************/ + {PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt" , sizeof("File>>gr10_>>/gr10_1.txt" )}, + {PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", true, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof("File>>gr10_>>/Docs/gr10_A.txt" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user1" , sizeof("File>>gr10_>>/gr10_2.txt::user1" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user2" , sizeof("File>>gr10_>>/gr10_2.txt::user2" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user3" , sizeof("File>>gr10_>>/gr10_2.txt::user3" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user4" , sizeof("File>>gr10_>>/gr10_2.txt::user4" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt",false,"File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" )}, + {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" )}, + + + /********************************************************************************************************************************************** + ***************************************** Group 20 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>gr20_>>/doc1.txt" , sizeof("File>>gr20_>>/doc1.txt")}, + { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>gr20_>>/Docs/doc2.txt" , sizeof("File>>gr20_>>/Docs/doc2.txt")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>gr20_>>/docA.txt::user1", sizeof("File>>gr20_>>/docA.txt::user1")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>gr20_>>/docA.txt::user2", sizeof("File>>gr20_>>/docA.txt::user2")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>gr20_>>/docA.txt::user3", sizeof("File>>gr20_>>/docA.txt::user3")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>gr20_>>/docA.txt::user4", sizeof("File>>gr20_>>/docA.txt::user4")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false,"File>>gr20_>>/docB.txt::user2:seat1" , sizeof("File>>gr20_>>/docB.txt::user2:seat1")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat2" , sizeof("File>>gr20_>>/docB.txt::user2:seat2")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat3" , sizeof("File>>gr20_>>/docB.txt::user2:seat3")}, + { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat4" , sizeof("File>>gr20_>>/docB.txt::user2:seat4")}, + + + /********************************************************************************************************************************************** + ***************************************** App1 ******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false,"File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )}, + + + /********************************************************************************************************************************************** + ***************************************** App2******************************************************************************************* + *********************************************************************************************************************************************/ + { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App2>>/doc1.txt" , sizeof("File>>App2>>/doc1.txt")}, + { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App2>>/Docs/doc2.txt" , sizeof("File>>App2>>/Docs/doc2.txt")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App2>>/docA.txt::user1" , sizeof("File>>App2>>/docA.txt::user1")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App2>>/docA.txt::user2" , sizeof("File>>App2>>/docA.txt::user2")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App2>>/docA.txt::user3" , sizeof("File>>App2>>/docA.txt::user3")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App2>>/docA.txt::user4" , sizeof("File>>App2>>/docA.txt::user4")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false,"File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3")}, + { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4")} +} ; + + +//=================================================================================================================== + +bool_t Test_Restore_Configurable_Default_User2Seat1(sint_t type, void* pv) +{ + bool_t bEverythingOK = true; + long lRetVal; + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), + DLT_STRING("Restore configurable default for User2Seat1...")); + + lRetVal = persAdminDataRestore( PersASSelectionType_User, + PersASDefaultSource_Configurable, + "", + 0x02, + 0x01); + + if(lRetVal < PAS_SUCCESS) + { + bEverythingOK = false; + } + + DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), + DLT_STRING("Test_Restore_Configurable_Default_User2Seat1: persAdminDataRestore() - "), + DLT_STRING(bEverythingOK ? "OK" : "FAILED")); + return bEverythingOK ; +} /* Test_Restore_Configurable_Default_User2Seat1 */ diff --git a/test/pers_svc_test/webtool_export/resource2.tar.gz b/test/pers_svc_test/webtool_export/resource2.tar.gz new file mode 100644 index 0000000..11b214b Binary files /dev/null and b/test/pers_svc_test/webtool_export/resource2.tar.gz differ -- cgit v1.2.1