1
mirror of https://invent.kde.org/network/falkon.git synced 2024-09-21 09:42:10 +02:00

[DatabaseEncryptedPasswordBackend] Added tests.

This commit is contained in:
S. Razi Alavizadeh 2013-06-08 18:37:21 +04:30
parent 05755158f9
commit 2abf37ed37
3 changed files with 49 additions and 0 deletions

View File

@ -48,6 +48,7 @@ int main(int argc, char *argv[])
RUN_TEST(PacTest)
RUN_TEST(DatabasePasswordBackendTest)
RUN_TEST(DatabaseEncryptedPasswordBackendTest)
RUN_TEST(KWalletPasswordBackendTest)
RUN_TEST(GnomeKeyringPasswordBackendTest)

View File

@ -16,6 +16,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* ============================================================ */
#include "passwordbackendtest.h"
#include "aesinterface.h"
#include <QtTest/QtTest>
#include <QSqlDatabase>
@ -225,6 +226,38 @@ void DatabasePasswordBackendTest::cleanup()
QSqlDatabase::removeDatabase(QSqlDatabase::database().databaseName());
}
// DatabaseEncryptedPasswordBackendTest
void DatabaseEncryptedPasswordBackendTest::reloadBackend()
{
delete m_backend;
DatabaseEncryptedPasswordBackend* backend = new DatabaseEncryptedPasswordBackend;
if (m_testMasterPassword.isEmpty()) {
m_testMasterPassword = AesInterface::passwordToHash(QString::fromUtf8(AesInterface::createRandomData(8)));
backend->updateSampleData(m_testMasterPassword);
}
// a trick for setting masterPassword without gui interactions
backend->isPasswordVerified(m_testMasterPassword);
backend->setAskMasterPasswordState(false);
m_backend = backend;
}
void DatabaseEncryptedPasswordBackendTest::init()
{
QSqlDatabase db = QSqlDatabase::database();
if (!db.isValid()) {
db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName(":memory:");
}
db.open();
}
void DatabaseEncryptedPasswordBackendTest::cleanup()
{
QSqlDatabase::removeDatabase(QSqlDatabase::database().databaseName());
}
// KWalletPassswordBackendTest
void KWalletPasswordBackendTest::reloadBackend()

View File

@ -60,6 +60,21 @@ protected:
void cleanup();
};
#include "passwordbackends/databaseencryptedpasswordbackend.h"
class DatabaseEncryptedPasswordBackendTest : public PasswordBackendTest
{
Q_OBJECT
private:
QByteArray m_testMasterPassword;
protected:
void reloadBackend();
void init();
void cleanup();
};
#include "../../src/plugins/KWalletPasswords/kwalletpasswordbackend.h"
class KWalletPasswordBackendTest : public PasswordBackendTest