1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
/* vi: set sw=4 ts=4:
*
* Copyright (C) 2023 Christian Hohnstaedt.
*
* All rights reserved.
*/
#include <QTest>
#include <QFile>
#include <openssl/opensslv.h>
#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
#include <openssl/provider.h>
#else
#define OSSL_PROVIDER_try_load(a,b,c) do{}while(0)
#endif
#include "widgets/MainWindow.h"
#include "ui_MainWindow.h"
#include "lib/debug_info.h"
#include "lib/entropy.h"
#include "lib/pki_evp.h"
#include "main.h"
char segv_data[1024];
void test_main::initTestCase()
{
OSSL_PROVIDER_try_load(0, "legacy", 1);
debug_info::init();
entropy = new Entropy;
Settings.clear();
initOIDs();
mainwin = new MainWindow();
mainwin->show();
pwdialog = new PwDialogMock();
PwDialogCore::setGui(pwdialog);
xcaWarning::setGui(new xcaWarningCore());
}
void test_main::cleanupTestCase()
{
mainwin->close_database();
delete entropy;
delete mainwin;
pki_export::free_elements();
QFile::remove("testdb.xdb");
}
void test_main::cleanup()
{
mainwin->close_database();
dbstatus();
QFile::remove("testdb.xdb");
}
void test_main::openDB()
{
pwdialog->setExpectations(QList<pw_expect*>{
new pw_expect("testdbpass", pw_ok),
});
mainwin->close_database();
QFile::remove("testdb.xdb");
Database.open("testdb.xdb");
Settings["pkcs12_keep_legacy"] = true;
mainwin->setup_open_database();
dbstatus();
}
void test_main::dbstatus()
{
QList<pki_base*> allitems = Store.getAll<pki_base>();
QStringList out;
foreach(pki_base *p, allitems)
out << QString("%1[%2]").arg(p->getIntName()).arg(p->getTypeString());
qDebug("%s ALL: %ld %s", Database.isOpen() ? "OPEN" : "CLOSED",
(long)allitems.size(), out.join(", ").toUtf8().constData());
}
QTEST_MAIN(test_main)
|