Restructured signon database and added unit tests
[accounts-sso:signon.git] / tests / signond-tests / signond-tests.cpp
1 /*
2  * This file is part of signon
3  *
4  * Copyright (C) 2009-2010 Nokia Corporation.
5  *
6  * Contact: Aurel Popirtac <ext-aurel.popirtac@nokia.com>
7  * Contact: Alberto Mardegan <alberto.mardegan@nokia.com>
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Lesser General Public License
11  * version 2.1 as published by the Free Software Foundation.
12  *
13  * This library is distributed in the hope that it will be useful, but
14  * WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with this library; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
21  * 02110-1301 USA
22  */
23
24 #include "testpluginproxy.h"
25 #include "timeouts.h"
26 #include "backuptest.h"
27 #include "databasetest.h"
28
29 #ifdef CAM_UNIT_TESTS_FIXED
30 #include "credentialsaccessmanagertest.h"
31 #endif
32
33 #include <QCoreApplication>
34 #include <QtTest/QtTest>
35 #include <QtCore>
36
37 class SignondTest : public QObject
38 {
39      Q_OBJECT
40
41 private Q_SLOTS:
42      void runTimeoutTests();
43      void runPluginProxyTests();
44      void runCAMTests();
45      void runBackupTests();
46      void runDatabaseTests();
47
48 public:
49      TestPluginProxy testPluginProxy;
50      TimeoutsTest testTimeouts;
51      TestBackup testBackup;
52      TestDatabase testDatabase;
53 #ifdef CAM_UNIT_TESTS_FIXED
54      CredentialsAccessManagerTest testCAM;
55 #endif
56 };
57
58 void SignondTest::runTimeoutTests()
59 {
60     testTimeouts.runAllTests();
61 }
62
63 void SignondTest::runPluginProxyTests()
64 {
65     testPluginProxy.runAllTests();
66 }
67
68 void SignondTest::runCAMTests()
69 {
70 #if !defined(CAM_UNIT_TESTS_FIXED)
71     QSKIP("This test requires fixes in CAM", SkipSingle);
72 #else
73     testCAM.runAllTests();
74 #endif
75 }
76
77 void SignondTest::runBackupTests()
78 {
79     testBackup.runAllTests();
80 }
81
82 void SignondTest::runDatabaseTests()
83 {
84     testDatabase.runAllTests();
85 }
86
87 int main(int argc, char **argv)
88 {
89     QCoreApplication app(argc, argv);
90     SignondTest signondTest;
91     QTest::qExec(&signondTest, argc, argv);
92 }
93
94 #include "signond-tests.moc"
95