[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [KSecretService] 3e7c871: Rename BackendTest to
From:       Michael Leupold <lemma () confuego ! org>
Date:       2010-11-09 19:14:30
Message-ID: 20101109191430.73DAEA60F2 () git ! kde ! org
[Download RAW message or body]


	A	 backend/tests/temporarytest.h	 [License: GPL(v2)]


	A	 backend/tests/temporarytest.cpp	 [License: GPL(v2)]

commit 3e7c8711491cea0940c27eabb22d2775bdee0b61
Author: Michael Leupold <lemma@confuego.org>
Date:   Mon Sep 27 19:01:28 2010 +0000

    Rename BackendTest to TemporaryCollectionTest to reflect what it really is. This \
should help avoiding confusion.  
    svn path=/trunk/playground/base/ksecretservice/; revision=1180351

diff --git a/backend/tests/CMakeLists.txt b/backend/tests/CMakeLists.txt
index 03f75e9..4854b7c 100644
--- a/backend/tests/CMakeLists.txt
+++ b/backend/tests/CMakeLists.txt
@@ -1,24 +1,24 @@
 INCLUDE_DIRECTORIES (${CMAKE_CURRENT_BINARY_DIR})
 
-KDE4_ADD_EXECUTABLE (ksecretservice_backend_test backendtest.cpp)
-TARGET_LINK_LIBRARIES (ksecretservice_backend_test
+KDE4_ADD_EXECUTABLE (temporary_collection_test temporarytest.cpp)
+TARGET_LINK_LIBRARIES (temporary_collection_test
    ksecretservicebackend
    ksecretservicelib
    ksecretserviceui
    ${QT_QTTEST_LIBRARIES}
 )
 
-ADD_TEST (BackendItemCollectionHandlingTest ksecretservice_backend_test)
+ADD_TEST (TemporaryCollectionTest temporary_collection_test)
 
-KDE4_ADD_EXECUTABLE (ksecretservice_ksecret_test ksecrettest.cpp)
-TARGET_LINK_LIBRARIES (ksecretservice_ksecret_test
+KDE4_ADD_EXECUTABLE (ksecret_collection_test ksecrettest.cpp)
+TARGET_LINK_LIBRARIES (ksecret_collection_test
    ksecretservicebackend
    ksecretservicelib
    ksecretserviceui
    ${QT_QTTEST_LIBRARIES}
 )
 
-ADD_TEST (KSecretTest ksecretservice_ksecret_test)
+ADD_TEST (KSecretCollectionTest ksecret_collection_test)
 
 KDE4_ADD_EXECUTABLE (securebuffer_test securebuffertest.cpp)
 TARGET_LINK_LIBRARIES (securebuffer_test ksecretservicebackend \
                ${QT_QTTEST_LIBRARIES})
diff --git a/backend/tests/backendtest.cpp b/backend/tests/backendtest.cpp
deleted file mode 100644
index 4ad9635..0000000
--- a/backend/tests/backendtest.cpp
+++ /dev/null
@@ -1,399 +0,0 @@
-/*
- * Copyright 2010, Dario Freddi <dario.freddi@collabora.co.uk>
- *
- * 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 of
- * the License or (at your option) version 3 or any later version
- * accepted by the membership of KDE e.V. (or its successor approved
- * by the membership of KDE e.V.), which shall act as a proxy
- * defined in Section 14 of 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 "backendtest.h"
-#include <backendmaster.h>
-#include <temporary/temporarycollectionmanager.h>
-#include <backendcollection.h>
-#include <backenditem.h>
-#include <ui/nouimanager.h>
-
-Q_DECLARE_METATYPE(BackendCollection*)
-Q_DECLARE_METATYPE(BackendItem*)
-
-BackendTest::BackendTest(QObject* parent): QObject(parent)
-{
-
-}
-
-BackendTest::~BackendTest()
-{
-
-}
-
-void BackendTest::initTestCase()
-{
-    qRegisterMetaType<BackendCollection*>();
-    qRegisterMetaType<BackendItem*>();
-    QCA::init();
-    m_master = BackendMaster::instance();
-    m_master->setUiManager(new NoUiManager);
-    m_manager = new TemporaryCollectionManager(m_master);
-    m_master->addManager(m_manager);
-}
-
-void BackendTest::testCreateCollectionSync()
-{
-    CreateCollectionJob *createColl = m_manager->createCreateCollectionJob("test", \
                false);
-    QSignalSpy managerSpy(m_manager, SIGNAL(collectionCreated(BackendCollection*)));
-    QSignalSpy masterSpy(m_master, SIGNAL(collectionCreated(BackendCollection*)));
-
-    QVERIFY(createColl->isImmediate());
-
-    createColl->exec();
-    
-    QVERIFY(createColl->isFinished());
-    QCOMPARE(createColl->error(), NoError);
-    QVERIFY(!createColl->isDismissed());
-    QVERIFY(createColl->collection() != 0);
-
-    // Verify signals
-    QCOMPARE(managerSpy.count(), 1);
-    QCOMPARE(managerSpy.takeFirst().at(0).value<BackendCollection*>()->label().value(), \
                QString("test"));
-    QCOMPARE(masterSpy.count(), 1);
-    QCOMPARE(masterSpy.takeFirst().at(0).value<BackendCollection*>(), \
                createColl->collection());
-
-    // Check the collection is present and alive
-    QCOMPARE(m_master->collections().size(), 1);
-    QCOMPARE(m_master->collections().first(), createColl->collection());
-    QCOMPARE(m_master->collections().first()->label().value(), \
                QLatin1String("test"));
-}
-
-void BackendTest::testCreateItemSync()
-{
-    BackendCollection *collection = m_master->collections().first();
-    QMap<QString,QString> attr;
-    attr["mainattr"] = "haha";
-    QCA::SecureArray array(4, 'c');
-    CreateItemJob *createItem = collection->createCreateItemJob("testitem", attr, \
                array,
-                                                                false, false);
-    QSignalSpy collectionSpy(collection, SIGNAL(itemCreated(BackendItem*)));
-
-    QVERIFY(createItem->isImmediate());
-    
-    createItem->exec();
-
-    QVERIFY(createItem->isFinished());
-    QCOMPARE(createItem->error(), NoError);
-    QVERIFY(!createItem->isDismissed());
-    QVERIFY(createItem->item() != 0);
-
-    // Verify signals
-    QCOMPARE(collectionSpy.count(), 1);
-    QCOMPARE(collectionSpy.takeFirst().at(0).value<BackendItem*>(), \
                createItem->item());
-
-    // Check the item is present and alive
-    QCOMPARE(collection->items().value().size(), 1);
-    QCOMPARE(collection->items().value().first(), createItem->item());
-    QCOMPARE(collection->items().value().first()->secret().value().toByteArray(), \
                QByteArray("cccc"));
-}
-
-void BackendTest::testReplaceItemSync()
-{
-    BackendCollection *collection = m_master->collections().first();
-    QMap<QString,QString> attr;
-    attr["mainattr"] = "haha";
-    QCA::SecureArray array(QByteArray("arealsecrete243"));
-    CreateItemJob *createItem = collection->createCreateItemJob("testitem2", attr, \
                array,
-                                                                false, true);
-
-    QSignalSpy collectionSpy(collection, SIGNAL(itemChanged(BackendItem*)));
-
-    QVERIFY(createItem->isImmediate());
-    
-    createItem->exec();
-
-    QVERIFY(createItem->isFinished());
-    QCOMPARE(createItem->error(), NoError);
-    QVERIFY(!createItem->isDismissed());
-    QVERIFY(createItem->item() != 0);
-
-    // Verify signals
-    QCOMPARE(collectionSpy.count(), 1);
-    QCOMPARE(collectionSpy.takeFirst().at(0).value<BackendItem*>(), \
                createItem->item());
-
-    // Check the item is present and alive
-    QCOMPARE(collection->items().value().size(), 1);
-    QCOMPARE(collection->items().value().first(), createItem->item());
-    QCOMPARE(collection->items().value().first()->secret().value().toByteArray(), \
                QByteArray("arealsecrete243"));
-}
-
-void BackendTest::testDoNotReplaceItemSync()
-{
-    BackendCollection *collection = m_master->collections().first();
-    QMap<QString,QString> attr;
-    attr["mainattr"] = "haha";
-    QCA::SecureArray array(QByteArray("anothersecret"));
-    CreateItemJob *createItem = collection->createCreateItemJob("testitem3", attr, \
                array,
-                                                                false, false);
-
-    QSignalSpy collectionSpy(collection, SIGNAL(itemChanged(BackendItem*)));
-
-    QVERIFY(createItem->isImmediate());
-    
-    createItem->exec();
-
-    QVERIFY(createItem->isFinished());
-    QCOMPARE(createItem->error(), ErrorAlreadyExists);
-    QVERIFY(!createItem->isDismissed());
-    QVERIFY(createItem->item() == 0);
-
-    // Verify signals
-    QCOMPARE(collectionSpy.count(), 0);
-
-    // Check the item is present and alive
-    QCOMPARE(collection->items().value().size(), 1);
-    QCOMPARE(collection->items().value().first()->secret().value().toByteArray(), \
                QByteArray("arealsecrete243"));
-}
-
-void BackendTest::testDeleteItemSync()
-{
-    BackendCollection *collection = m_master->collections().first();
-    BackendItem *item = collection->items().value().first();
-    DeleteItemJob *deleteItem = item->createDeleteJob();
-    QSignalSpy collectionSpy(collection, SIGNAL(itemDeleted(BackendItem*)));
-    
-    QVERIFY(deleteItem->isImmediate());
-
-    deleteItem->exec();
-
-    QVERIFY(deleteItem->isFinished());
-    QCOMPARE(deleteItem->error(), NoError);
-    QVERIFY(deleteItem->result());
-    QVERIFY(!deleteItem->isDismissed());
-
-    // Verify signals
-    QCOMPARE(collectionSpy.count(), 1);
-    QCOMPARE(collectionSpy.takeFirst().at(0).value<BackendItem*>()->label().value(), \
                QString("testitem2"));
-
-    // Check the item is present and alive
-    QVERIFY(collection->items().value().isEmpty());
-}
-
-void BackendTest::testDeleteCollectionSync()
-{
-    BackendCollection *collection = m_master->collections().first();
-    DeleteCollectionJob *deleteCollection = collection->createDeleteJob();
-    QSignalSpy managerSpy(m_manager, SIGNAL(collectionDeleted(BackendCollection*)));
-    QSignalSpy masterSpy(m_master, SIGNAL(collectionDeleted(BackendCollection*)));
-
-    QVERIFY(deleteCollection->isImmediate());
-
-    deleteCollection->exec();
-
-    QVERIFY(deleteCollection->isFinished());
-    QCOMPARE(deleteCollection->error(), NoError);
-    QVERIFY(deleteCollection->result());
-    QVERIFY(!deleteCollection->isDismissed());
-
-    // Verify signals
-    QCOMPARE(managerSpy.count(), 1);
-    QCOMPARE(managerSpy.takeFirst().at(0).value<BackendCollection*>(), collection);
-    QCOMPARE(masterSpy.count(), 1);
-    QCOMPARE(masterSpy.takeFirst().at(0).value<BackendCollection*>(), collection);
-
-    // Check the collection is dead
-    QVERIFY(m_master->collections().isEmpty());
-}
-
-void BackendTest::testCreateCollectionAsync()
-{
-    CreateCollectionJob *createColl = m_manager->createCreateCollectionJob("test", \
                false);
-    QSignalSpy managerSpy(m_manager, SIGNAL(collectionCreated(BackendCollection*)));
-    QSignalSpy masterSpy(m_master, SIGNAL(collectionCreated(BackendCollection*)));
-    QEventLoop loop;
-    QVERIFY(loop.connect(createColl, SIGNAL(result(QueuedJob*)), SLOT(quit())));
-    createColl->enqueue();
-    if (!createColl->isFinished()) {
-       loop.exec();
-    }
-    
-    QVERIFY(createColl->isFinished());
-    QCOMPARE(createColl->error(), NoError);
-    QVERIFY(!createColl->isDismissed());
-    QVERIFY(createColl->collection() != 0);
-
-    // Verify signals
-    QCOMPARE(managerSpy.count(), 1);
-    QCOMPARE(managerSpy.takeFirst().at(0).value<BackendCollection*>()->label().value(), \
                QString("test"));
-    QCOMPARE(masterSpy.count(), 1);
-    QCOMPARE(masterSpy.takeFirst().at(0).value<BackendCollection*>(), \
                createColl->collection());
-
-    // Check the collection is present and alive
-    QCOMPARE(m_master->collections().size(), 1);
-    QCOMPARE(m_master->collections().first(), createColl->collection());
-    QCOMPARE(m_master->collections().first()->label().value(), \
                QLatin1String("test"));
-}
-
-void BackendTest::testCreateItemAsync()
-{
-    BackendCollection *collection = m_master->collections().first();
-    QMap<QString,QString> attr;
-    attr["mainattr"] = "haha";
-    QCA::SecureArray array(4, 'c');
-    CreateItemJob *createItem = collection->createCreateItemJob("testitem", attr, \
                array,
-                                                                false, false);
-    QSignalSpy collectionSpy(collection, SIGNAL(itemCreated(BackendItem*)));
-    QEventLoop loop;
-    QVERIFY(loop.connect(createItem, SIGNAL(result(QueuedJob*)), SLOT(quit())));
-    createItem->enqueue();
-    if (!createItem->isFinished()) {
-       loop.exec();
-    }
-    
-    QVERIFY(createItem->isFinished());
-    QCOMPARE(createItem->error(), NoError);
-    QVERIFY(!createItem->isDismissed());
-    QVERIFY(createItem->item() != 0);
-
-    // Verify signals
-    QCOMPARE(collectionSpy.count(), 1);
-    QCOMPARE(collectionSpy.takeFirst().at(0).value<BackendItem*>(), \
                createItem->item());
-
-    // Check the item is present and alive
-    QCOMPARE(collection->items().value().size(), 1);
-    QCOMPARE(collection->items().value().first(), createItem->item());
-    QCOMPARE(collection->items().value().first()->secret().value().toByteArray(), \
                QByteArray("cccc"));
-}
-
-void BackendTest::testReplaceItemAsync()
-{
-    BackendCollection *collection = m_master->collections().first();
-    QMap<QString,QString> attr;
-    attr["mainattr"] = "haha";
-    QCA::SecureArray array(QByteArray("arealsecrete243"));
-    CreateItemJob *createItem = collection->createCreateItemJob("testitem2", attr, \
                array,
-                                                                false, true);
-
-    QSignalSpy collectionSpy(collection, SIGNAL(itemChanged(BackendItem*)));
-    QEventLoop loop;
-    QVERIFY(loop.connect(createItem, SIGNAL(result(QueuedJob*)), SLOT(quit())));
-    createItem->enqueue();
-    if (!createItem->isFinished()) {
-       loop.exec();
-    }
-    
-    QVERIFY(createItem->isFinished());
-    QCOMPARE(createItem->error(), NoError);
-    QVERIFY(!createItem->isDismissed());
-    QVERIFY(createItem->item() != 0);
-
-    // Verify signals
-    QCOMPARE(collectionSpy.count(), 1);
-    QCOMPARE(collectionSpy.takeFirst().at(0).value<BackendItem*>(), \
                createItem->item());
-
-    // Check the item is present and alive
-    QCOMPARE(collection->items().value().size(), 1);
-    QCOMPARE(collection->items().value().first(), createItem->item());
-    QCOMPARE(collection->items().value().first()->secret().value().toByteArray(), \
                QByteArray("arealsecrete243"));
-}
-
-void BackendTest::testDoNotReplaceItemAsync()
-{
-    BackendCollection *collection = m_master->collections().first();
-    QMap<QString,QString> attr;
-    attr["mainattr"] = "haha";
-    QCA::SecureArray array(QByteArray("anothersecret"));
-    CreateItemJob *createItem = collection->createCreateItemJob("testitem3", attr, \
                array,
-                                                                false, false);
-
-    QSignalSpy collectionSpy(collection, SIGNAL(itemChanged(BackendItem*)));
-    QEventLoop loop;
-    QVERIFY(loop.connect(createItem, SIGNAL(result(QueuedJob*)), SLOT(quit())));
-    createItem->enqueue();
-    if (!createItem->isFinished()) {
-       loop.exec();
-    }
-    
-    QVERIFY(createItem->isFinished());
-    QCOMPARE(createItem->error(), ErrorAlreadyExists);
-    QVERIFY(!createItem->isDismissed());
-    QVERIFY(createItem->item() == 0);
-
-    // Verify signals
-    QCOMPARE(collectionSpy.count(), 0);
-
-    // Check the item is present and alive
-    QCOMPARE(collection->items().value().size(), 1);
-    QCOMPARE(collection->items().value().first()->secret().value().toByteArray(), \
                QByteArray("arealsecrete243"));
-}
-
-void BackendTest::testDeleteItemAsync()
-{
-    BackendCollection *collection = m_master->collections().first();
-    BackendItem *item = collection->items().value().first();
-    DeleteItemJob *deleteItem = item->createDeleteJob();
-    QSignalSpy collectionSpy(collection, SIGNAL(itemDeleted(BackendItem*)));
-    QEventLoop loop;
-    QVERIFY(loop.connect(deleteItem, SIGNAL(result(QueuedJob*)), SLOT(quit())));
-    deleteItem->enqueue();
-    if (!deleteItem->isFinished()) {
-       loop.exec();
-    }
-
-    QVERIFY(deleteItem->isFinished());
-    QCOMPARE(deleteItem->error(), NoError);
-    QVERIFY(deleteItem->result());
-    QVERIFY(!deleteItem->isDismissed());
-
-    // Verify signals
-    QCOMPARE(collectionSpy.count(), 1);
-    QCOMPARE(collectionSpy.takeFirst().at(0).value<BackendItem*>()->label().value(), \
                QString("testitem2"));
-
-    // Check the item is present and alive
-    QVERIFY(collection->items().value().isEmpty());
-}
-
-void BackendTest::testDeleteCollectionAsync()
-{
-    BackendCollection *collection = m_master->collections().first();
-    DeleteCollectionJob *deleteCollection = collection->createDeleteJob();
-    QSignalSpy managerSpy(m_manager, SIGNAL(collectionDeleted(BackendCollection*)));
-    QSignalSpy masterSpy(m_master, SIGNAL(collectionDeleted(BackendCollection*)));
-    QEventLoop loop;
-    QVERIFY(loop.connect(deleteCollection, SIGNAL(result(QueuedJob*)), \
                SLOT(quit())));
-    deleteCollection->enqueue();
-    if (!deleteCollection->isFinished()) {
-       loop.exec();
-    }
-    
-    QVERIFY(deleteCollection->isFinished());
-    QCOMPARE(deleteCollection->error(), NoError);
-    QVERIFY(deleteCollection->result());
-    QVERIFY(!deleteCollection->isDismissed());
-
-    // Verify signals
-    QCOMPARE(managerSpy.count(), 1);
-    QCOMPARE(managerSpy.takeFirst().at(0).value<BackendCollection*>(), collection);
-    QCOMPARE(masterSpy.count(), 1);
-    QCOMPARE(masterSpy.takeFirst().at(0).value<BackendCollection*>(), collection);
-
-    // Check the collection is dead
-    QVERIFY(m_master->collections().isEmpty());
-}
-
-void BackendTest::cleanupTestCase()
-{
-   // TODO: delete stuff so this can also be used for valgrind leak-checking.
-}
-
-
-QTEST_MAIN(BackendTest)
-#include "backendtest.moc"
diff --git a/backend/tests/backendtest.h b/backend/tests/backendtest.h
deleted file mode 100644
index 39111f1..0000000
--- a/backend/tests/backendtest.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright 2010, Dario Freddi <dario.freddi@collabora.co.uk>
- *
- * 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 of
- * the License or (at your option) version 3 or any later version
- * accepted by the membership of KDE e.V. (or its successor approved
- * by the membership of KDE e.V.), which shall act as a proxy
- * defined in Section 14 of 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 BACKENDTEST_H
-#define BACKENDTEST_H
-
-#include <QtTest>
-
-class BackendCollectionManager;
-class BackendMaster;
-
-class BackendTest : public QObject
-{
-    Q_OBJECT
-    public:
-        BackendTest(QObject* parent = 0);
-        virtual ~BackendTest();
-
-    private Q_SLOTS:
-        void initTestCase();
-
-        void testCreateCollectionSync();
-        void testCreateItemSync();
-        void testReplaceItemSync();
-        void testDoNotReplaceItemSync();
-        void testDeleteItemSync();
-        void testDeleteCollectionSync();
-        
-        void testCreateCollectionAsync();
-        void testCreateItemAsync();
-        void testReplaceItemAsync();
-        void testDoNotReplaceItemAsync();
-        void testDeleteItemAsync();
-        void testDeleteCollectionAsync();
-
-        void cleanupTestCase();
-
-    private:
-        BackendMaster *m_master;
-        BackendCollectionManager *m_manager;
-};
-
-#endif // BACKENDTEST_H
diff --git a/backend/tests/temporarytest.cpp b/backend/tests/temporarytest.cpp
new file mode 100644
index 0000000..8af397f
--- /dev/null
+++ b/backend/tests/temporarytest.cpp
@@ -0,0 +1,399 @@
+/*
+ * Copyright 2010, Dario Freddi <dario.freddi@collabora.co.uk>
+ *
+ * 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 of
+ * the License or (at your option) version 3 or any later version
+ * accepted by the membership of KDE e.V. (or its successor approved
+ * by the membership of KDE e.V.), which shall act as a proxy
+ * defined in Section 14 of 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 "temporarytest.h"
+#include <backendmaster.h>
+#include <temporary/temporarycollectionmanager.h>
+#include <backendcollection.h>
+#include <backenditem.h>
+#include <ui/nouimanager.h>
+
+Q_DECLARE_METATYPE(BackendCollection*)
+Q_DECLARE_METATYPE(BackendItem*)
+
+TemporaryTest::TemporaryTest(QObject* parent): QObject(parent)
+{
+
+}
+
+TemporaryTest::~TemporaryTest()
+{
+
+}
+
+void TemporaryTest::initTestCase()
+{
+    qRegisterMetaType<BackendCollection*>();
+    qRegisterMetaType<BackendItem*>();
+    QCA::init();
+    m_master = BackendMaster::instance();
+    m_master->setUiManager(new NoUiManager);
+    m_manager = new TemporaryCollectionManager(m_master);
+    m_master->addManager(m_manager);
+}
+
+void TemporaryTest::testCreateCollectionSync()
+{
+    CreateCollectionJob *createColl = m_manager->createCreateCollectionJob("test", \
false); +    QSignalSpy managerSpy(m_manager, \
SIGNAL(collectionCreated(BackendCollection*))); +    QSignalSpy masterSpy(m_master, \
SIGNAL(collectionCreated(BackendCollection*))); +
+    QVERIFY(createColl->isImmediate());
+
+    createColl->exec();
+    
+    QVERIFY(createColl->isFinished());
+    QCOMPARE(createColl->error(), NoError);
+    QVERIFY(!createColl->isDismissed());
+    QVERIFY(createColl->collection() != 0);
+
+    // Verify signals
+    QCOMPARE(managerSpy.count(), 1);
+    QCOMPARE(managerSpy.takeFirst().at(0).value<BackendCollection*>()->label().value(), \
QString("test")); +    QCOMPARE(masterSpy.count(), 1);
+    QCOMPARE(masterSpy.takeFirst().at(0).value<BackendCollection*>(), \
createColl->collection()); +
+    // Check the collection is present and alive
+    QCOMPARE(m_master->collections().size(), 1);
+    QCOMPARE(m_master->collections().first(), createColl->collection());
+    QCOMPARE(m_master->collections().first()->label().value(), \
QLatin1String("test")); +}
+
+void TemporaryTest::testCreateItemSync()
+{
+    BackendCollection *collection = m_master->collections().first();
+    QMap<QString,QString> attr;
+    attr["mainattr"] = "haha";
+    QCA::SecureArray array(4, 'c');
+    CreateItemJob *createItem = collection->createCreateItemJob("testitem", attr, \
array, +                                                                false, \
false); +    QSignalSpy collectionSpy(collection, SIGNAL(itemCreated(BackendItem*)));
+
+    QVERIFY(createItem->isImmediate());
+    
+    createItem->exec();
+
+    QVERIFY(createItem->isFinished());
+    QCOMPARE(createItem->error(), NoError);
+    QVERIFY(!createItem->isDismissed());
+    QVERIFY(createItem->item() != 0);
+
+    // Verify signals
+    QCOMPARE(collectionSpy.count(), 1);
+    QCOMPARE(collectionSpy.takeFirst().at(0).value<BackendItem*>(), \
createItem->item()); +
+    // Check the item is present and alive
+    QCOMPARE(collection->items().value().size(), 1);
+    QCOMPARE(collection->items().value().first(), createItem->item());
+    QCOMPARE(collection->items().value().first()->secret().value().toByteArray(), \
QByteArray("cccc")); +}
+
+void TemporaryTest::testReplaceItemSync()
+{
+    BackendCollection *collection = m_master->collections().first();
+    QMap<QString,QString> attr;
+    attr["mainattr"] = "haha";
+    QCA::SecureArray array(QByteArray("arealsecrete243"));
+    CreateItemJob *createItem = collection->createCreateItemJob("testitem2", attr, \
array, +                                                                false, true);
+
+    QSignalSpy collectionSpy(collection, SIGNAL(itemChanged(BackendItem*)));
+
+    QVERIFY(createItem->isImmediate());
+    
+    createItem->exec();
+
+    QVERIFY(createItem->isFinished());
+    QCOMPARE(createItem->error(), NoError);
+    QVERIFY(!createItem->isDismissed());
+    QVERIFY(createItem->item() != 0);
+
+    // Verify signals
+    QCOMPARE(collectionSpy.count(), 1);
+    QCOMPARE(collectionSpy.takeFirst().at(0).value<BackendItem*>(), \
createItem->item()); +
+    // Check the item is present and alive
+    QCOMPARE(collection->items().value().size(), 1);
+    QCOMPARE(collection->items().value().first(), createItem->item());
+    QCOMPARE(collection->items().value().first()->secret().value().toByteArray(), \
QByteArray("arealsecrete243")); +}
+
+void TemporaryTest::testDoNotReplaceItemSync()
+{
+    BackendCollection *collection = m_master->collections().first();
+    QMap<QString,QString> attr;
+    attr["mainattr"] = "haha";
+    QCA::SecureArray array(QByteArray("anothersecret"));
+    CreateItemJob *createItem = collection->createCreateItemJob("testitem3", attr, \
array, +                                                                false, \
false); +
+    QSignalSpy collectionSpy(collection, SIGNAL(itemChanged(BackendItem*)));
+
+    QVERIFY(createItem->isImmediate());
+    
+    createItem->exec();
+
+    QVERIFY(createItem->isFinished());
+    QCOMPARE(createItem->error(), ErrorAlreadyExists);
+    QVERIFY(!createItem->isDismissed());
+    QVERIFY(createItem->item() == 0);
+
+    // Verify signals
+    QCOMPARE(collectionSpy.count(), 0);
+
+    // Check the item is present and alive
+    QCOMPARE(collection->items().value().size(), 1);
+    QCOMPARE(collection->items().value().first()->secret().value().toByteArray(), \
QByteArray("arealsecrete243")); +}
+
+void TemporaryTest::testDeleteItemSync()
+{
+    BackendCollection *collection = m_master->collections().first();
+    BackendItem *item = collection->items().value().first();
+    DeleteItemJob *deleteItem = item->createDeleteJob();
+    QSignalSpy collectionSpy(collection, SIGNAL(itemDeleted(BackendItem*)));
+    
+    QVERIFY(deleteItem->isImmediate());
+
+    deleteItem->exec();
+
+    QVERIFY(deleteItem->isFinished());
+    QCOMPARE(deleteItem->error(), NoError);
+    QVERIFY(deleteItem->result());
+    QVERIFY(!deleteItem->isDismissed());
+
+    // Verify signals
+    QCOMPARE(collectionSpy.count(), 1);
+    QCOMPARE(collectionSpy.takeFirst().at(0).value<BackendItem*>()->label().value(), \
QString("testitem2")); +
+    // Check the item is present and alive
+    QVERIFY(collection->items().value().isEmpty());
+}
+
+void TemporaryTest::testDeleteCollectionSync()
+{
+    BackendCollection *collection = m_master->collections().first();
+    DeleteCollectionJob *deleteCollection = collection->createDeleteJob();
+    QSignalSpy managerSpy(m_manager, SIGNAL(collectionDeleted(BackendCollection*)));
+    QSignalSpy masterSpy(m_master, SIGNAL(collectionDeleted(BackendCollection*)));
+
+    QVERIFY(deleteCollection->isImmediate());
+
+    deleteCollection->exec();
+
+    QVERIFY(deleteCollection->isFinished());
+    QCOMPARE(deleteCollection->error(), NoError);
+    QVERIFY(deleteCollection->result());
+    QVERIFY(!deleteCollection->isDismissed());
+
+    // Verify signals
+    QCOMPARE(managerSpy.count(), 1);
+    QCOMPARE(managerSpy.takeFirst().at(0).value<BackendCollection*>(), collection);
+    QCOMPARE(masterSpy.count(), 1);
+    QCOMPARE(masterSpy.takeFirst().at(0).value<BackendCollection*>(), collection);
+
+    // Check the collection is dead
+    QVERIFY(m_master->collections().isEmpty());
+}
+
+void TemporaryTest::testCreateCollectionAsync()
+{
+    CreateCollectionJob *createColl = m_manager->createCreateCollectionJob("test", \
false); +    QSignalSpy managerSpy(m_manager, \
SIGNAL(collectionCreated(BackendCollection*))); +    QSignalSpy masterSpy(m_master, \
SIGNAL(collectionCreated(BackendCollection*))); +    QEventLoop loop;
+    QVERIFY(loop.connect(createColl, SIGNAL(result(QueuedJob*)), SLOT(quit())));
+    createColl->enqueue();
+    if (!createColl->isFinished()) {
+       loop.exec();
+    }
+    
+    QVERIFY(createColl->isFinished());
+    QCOMPARE(createColl->error(), NoError);
+    QVERIFY(!createColl->isDismissed());
+    QVERIFY(createColl->collection() != 0);
+
+    // Verify signals
+    QCOMPARE(managerSpy.count(), 1);
+    QCOMPARE(managerSpy.takeFirst().at(0).value<BackendCollection*>()->label().value(), \
QString("test")); +    QCOMPARE(masterSpy.count(), 1);
+    QCOMPARE(masterSpy.takeFirst().at(0).value<BackendCollection*>(), \
createColl->collection()); +
+    // Check the collection is present and alive
+    QCOMPARE(m_master->collections().size(), 1);
+    QCOMPARE(m_master->collections().first(), createColl->collection());
+    QCOMPARE(m_master->collections().first()->label().value(), \
QLatin1String("test")); +}
+
+void TemporaryTest::testCreateItemAsync()
+{
+    BackendCollection *collection = m_master->collections().first();
+    QMap<QString,QString> attr;
+    attr["mainattr"] = "haha";
+    QCA::SecureArray array(4, 'c');
+    CreateItemJob *createItem = collection->createCreateItemJob("testitem", attr, \
array, +                                                                false, \
false); +    QSignalSpy collectionSpy(collection, SIGNAL(itemCreated(BackendItem*)));
+    QEventLoop loop;
+    QVERIFY(loop.connect(createItem, SIGNAL(result(QueuedJob*)), SLOT(quit())));
+    createItem->enqueue();
+    if (!createItem->isFinished()) {
+       loop.exec();
+    }
+    
+    QVERIFY(createItem->isFinished());
+    QCOMPARE(createItem->error(), NoError);
+    QVERIFY(!createItem->isDismissed());
+    QVERIFY(createItem->item() != 0);
+
+    // Verify signals
+    QCOMPARE(collectionSpy.count(), 1);
+    QCOMPARE(collectionSpy.takeFirst().at(0).value<BackendItem*>(), \
createItem->item()); +
+    // Check the item is present and alive
+    QCOMPARE(collection->items().value().size(), 1);
+    QCOMPARE(collection->items().value().first(), createItem->item());
+    QCOMPARE(collection->items().value().first()->secret().value().toByteArray(), \
QByteArray("cccc")); +}
+
+void TemporaryTest::testReplaceItemAsync()
+{
+    BackendCollection *collection = m_master->collections().first();
+    QMap<QString,QString> attr;
+    attr["mainattr"] = "haha";
+    QCA::SecureArray array(QByteArray("arealsecrete243"));
+    CreateItemJob *createItem = collection->createCreateItemJob("testitem2", attr, \
array, +                                                                false, true);
+
+    QSignalSpy collectionSpy(collection, SIGNAL(itemChanged(BackendItem*)));
+    QEventLoop loop;
+    QVERIFY(loop.connect(createItem, SIGNAL(result(QueuedJob*)), SLOT(quit())));
+    createItem->enqueue();
+    if (!createItem->isFinished()) {
+       loop.exec();
+    }
+    
+    QVERIFY(createItem->isFinished());
+    QCOMPARE(createItem->error(), NoError);
+    QVERIFY(!createItem->isDismissed());
+    QVERIFY(createItem->item() != 0);
+
+    // Verify signals
+    QCOMPARE(collectionSpy.count(), 1);
+    QCOMPARE(collectionSpy.takeFirst().at(0).value<BackendItem*>(), \
createItem->item()); +
+    // Check the item is present and alive
+    QCOMPARE(collection->items().value().size(), 1);
+    QCOMPARE(collection->items().value().first(), createItem->item());
+    QCOMPARE(collection->items().value().first()->secret().value().toByteArray(), \
QByteArray("arealsecrete243")); +}
+
+void TemporaryTest::testDoNotReplaceItemAsync()
+{
+    BackendCollection *collection = m_master->collections().first();
+    QMap<QString,QString> attr;
+    attr["mainattr"] = "haha";
+    QCA::SecureArray array(QByteArray("anothersecret"));
+    CreateItemJob *createItem = collection->createCreateItemJob("testitem3", attr, \
array, +                                                                false, \
false); +
+    QSignalSpy collectionSpy(collection, SIGNAL(itemChanged(BackendItem*)));
+    QEventLoop loop;
+    QVERIFY(loop.connect(createItem, SIGNAL(result(QueuedJob*)), SLOT(quit())));
+    createItem->enqueue();
+    if (!createItem->isFinished()) {
+       loop.exec();
+    }
+    
+    QVERIFY(createItem->isFinished());
+    QCOMPARE(createItem->error(), ErrorAlreadyExists);
+    QVERIFY(!createItem->isDismissed());
+    QVERIFY(createItem->item() == 0);
+
+    // Verify signals
+    QCOMPARE(collectionSpy.count(), 0);
+
+    // Check the item is present and alive
+    QCOMPARE(collection->items().value().size(), 1);
+    QCOMPARE(collection->items().value().first()->secret().value().toByteArray(), \
QByteArray("arealsecrete243")); +}
+
+void TemporaryTest::testDeleteItemAsync()
+{
+    BackendCollection *collection = m_master->collections().first();
+    BackendItem *item = collection->items().value().first();
+    DeleteItemJob *deleteItem = item->createDeleteJob();
+    QSignalSpy collectionSpy(collection, SIGNAL(itemDeleted(BackendItem*)));
+    QEventLoop loop;
+    QVERIFY(loop.connect(deleteItem, SIGNAL(result(QueuedJob*)), SLOT(quit())));
+    deleteItem->enqueue();
+    if (!deleteItem->isFinished()) {
+       loop.exec();
+    }
+
+    QVERIFY(deleteItem->isFinished());
+    QCOMPARE(deleteItem->error(), NoError);
+    QVERIFY(deleteItem->result());
+    QVERIFY(!deleteItem->isDismissed());
+
+    // Verify signals
+    QCOMPARE(collectionSpy.count(), 1);
+    QCOMPARE(collectionSpy.takeFirst().at(0).value<BackendItem*>()->label().value(), \
QString("testitem2")); +
+    // Check the item is present and alive
+    QVERIFY(collection->items().value().isEmpty());
+}
+
+void TemporaryTest::testDeleteCollectionAsync()
+{
+    BackendCollection *collection = m_master->collections().first();
+    DeleteCollectionJob *deleteCollection = collection->createDeleteJob();
+    QSignalSpy managerSpy(m_manager, SIGNAL(collectionDeleted(BackendCollection*)));
+    QSignalSpy masterSpy(m_master, SIGNAL(collectionDeleted(BackendCollection*)));
+    QEventLoop loop;
+    QVERIFY(loop.connect(deleteCollection, SIGNAL(result(QueuedJob*)), \
SLOT(quit()))); +    deleteCollection->enqueue();
+    if (!deleteCollection->isFinished()) {
+       loop.exec();
+    }
+    
+    QVERIFY(deleteCollection->isFinished());
+    QCOMPARE(deleteCollection->error(), NoError);
+    QVERIFY(deleteCollection->result());
+    QVERIFY(!deleteCollection->isDismissed());
+
+    // Verify signals
+    QCOMPARE(managerSpy.count(), 1);
+    QCOMPARE(managerSpy.takeFirst().at(0).value<BackendCollection*>(), collection);
+    QCOMPARE(masterSpy.count(), 1);
+    QCOMPARE(masterSpy.takeFirst().at(0).value<BackendCollection*>(), collection);
+
+    // Check the collection is dead
+    QVERIFY(m_master->collections().isEmpty());
+}
+
+void TemporaryTest::cleanupTestCase()
+{
+   // TODO: delete stuff so this can also be used for valgrind leak-checking.
+}
+
+
+QTEST_MAIN(TemporaryTest)
+#include "temporarytest.moc"
diff --git a/backend/tests/temporarytest.h b/backend/tests/temporarytest.h
new file mode 100644
index 0000000..557acdd
--- /dev/null
+++ b/backend/tests/temporarytest.h
@@ -0,0 +1,60 @@
+/*
+ * Copyright 2010, Dario Freddi <dario.freddi@collabora.co.uk>
+ *
+ * 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 of
+ * the License or (at your option) version 3 or any later version
+ * accepted by the membership of KDE e.V. (or its successor approved
+ * by the membership of KDE e.V.), which shall act as a proxy
+ * defined in Section 14 of 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 TEMPORARYTEST_H
+#define TEMPORARYTEST_H
+
+#include <QtTest>
+
+class BackendCollectionManager;
+class BackendMaster;
+
+class TemporaryTest : public QObject
+{
+    Q_OBJECT
+    public:
+        TemporaryTest(QObject* parent = 0);
+        virtual ~TemporaryTest();
+
+    private Q_SLOTS:
+        void initTestCase();
+
+        void testCreateCollectionSync();
+        void testCreateItemSync();
+        void testReplaceItemSync();
+        void testDoNotReplaceItemSync();
+        void testDeleteItemSync();
+        void testDeleteCollectionSync();
+        
+        void testCreateCollectionAsync();
+        void testCreateItemAsync();
+        void testReplaceItemAsync();
+        void testDoNotReplaceItemAsync();
+        void testDeleteItemAsync();
+        void testDeleteCollectionAsync();
+
+        void cleanupTestCase();
+
+    private:
+        BackendMaster *m_master;
+        BackendCollectionManager *m_manager;
+};
+
+#endif // TEMPORARYTEST_H


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic