Load default database at every cynara-test startup 70/36970/2
authorLukasz Wojciechowski <l.wojciechow@partner.samsung.com>
Tue, 17 Mar 2015 12:31:40 +0000 (13:31 +0100)
committerLukasz Wojciechowski <l.wojciechow@partner.samsung.com>
Tue, 17 Mar 2015 14:44:09 +0000 (15:44 +0100)
All tests assume that their are run on clear cynara database.
On real image database can contain some data. To save those data
save/restore mechanism existed. It was expanded with 3rd function
loading default database after original image database was saved.

Change-Id: If580a11b6558b8084c959366dcfa50a1ef92782c

src/cynara-tests/common/cynara_test_commons.cpp
src/cynara-tests/common/cynara_test_env.cpp
src/cynara-tests/common/cynara_test_env.h

index afeec79..e35477c 100644 (file)
@@ -39,6 +39,7 @@ void environmentWrap(const char *testName, const std::function<void(void)> &func
 {
     CynaraTestEnv env(testName);
     env.save();
+    env.loadDefaultDatabase();
 
     try {
         func();
index 3185007..ba3350a 100644 (file)
@@ -29,6 +29,7 @@ CynaraTestEnv::CynaraTestEnv(const char *dirName)
     m_saveDir = TMP_DIR + "/" + dirName;
     m_dbSaveDir = m_saveDir + "/db";
     m_pluginsSaveDir = m_saveDir + "/plugins";
+    m_defaultDir = "/etc/security-tests/db_patterns/default";
 }
 
 CynaraTestEnv::~CynaraTestEnv()
@@ -74,3 +75,13 @@ void CynaraTestEnv::restore()
     removeDirIfExists(m_pluginsSaveDir);
     removeDirIfExists(m_saveDir);
 }
+
+void CynaraTestEnv::loadDefaultDatabase()
+{
+    CynaraMask mask;
+
+    if (m_dbPresent) {
+        removeDirFiles(CynaraTestConsts::DB_DIR);
+        copyCynaraFiles(m_defaultDir, CynaraTestConsts::DB_DIR);
+    }
+}
index 707e852..6c528f7 100644 (file)
@@ -27,11 +27,13 @@ public:
 
     void save();
     void restore();
+    void loadDefaultDatabase();
 
 private:
     std::string m_saveDir;
     std::string m_dbSaveDir;
     std::string m_pluginsSaveDir;
+    std::string m_defaultDir;
     bool m_dbPresent;
 };