18 #include "logsdbconnector.h" |
18 #include "logsdbconnector.h" |
19 #include "logsevent.h" |
19 #include "logsevent.h" |
20 #include "logsmodel.h" |
20 #include "logsmodel.h" |
21 #include "logsreader.h" |
21 #include "logsreader.h" |
22 #include "logscommondata.h" |
22 #include "logscommondata.h" |
23 #include "centralrepository_stub_helper.h" |
23 #include "logsremove.h" |
|
24 #include <xqsettingsmanager.h> |
24 |
25 |
25 #include <QtTest/QtTest> |
26 #include <QtTest/QtTest> |
26 |
27 |
27 Q_DECLARE_METATYPE(QList<int>) |
28 Q_DECLARE_METATYPE(QList<int>) |
28 |
29 |
90 QVERIFY( mDbConnector->mLogEventStrings.iFetched.length() > 0 ); |
91 QVERIFY( mDbConnector->mLogEventStrings.iFetched.length() > 0 ); |
91 QVERIFY( !mDbConnector->mCompressionEnabled ); |
92 QVERIFY( !mDbConnector->mCompressionEnabled ); |
92 QVERIFY( LogsCommonData::getInstance().maxReadSize() == logsReadSizeUndefined ); |
93 QVERIFY( LogsCommonData::getInstance().maxReadSize() == logsReadSizeUndefined ); |
93 |
94 |
94 // Resource control enabled |
95 // Resource control enabled |
95 CentralRepositoryStubHelper::setCurrentVal(logsDefaultMatchLength + 2); |
96 XQSettingsManager::mCurrentVal = logsDefaultMatchLength + 2; |
96 LogsDbConnector* connector = new LogsDbConnector(mEvents, false, true); |
97 LogsDbConnector* connector = new LogsDbConnector(mEvents, false, true); |
97 QVERIFY( connector->init() == 0 ); |
98 QVERIFY( connector->init() == 0 ); |
98 QVERIFY( connector->mReader ); |
99 QVERIFY( connector->mReader ); |
99 QVERIFY( connector->mLogsRemove ); |
100 QVERIFY( connector->mLogsRemove ); |
100 QVERIFY( connector->mCompressionEnabled ); |
101 QVERIFY( connector->mCompressionEnabled ); |
101 QVERIFY( LogsCommonData::getInstance().maxReadSize() == logsReadSizeCompressEnabled ); |
102 QVERIFY( LogsCommonData::getInstance().maxReadSize() == logsReadSizeCompressEnabled ); |
102 QCOMPARE( LogsCommonData::getInstance().telNumMatchLen(), logsDefaultMatchLength + 2 ); |
103 QCOMPARE( LogsCommonData::getInstance().telNumMatchLen(), logsDefaultMatchLength + 2 ); |
103 delete connector; |
104 delete connector; |
|
105 LogsCommonData::getInstance().freeCommonData(); |
104 |
106 |
105 // Match len not found, default is used |
107 // Match len not found, default is used |
106 CentralRepositoryStubHelper::setCurrentVal(logsDefaultMatchLength + 2); |
108 XQSettingsManager::mCurrentVal = logsDefaultMatchLength + 2; |
107 CentralRepositoryStubHelper::setFailCode( -1 ); |
109 XQSettingsManager::mFailed = true; |
108 connector = new LogsDbConnector(mEvents); |
110 connector = new LogsDbConnector(mEvents); |
109 QVERIFY( connector->init() == 0 ); |
111 QVERIFY( connector->init() == 0 ); |
110 QVERIFY( connector->mReader ); |
112 QVERIFY( connector->mReader ); |
111 QVERIFY( connector->mLogsRemove ); |
113 QVERIFY( connector->mLogsRemove ); |
112 QCOMPARE( LogsCommonData::getInstance().telNumMatchLen(), logsDefaultMatchLength ); |
114 QCOMPARE( LogsCommonData::getInstance().telNumMatchLen(), logsDefaultMatchLength ); |
348 QVERIFY( spyUpdated.count() == 1 ); |
350 QVERIFY( spyUpdated.count() == 1 ); |
349 QVERIFY( spyReset.count() == 1 ); |
351 QVERIFY( spyReset.count() == 1 ); |
350 QVERIFY( mDbConnector->mEvents.count() == 1 ); |
352 QVERIFY( mDbConnector->mEvents.count() == 1 ); |
351 QVERIFY( mEvents.count() == 1 ); |
353 QVERIFY( mEvents.count() == 1 ); |
352 |
354 |
353 // Read completed when compression is enabled, reader is not stopped |
355 // Read completed when compression is enabled, reader is stopped |
354 QVERIFY( mDbConnector->init() == 0 ); |
356 QVERIFY( mDbConnector->init() == 0 ); |
355 QVERIFY( mDbConnector->start() == 0 ); |
357 QVERIFY( mDbConnector->start() == 0 ); |
356 QVERIFY( mDbConnector->mReader->mLogViewRecent != 0 ); |
358 QVERIFY( mDbConnector->mReader->mLogViewRecent != 0 ); |
357 mDbConnector->mCompressionEnabled = true; |
359 mDbConnector->mCompressionEnabled = true; |
358 mDbConnector->readCompleted(); |
360 mDbConnector->readCompleted(); |
359 QVERIFY( mDbConnector->mReader->mLogViewRecent != 0 ); |
361 QVERIFY( !mDbConnector->mReader->mLogViewRecent ); |
|
362 QVERIFY( !mDbConnector->mLogsRemove ); |
360 } |
363 } |
361 |
364 |
362 void UT_LogsDbConnector::testErrorOccurred() |
365 void UT_LogsDbConnector::testErrorOccurred() |
363 { |
366 { |
364 // If pending event modifying, completion is signaled |
367 // If pending event modifying, completion is signaled |
383 LOGS_TEST_CREATE_EVENT(event, 0, LogsEvent::EventUpdated ); |
386 LOGS_TEST_CREATE_EVENT(event, 0, LogsEvent::EventUpdated ); |
384 QVERIFY( mDbConnector->updateDetails(false) == 0 ); |
387 QVERIFY( mDbConnector->updateDetails(false) == 0 ); |
385 QVERIFY( spyUpdated.count() == 0 ); // Will happen asynchronously |
388 QVERIFY( spyUpdated.count() == 0 ); // Will happen asynchronously |
386 } |
389 } |
387 |
390 |
388 void UT_LogsDbConnector::testClearMissedCallsCounter() |
|
389 { |
|
390 // Not ready |
|
391 QVERIFY( mDbConnector->clearMissedCallsCounter() != 0 ); |
|
392 |
|
393 // Ready and value is changed |
|
394 mDbConnector->init(); |
|
395 CentralRepositoryStubHelper::reset(); |
|
396 CentralRepositoryStubHelper::setCurrentVal(5); |
|
397 QVERIFY( mDbConnector->clearMissedCallsCounter() == 0 ); |
|
398 QVERIFY( CentralRepositoryStubHelper::currentVal() == 0 ); |
|
399 |
|
400 // Ready and no need to change value as it is already zero |
|
401 QVERIFY( mDbConnector->clearMissedCallsCounter() == 0 ); |
|
402 QVERIFY( CentralRepositoryStubHelper::currentVal() == 0 ); |
|
403 |
|
404 // Fails with some error |
|
405 CentralRepositoryStubHelper::setCurrentVal(100); |
|
406 CentralRepositoryStubHelper::setFailCode(KErrNotFound); |
|
407 QVERIFY( mDbConnector->clearMissedCallsCounter() != 0 ); |
|
408 } |
|
409 |
|
410 void UT_LogsDbConnector::testRefreshData() |
391 void UT_LogsDbConnector::testRefreshData() |
411 { |
392 { |
412 QVERIFY( mDbConnector->refreshData() != 0 ); |
393 QVERIFY( mDbConnector->refreshData() != 0 ); |
413 |
394 |
414 // Resource control enabled, no reader |
395 // Resource control enabled, no reader |
421 QVERIFY( mDbConnector->refreshData() == 0 ); |
402 QVERIFY( mDbConnector->refreshData() == 0 ); |
422 QVERIFY( !mDbConnector->mReader->IsActive() ); |
403 QVERIFY( !mDbConnector->mReader->IsActive() ); |
423 QVERIFY( LogsCommonData::getInstance().maxReadSize() == logsReadSizeUndefined ); |
404 QVERIFY( LogsCommonData::getInstance().maxReadSize() == logsReadSizeUndefined ); |
424 |
405 |
425 // Reader exists, compressed before, reading started |
406 // Reader exists, compressed before, reading started |
|
407 delete mDbConnector->mLogsRemove; |
|
408 mDbConnector->mLogsRemove = 0; |
426 mDbConnector->mCompressionEnabled = true; |
409 mDbConnector->mCompressionEnabled = true; |
427 QVERIFY( mDbConnector->refreshData() == 0 ); |
410 QVERIFY( mDbConnector->refreshData() == 0 ); |
428 QVERIFY( mDbConnector->mReader->IsActive() ); |
411 QVERIFY( mDbConnector->mReader->IsActive() ); |
429 QVERIFY( !mDbConnector->mCompressionEnabled ); |
412 QVERIFY( !mDbConnector->mCompressionEnabled ); |
430 QVERIFY( LogsCommonData::getInstance().maxReadSize() == logsReadSizeUndefined ); |
413 QVERIFY( LogsCommonData::getInstance().maxReadSize() == logsReadSizeUndefined ); |
|
414 QVERIFY( mDbConnector->mLogsRemove ); |
431 |
415 |
432 // Reading not started again as already active |
416 // Reading not started again as already active |
433 LogsCommonData::getInstance().configureReadSize(30, LogsEvent::DirUndefined); |
417 LogsCommonData::getInstance().configureReadSize(30, LogsEvent::DirUndefined); |
434 mDbConnector->mCompressionEnabled = true; |
418 mDbConnector->mCompressionEnabled = true; |
435 QVERIFY( mDbConnector->refreshData() == 0 ); |
419 QVERIFY( mDbConnector->refreshData() == 0 ); |
436 QVERIFY( mDbConnector->mReader->IsActive() ); |
420 QVERIFY( mDbConnector->mReader->IsActive() ); |
437 QVERIFY( !mDbConnector->mCompressionEnabled ); |
421 QVERIFY( !mDbConnector->mCompressionEnabled ); |
438 QVERIFY( LogsCommonData::getInstance().maxReadSize() == logsReadSizeUndefined ); |
422 QVERIFY( LogsCommonData::getInstance().maxReadSize() == logsReadSizeUndefined ); |
|
423 QVERIFY( mDbConnector->mLogsRemove ); |
439 } |
424 } |
440 |
425 |
441 void UT_LogsDbConnector::testCompressData() |
426 void UT_LogsDbConnector::testCompressData() |
442 { |
427 { |
443 qRegisterMetaType< QList<int> >("QList<int>"); |
428 qRegisterMetaType< QList<int> >("QList<int>"); |
453 QVERIFY( mDbConnector->mCompressionEnabled ); |
438 QVERIFY( mDbConnector->mCompressionEnabled ); |
454 QVERIFY( LogsCommonData::getInstance().maxReadSize() == logsReadSizeCompressEnabled ); |
439 QVERIFY( LogsCommonData::getInstance().maxReadSize() == logsReadSizeCompressEnabled ); |
455 QVERIFY( spyRemoved.count() == 1 ); |
440 QVERIFY( spyRemoved.count() == 1 ); |
456 QList<int> removedIndexes = qvariant_cast< QList<int> >(spyRemoved.at(0).at(0)); |
441 QList<int> removedIndexes = qvariant_cast< QList<int> >(spyRemoved.at(0).at(0)); |
457 QVERIFY( removedIndexes.count() == 0 ); |
442 QVERIFY( removedIndexes.count() == 0 ); |
|
443 QVERIFY( !mDbConnector->mLogsRemove ); |
458 |
444 |
459 // Less events than compression limit is, nothing really done |
445 // Less events than compression limit is, nothing really done |
460 int numEvents = 3; |
446 int numEvents = 3; |
461 for ( int i = 0; i < numEvents; i++ ){ |
447 for ( int i = 0; i < numEvents; i++ ){ |
462 LOGS_TEST_CREATE_EVENT(event, i, LogsEvent::EventAdded ); |
448 LOGS_TEST_CREATE_EVENT(event, i, LogsEvent::EventAdded ); |
486 QVERIFY( removedIndexes3.at(0) == ( numEventsMoreThanCompressLimit - 3 ) ); |
472 QVERIFY( removedIndexes3.at(0) == ( numEventsMoreThanCompressLimit - 3 ) ); |
487 QVERIFY( removedIndexes3.at(1) == ( numEventsMoreThanCompressLimit - 2) ); |
473 QVERIFY( removedIndexes3.at(1) == ( numEventsMoreThanCompressLimit - 2) ); |
488 QVERIFY( removedIndexes3.at(2) == ( numEventsMoreThanCompressLimit - 1 ) ); |
474 QVERIFY( removedIndexes3.at(2) == ( numEventsMoreThanCompressLimit - 1 ) ); |
489 QVERIFY( mDbConnector->mModelEvents.count() == logsReadSizeCompressEnabled ); |
475 QVERIFY( mDbConnector->mModelEvents.count() == logsReadSizeCompressEnabled ); |
490 } |
476 } |
491 |
|
492 void UT_LogsDbConnector::testPredictiveSearchStatus() |
|
493 { |
|
494 // Not ready |
|
495 QVERIFY( mDbConnector->predictiveSearchStatus() != 0 ); |
|
496 |
|
497 // Ready and value returned |
|
498 mDbConnector->init(); |
|
499 CentralRepositoryStubHelper::reset(); |
|
500 CentralRepositoryStubHelper::setCurrentVal(2); |
|
501 QVERIFY( mDbConnector->predictiveSearchStatus() == 2 ); |
|
502 |
|
503 // Fails with some error |
|
504 CentralRepositoryStubHelper::setCurrentVal(2); |
|
505 CentralRepositoryStubHelper::setFailCode(KErrNotSupported); |
|
506 QVERIFY( mDbConnector->predictiveSearchStatus() == KErrNotSupported ); |
|
507 } |
|
508 |
|
509 void UT_LogsDbConnector::testSetPredictiveSearch() |
|
510 { |
|
511 // Not ready |
|
512 QVERIFY( mDbConnector->setPredictiveSearch(true) != 0 ); |
|
513 |
|
514 // Ready and value change is not allowed |
|
515 mDbConnector->init(); |
|
516 CentralRepositoryStubHelper::reset(); |
|
517 CentralRepositoryStubHelper::setCurrentVal(0); |
|
518 QVERIFY( mDbConnector->setPredictiveSearch(true) != 0 ); |
|
519 QVERIFY( CentralRepositoryStubHelper::currentVal() == 0 ); |
|
520 |
|
521 // Ready and value is changed |
|
522 CentralRepositoryStubHelper::setCurrentVal(2); |
|
523 QVERIFY( mDbConnector->setPredictiveSearch(true) == 0 ); |
|
524 QVERIFY( CentralRepositoryStubHelper::currentVal() == 1 ); |
|
525 |
|
526 // Ready and value is changed |
|
527 CentralRepositoryStubHelper::setCurrentVal(1); |
|
528 QVERIFY( mDbConnector->setPredictiveSearch(false) == 0 ); |
|
529 QVERIFY( CentralRepositoryStubHelper::currentVal() == 2 ); |
|
530 |
|
531 // Fails with some error |
|
532 CentralRepositoryStubHelper::setCurrentVal(1); |
|
533 CentralRepositoryStubHelper::setFailCode(KErrNotFound); |
|
534 QVERIFY( mDbConnector->setPredictiveSearch(false) == KErrNotFound ); |
|
535 } |
|
536 |
|