1 #include <QtTest/QtTest>
2 #include "Configuration.h"
3 #include "ConnectionSettings.h"
4 #include "DisplaySettings.h"
5 #include "StartupSettings.h"
7 #include "TestConfiguration.h"
9 const QString sAdminPw = "admin";
10 const QString sUsername = "username";
11 const QString sServerPw = "password";
12 const QString sServerUrl = "jklexch01.ixonos.com";
13 const unsigned int sRefreshInterval = 30;
14 const DisplaySettings::DateFormat sDateFormat = DisplaySettings::LongDateFormat;
15 const DisplaySettings::TimeFormat sTimeFormat = DisplaySettings::TwelveHoursTimeFormat;
16 const DisplaySettings::DaysInSchedule sDaysInSchedule = DisplaySettings::WholeWeekInSchedule;
17 const QTime sDayStartsAt = QTime(6,0);
18 const QTime sDayEndsAt = QTime(18,0);
19 const int sScreensaver = 1;
21 const bool sIsPowersavingEnabled = false;
22 const QTime sTurnOnAt = QTime(5,45);
23 const QTime sTurnOffAt = QTime(18,15);
27 void TestConfiguration::initTestCase()
29 iConf = Configuration::instance();
30 QVERIFY( iConf != 0 );
32 // Set values to empty configuration
33 QList<Room*> testrooms;
34 testrooms.append( new Room( "Taurus", "meetingroom.taurus_jyv@ixonos.com" ) );
35 testrooms.append( new Room( "Pegasus", "meetingroom.pegasus_jyv@ixonos.com" ) );
36 testrooms.append( new Room( "Hercules", "meetingroom.hercules@ixonos.com" ) );
37 iConf->setRooms(testrooms);
38 iConf->setAdminPassword(sAdminPw);
41 iConf->connectionSettings()->setServerUrl(sServerUrl);
42 iConf->connectionSettings()->setUsername(sUsername);
43 iConf->connectionSettings()->setPassword(sServerPw);
44 iConf->connectionSettings()->setRefreshInterval(sRefreshInterval);
47 iConf->displaySettings()->setDateFormat(sDateFormat);
48 iConf->displaySettings()->setTimeFormat(sTimeFormat);
49 iConf->displaySettings()->setDayStartsAt(sDayStartsAt);
50 iConf->displaySettings()->setDayEndsAt(sDayEndsAt);
51 iConf->displaySettings()->setDaysInSchedule(sDaysInSchedule);
52 iConf->displaySettings()->setScreensaver(sScreensaver);
55 iConf->startupSettings()->setPowersavingEnabled(sIsPowersavingEnabled);
56 iConf->startupSettings()->setTurnOnAt(sTurnOnAt);
57 iConf->startupSettings()->setTurnOffAt(sTurnOffAt);
60 void TestConfiguration::cleanupTestCase()
66 void TestConfiguration::init()
70 void TestConfiguration::cleanup()
74 void TestConfiguration::testInstance()
76 QCOMPARE( iConf, Configuration::instance() );
79 void TestConfiguration::testSave()
81 // Just check there is no crash
82 // The following testcases make sure the settings are saved correctly
85 // delete old configuration
88 // ...and create new instance
89 iConf = Configuration::instance();
90 QVERIFY( iConf != 0 ); */
94 void TestConfiguration::testDefaultRoom()
97 Room* room = iConf->defaultRoom();
99 QCOMPARE( room->name(), QString("Taurus") );
100 QCOMPARE( room->address(), QString("meetingroom.taurus_jyv@ixonos.com") );
103 void TestConfiguration::testConnectionSettings()
105 ConnectionSettings* conn = iConf->connectionSettings();
106 QVERIFY( conn != 0 );
107 QCOMPARE( conn->serverUrl().toString(), sServerUrl );
108 QCOMPARE( conn->username(), sUsername );
109 QCOMPARE( conn->password(), sServerPw );
110 QCOMPARE( conn->refreshInterval(), sRefreshInterval );
113 void TestConfiguration::testLanguageCode()
115 QCOMPARE( iConf->languageCode(), QString( "EN" ) );
118 void TestConfiguration::testRooms()
120 QList<Room*> testrooms;
121 testrooms.append( new Room( "Taurus", "meetingroom.taurus_jyv@ixonos.com" ) );
122 testrooms.append( new Room( "Pegasus", "meetingroom.pegasus_jyv@ixonos.com" ) );
123 testrooms.append( new Room( "Hercules", "meetingroom.hercules@ixonos.com" ) );
125 QList<Room*> rooms = iConf->rooms();
126 QVERIFY( rooms.count() == 3 );
127 QCOMPARE( rooms[0], iConf->defaultRoom() );
128 for ( int i = 0; i < rooms.count(); i++ )
130 Room* room = rooms[i];
131 Room* testroom = testrooms[i];
132 QCOMPARE( room->name(), testroom->name() );
133 QCOMPARE( room->address(), testroom->address() );
137 void TestConfiguration::testStartupSettings()
139 StartupSettings *settings = iConf->startupSettings();
141 QVERIFY( settings->isPowersavingEnabled() == sIsPowersavingEnabled );
142 QCOMPARE( settings->turnOnAt(), sTurnOnAt );
143 QCOMPARE( settings->turnOffAt(), sTurnOffAt );
146 void TestConfiguration::testDisplaySettings()
148 DisplaySettings *settings = iConf->displaySettings();
150 QVERIFY( settings->daysInSchedule() == sDaysInSchedule );
151 QCOMPARE( settings->dayStartsAt(), sDayStartsAt );
152 QCOMPARE( settings->dayEndsAt(), sDayEndsAt );
153 QCOMPARE( settings->dateFormat(), QString( "dddd d MMMM yyyy" ) );
154 QCOMPARE( settings->timeFormat(), QString( "hh:mm ap" ) );
157 void TestConfiguration::testAdminPassword()
159 QCryptographicHash *hash = new QCryptographicHash( QCryptographicHash::Md5 );
160 hash->addData( sAdminPw.toUtf8() );
161 QByteArray password = hash->result();
164 QCOMPARE( iConf->adminPassword(), QString( password ) );