diff options
author | Felix Geyer <debfx@fobos.de> | 2012-05-09 00:03:59 +0400 |
---|---|---|
committer | Felix Geyer <debfx@fobos.de> | 2012-05-09 00:06:12 +0400 |
commit | ebce183925d7d22359e48a367eaf31c14677bee3 (patch) | |
tree | 4d0d437f428fb8cf270a5639f3bc0e4c1c48b25b /tests | |
parent | 38e421d9c1ecc41f6161b0121a55aa3a59889c7f (diff) |
Start implementing support for reading KeePass 1 databases.
For now only decrypting the database works.
Still missing:
- Actually parsing the database.
- Key files.
Refs #1
Diffstat (limited to 'tests')
-rw-r--r-- | tests/CMakeLists.txt | 1 | ||||
-rw-r--r-- | tests/TestKeePass1Reader.cpp | 45 | ||||
-rw-r--r-- | tests/TestKeePass1Reader.h | 32 | ||||
-rw-r--r-- | tests/data/basic.kdb | bin | 0 -> 876 bytes |
4 files changed, 78 insertions, 0 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index df87c3d89..dc4bd5ff4 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -127,6 +127,7 @@ add_unit_test(NAME testmodified SOURCES TestModified.cpp MOCS TestModified.h LIB add_unit_test(NAME testdeletedobjects SOURCES TestDeletedObjects.cpp MOCS TestDeletedObjects.h LIBS ${TEST_LIBRARIES}) +add_unit_test(NAME testkeepass1reader SOURCES TestKeePass1Reader.cpp MOCS TestKeePass1Reader.h LIBS ${TEST_LIBRARIES}) if(WITH_GUI_TESTS) add_subdirectory(gui) diff --git a/tests/TestKeePass1Reader.cpp b/tests/TestKeePass1Reader.cpp new file mode 100644 index 000000000..1dc31ee2a --- /dev/null +++ b/tests/TestKeePass1Reader.cpp @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2010 Felix Geyer <debfx@fobos.de> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 or (at your option) + * version 3 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "TestKeePass1Reader.h" + +#include <QtTest/QTest> + +#include "config-keepassx-tests.h" +#include "tests.h" +#include "core/Database.h" +#include "crypto/Crypto.h" +#include "format/KeePass1Reader.h" + +void TestKeePass1Reader::initTestCase() +{ + Crypto::init(); +} + +void TestKeePass1Reader::testBasic() +{ + QString filename = QString(KEEPASSX_TEST_DATA_DIR).append("/basic.kdb"); + + KeePass1Reader reader; + Database* db = reader.readDatabase(filename, "masterpw", QByteArray()); + QVERIFY(db); + QVERIFY(!reader.hasError()); + + delete db; +} + +KEEPASSX_QTEST_CORE_MAIN(TestKeePass1Reader) diff --git a/tests/TestKeePass1Reader.h b/tests/TestKeePass1Reader.h new file mode 100644 index 000000000..390174c4a --- /dev/null +++ b/tests/TestKeePass1Reader.h @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2012 Felix Geyer <debfx@fobos.de> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 or (at your option) + * version 3 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef KEEPASSX_TESTKEEPASS1READER_H +#define KEEPASSX_TESTKEEPASS1READER_H + +#include <QtCore/QObject> + +class TestKeePass1Reader : public QObject +{ + Q_OBJECT + +private Q_SLOTS: + void initTestCase(); + void testBasic(); +}; + +#endif // KEEPASSX_TESTKEEPASS1READER_H diff --git a/tests/data/basic.kdb b/tests/data/basic.kdb Binary files differnew file mode 100644 index 000000000..251c3edf0 --- /dev/null +++ b/tests/data/basic.kdb |