37 lines
1.4 KiB
C++
37 lines
1.4 KiB
C++
|
|
#include <QCoreApplication>
|
||
|
|
#include <QTemporaryDir>
|
||
|
|
#include <QSettings>
|
||
|
|
#include <QDir>
|
||
|
|
#include <cstdio>
|
||
|
|
#include "core/SettingsStore.h"
|
||
|
|
#include "app/VaultManager.h"
|
||
|
|
#include "git/GitManager.h"
|
||
|
|
int main(int argc, char *argv[]){
|
||
|
|
QCoreApplication app(argc, argv);
|
||
|
|
app.setOrganizationName("TestVault");
|
||
|
|
app.setApplicationName("test");
|
||
|
|
QTemporaryDir dir;
|
||
|
|
if(!dir.isValid()) return 1;
|
||
|
|
QSettings::setPath(QSettings::IniFormat, QSettings::UserScope, dir.path());
|
||
|
|
QSettings::setDefaultFormat(QSettings::IniFormat);
|
||
|
|
SettingsStore s;
|
||
|
|
GitManager g;
|
||
|
|
VaultManager vm(&s, &g);
|
||
|
|
QString v1 = dir.path() + "/vault1";
|
||
|
|
QString v2 = dir.path() + "/vault2";
|
||
|
|
if(!vm.createVault(v1).isEmpty()) return 1;
|
||
|
|
if(s.currentVault() != QDir::cleanPath(v1)) { std::fprintf(stderr,"FAIL v1 current %s\n", qPrintable(s.currentVault())); return 1; }
|
||
|
|
if(!vm.createVault(v2).isEmpty()) return 1;
|
||
|
|
if(s.currentVault() != QDir::cleanPath(v2)) return 1;
|
||
|
|
s.setCurrentVault(v1);
|
||
|
|
if(s.currentVault() != QDir::cleanPath(v1)) return 1;
|
||
|
|
{
|
||
|
|
SettingsStore s2;
|
||
|
|
if(s2.currentVault() != QDir::cleanPath(v1)) { std::fprintf(stderr,"FAIL restart current %s\n", qPrintable(s2.currentVault())); return 1; }
|
||
|
|
if(s2.vaults().size()!=2) return 1;
|
||
|
|
if(s2.vaults()[0] != QDir::cleanPath(v2)) return 1;
|
||
|
|
}
|
||
|
|
std::printf("VAULT SELECT TEST OK\n");
|
||
|
|
return 0;
|
||
|
|
}
|