1 #include <QtTest/QtTest>
2 #include "Configuration.h"
3 #include "ConnectionSettings.h"
4 #include "TestCommunicationManager.h"
5 #include "Communication.h"
12 static const QString server = "192.168.0.35";
13 static const QString user = "maemo";
14 static const QString pass = "P@ssw0rd";
15 static const unsigned int refresh = 1;
17 void TestCommunicationManager::initTestCase()
19 ConnectionSettings *conn = new ConnectionSettings( server, user, pass, refresh );
21 iMgr = new CommunicationManager( *conn );
27 void TestCommunicationManager::cleanupTestCase()
32 void TestCommunicationManager::init() { }
34 void TestCommunicationManager::cleanup() { }
36 void TestCommunicationManager::testErrorSignal()
38 ConnectionSettings *conn = new ConnectionSettings( QString(""), user, pass, refresh );
39 CommunicationManager *mgr = new CommunicationManager( *conn );
42 QDateTime start = QDateTime::currentDateTime();
43 QDateTime end = start.addDays(14);
44 Room room( "Room name","Room address" );
47 SIGNAL( error( int, CommunicationManager::CommunicationType ) ),
49 SLOT( handleError(int, CommunicationManager::CommunicationType ) )
53 mgr->fetchMeetings( start, end, room );
54 for(int i=0; iError == 0 && i < 5000/250; i++ )
59 QFAIL( "error signal not emitted" );
65 void TestCommunicationManager::testFetchMeetings()
67 qRegisterMetaType<CommunicationManager::CommunicationType>("CommunicationManager::CommunicationType");
68 QSignalSpy rp( iMgr, SIGNAL(readProgress( int, int, CommunicationManager::CommunicationType )) );
69 QCOMPARE( rp.isValid(), true );
72 SIGNAL( meetingsFetched( const QList<Meeting*>& ) ),
74 SLOT( meetingsFetched( const QList<Meeting*>& ) )
77 SIGNAL( error( int, CommunicationManager::CommunicationType ) ),
79 SLOT( handleError(int, CommunicationManager::CommunicationType ) )
81 QDateTime start = QDateTime::fromString( QString("04.05.2009"), QString("dd.MM.yyyy") );
82 QDateTime end = QDateTime::fromString( QString("09.05.2009"), QString("dd.MM.yyyy") );
83 Room room( "TestRoom", "meetingroomtest@test.local" );
84 iMgr->fetchMeetings( start, end, room );
86 for(int i=0; iError == 0 && i < 5000/250; i++ )
91 QFAIL("signal meetingsFetched not emitted");
94 QVERIFY( iMeetings.count() > 0 );
95 for( int i=0; i < iMeetings.count(); i++)
97 Meeting *m = iMeetings[i];
98 qDebug() << m->toString();
101 //verify readProgress
102 QCOMPARE( rp.count(), 1 );
103 QList<QVariant> args = rp.takeFirst();
104 QCOMPARE( args.at(0).type(), QVariant::Int );
105 QCOMPARE( args.at(1).type(), QVariant::Int );
106 QCOMPARE( args.at(2).typeName(), "CommunicationManager::CommunicationType" );
109 void TestCommunicationManager::testFetchMeetingDetails()
112 SIGNAL( meetingDetailsFetched( Meeting& ) ),
114 SLOT( meetingDetailsFetched( Meeting& ) )
116 Meeting* m = iMeetings[0];
117 QVERIFY( m->secondaryId().isEmpty() );
118 // QVERIFY( !m->primaryId().isEmpty() );
119 iMgr->fetchMeetingDetails( *m );
121 for(int i=0; iError == 0 && i < 5000/250; i++ )
126 QFAIL("signal meetingDetailsFetched not emitted");
128 QVERIFY( !m->secondaryId().isEmpty() );
129 QVERIFY( m->detailsAvailable() );
130 qDebug() << m->toString();
133 void TestCommunicationManager::handleError( int aCode, CommunicationManager::CommunicationType aType )
135 QWARN("TestCommunicationManager::handleError");
136 QCOMPARE( aType, CommunicationManager::FetchingCommunication );
137 QVERIFY( aCode != 0 );
141 void TestCommunicationManager::meetingsFetched( const QList<Meeting*> &aMeetings )
143 iMeetings = aMeetings;
147 void TestCommunicationManager::meetingDetailsFetched( Meeting &aDetailedMeeting )
149 QCOMPARE( &aDetailedMeeting, iMeetings[0] );