Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/keepassxreboot/keepassxc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorFelix Geyer <debfx@fobos.de>2012-05-09 00:03:59 +0400
committerFelix Geyer <debfx@fobos.de>2012-05-09 00:06:12 +0400
commitebce183925d7d22359e48a367eaf31c14677bee3 (patch)
tree4d0d437f428fb8cf270a5639f3bc0e4c1c48b25b /tests
parent38e421d9c1ecc41f6161b0121a55aa3a59889c7f (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.txt1
-rw-r--r--tests/TestKeePass1Reader.cpp45
-rw-r--r--tests/TestKeePass1Reader.h32
-rw-r--r--tests/data/basic.kdbbin0 -> 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
new file mode 100644
index 000000000..251c3edf0
--- /dev/null
+++ b/tests/data/basic.kdb
Binary files differ