messagingapp/msgutils/unidatautils/unidatamodelplugins/unimmsdataplugin/tsrc/testunidatamodelmmsplugin/testunidatamodelmmsplugin.cpp
changeset 70 a15d9966050f
parent 61 8ba0afbb4637
child 72 6f657153cbc5
--- a/messagingapp/msgutils/unidatautils/unidatamodelplugins/unimmsdataplugin/tsrc/testunidatamodelmmsplugin/testunidatamodelmmsplugin.cpp	Thu Sep 02 20:23:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,496 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- * 
- * Description:
- */
-
-#include <QtTest/QtTest>
-#include "serviceinfo.h"
-#include <QtDebug>
-#include <QTimer>
-#include <QSignalSpy>
-#include "convergedmessage.h"
-#include <xqconversions.h>
-#include "unidatamodelplugininterface.h"
-#include "unidatamodelloader.h"
-#include <mmsclient.h>
-#include <mmsheaders.h>
-#include <mmssettings.h>
-#include <CMsvMimeHeaders.h>
-#include "convergedmessageaddress.h"
-#include "testunidatamodelmmsplugin.h"
-#include "testunidatamodelmmsplugin.ini"
-#include <f32file.h>
-
-_LIT(KUnixEpoch, "19700000:000000.000000");
-_LIT( KRootPath, "c:\\" );
-
-
-void TestUniDataModelMMSPlugin::initTestCase()
-    {
-    iObserver = new (ELeave) TestObserverMMS();
-
-    // Create a new messaging server session..
-    TRAPD(err,iMSession = CMsvSession::OpenSyncL(*iObserver));
-    if(err)
-        {
-        TInt x=err;
-        }
-    // Create the client mtm registry
-    iMtmReg = CClientMtmRegistry::NewL(*iMSession);
-
-    // Get the MMS clientmtm
-    iMmsClientMtm = (CMmsClientMtm *) iMtmReg->NewMtmL(KUidMsgTypeMultimedia);
-
-    User::LeaveIfError( iFs.Connect() );
-    iFs.SetSessionPath( KRootPath );
-    iSettings = CMmsSettings::NewL();
-    iMmsHeaders = CMmsHeaders::NewL(iSettings->MmsVersion());
-    iSettings->LoadSettingsL();
-    iServiceId = iSettings->Service();
-    
-    iMessageId = 0;
-    pluginLoader = new UniDataModelLoader();
-    retTimeStamp = QDateTime::currentDateTime();
-    }
-
-void TestUniDataModelMMSPlugin::cleanupTestCase()
-    {
-    for(TInt i=0; i<idArr.Count();i++)
-        {
-        iMmsClientMtm->Entry().DeleteL(idArr[i]);
-        }
-
-    delete iObserver;
-    delete iMmsClientMtm;
-    delete iMtmReg;
-    delete iMSession;
-    delete pluginLoader;
-    }
-
-
-//---------------------------------------------------------------
-// TestUniDataModelPlugin::init
-//---------------------------------------------------------------
-
-void TestUniDataModelMMSPlugin::init()
-{
-/*    iObserver = new (ELeave) TestObserverMMS();
-
-    // Create a new messaging server session..
-    TRAPD(err,iMSession = CMsvSession::OpenSyncL(*iObserver));
-    if(err)
-        {
-        TInt x=err;
-        }
-    // Create the client mtm registry
-    iMtmReg = CClientMtmRegistry::NewL(*iMSession);
-
-    // Get the MMS clientmtm
-    iMmsClientMtm = (CMmsClientMtm *) iMtmReg->NewMtmL(KUidMsgTypeMultimedia);
-
-    User::LeaveIfError( iFs.Connect() );
-    iFs.SetSessionPath( KRootPath );
-    iSettings = CMmsSettings::NewL();
-    iMmsHeaders = CMmsHeaders::NewL(iSettings->MmsVersion());
-    iSettings->LoadSettingsL();
-    iServiceId = iSettings->Service();
-    
-    iMessageId = 0;
-    pluginLoader = new UniDataModelLoader();
-    retTimeStamp = QDateTime::currentDateTime();*/
-}
-
-//---------------------------------------------------------------
-// TestUniDataModelPlugin::cleanup
-//---------------------------------------------------------------
-void TestUniDataModelMMSPlugin::cleanup()
-{
-
- /*  
-    for(TInt i=0; i<idArr.Count();i++)
-        {
-        iMmsClientMtm->Entry().DeleteL(idArr[i]);
-        }
-
-    delete iObserver;
-    delete iMmsClientMtm;
-    delete iMtmReg;
-    delete iMSession;
-    delete pluginLoader;*/
-}
-
-
-void TestUniDataModelMMSPlugin::createMMS(TMsvId pId, TBool subjectField)
-    {
-    TMsvEntry indexEntry;
-    indexEntry.iType = KUidMsvMessageEntry;
-    indexEntry.iMtm = KUidMsgTypeMultimedia;
-    indexEntry.iServiceId = iServiceId;
-    indexEntry.iDate.HomeTime();
-    
-    // Convert TTime to QDateTime , this will be used for comparing the time of mesage 
-    // when fetched from datamodel
-    TTime unixEpoch(KUnixEpoch);
-    TTimeIntervalSeconds seconds;
-    TTime timeStamp = indexEntry.iDate;
-    timeStamp.SecondsFrom(unixEpoch, seconds);
-    retTimeStamp.setTime_t(seconds.Int());
-
-
-    TMsvId parentId = pId;
-    CMsvEntry* entry = CMsvEntry::NewL(*iMSession,parentId,TMsvSelectionOrdering());
-    CleanupStack::PushL(entry);
-
-    entry->SetEntryL(parentId);
-    entry->CreateL(indexEntry);
-    entry->SetEntryL(indexEntry.Id());
-    iMmsClientMtm->SwitchCurrentEntryL(entry->EntryId());
-    
-    //iMmsClientMtm->LoadMessageL();
-    
-    CMsvStore* store = iMmsClientMtm->Entry().EditStoreL();
-    CleanupStack::PushL(store);
-      
-    iMessageId = indexEntry.Id();
-    idArr.Append(iMessageId);
-    
-    if(subjectField)
-        {
-        QString subject(TEST_MSG_SUBJECT);
-        HBufC* subj = XQConversions::qStringToS60Desc(subject);
-        iMmsClientMtm->SetSubjectL(*subj);
-        }
-
-    //Sender
-    QString sender(TEST_MSG_FROM1);
-    HBufC* addr = XQConversions::qStringToS60Desc(sender);
-    
-    
-    if (addr)
-        {
-        CleanupStack::PushL(addr);
-        TBuf<32> name;
-        name.Copy(addr->Left(32));
-        indexEntry.iDetails.Set(name);
-        
-        iMmsClientMtm->SetSenderL(*addr);
-        
-        CleanupStack::PopAndDestroy(addr);
-        }
-    
-    //Recipient
-    QString recipient(TEST_MSG_RECIEPIENT1);
-    HBufC* addr2 = XQConversions::qStringToS60Desc(recipient);
-    if (addr2)
-        {
-        CleanupStack::PushL(addr2);
-        iMmsClientMtm->AddAddresseeL(EMsvRecipientTo,*addr2);
-        CleanupStack::PopAndDestroy(addr2);
-        }
-    
-    QString recipient2(TEST_MSG_RECIEPIENT2);
-    HBufC* addr3 = XQConversions::qStringToS60Desc(recipient2);
-    if (addr3)
-        {
-        CleanupStack::PushL(addr3);
-        iMmsClientMtm->AddAddresseeL(EMsvRecipientCc,*addr3);
-        CleanupStack::PopAndDestroy(addr3);
-        }
-        
-    QString recipient3(TEST_MSG_RECIEPIENT3);
-        HBufC* addr4 = XQConversions::qStringToS60Desc(recipient3);
-        if (addr4)
-            {
-            CleanupStack::PushL(addr4);
-            iMmsClientMtm->AddAddresseeL(EMsvRecipientBcc,*addr4);
-            CleanupStack::PopAndDestroy(addr4);
-            }
-        
-    //Create Text Attachment
-    TMsvAttachmentId attaId = 0;
-    TFileName attachmentFile( _L("story.txt") );
-    TBufC<12> story = _L( "Hello world!" );
-    
-    iMmsClientMtm->CreateTextAttachmentL(*store, attaId, story, attachmentFile, ETrue );
-    msgSize = iMmsClientMtm->MessageSize();
-    
-    store->CommitL();
-    CleanupStack::PopAndDestroy(); // store
-    
-    iMmsClientMtm->SaveMessageL();    
-    }
-
-void TestUniDataModelMMSPlugin::testInboxMessage()
-    {
-    createMMS(KMsvGlobalInBoxIndexEntryIdValue,ETrue);
-    
-    // Get the MMS data modelplugin
-    pluginInterface = pluginLoader->getDataModelPlugin(ConvergedMessage::Mms);
-    
-    pluginInterface->setMessageId(iMessageId);
-
-    int size = pluginInterface->messageSize();
-    QVERIFY(size == msgSize);
-    
-    QVERIFY(pluginInterface->timeStamp() == retTimeStamp);
-    
-   
-    //Fetch the To List
-    ConvergedMessageAddressList recipientList;
-    pluginInterface->toRecipientList(recipientList);
-    QVERIFY(recipientList.count() != 0);
-    
-    ConvergedMessageAddressList recipientList2;
-    pluginInterface->ccRecipientList(recipientList2);
-    QVERIFY(recipientList2.count() != 0);
-    
-    ConvergedMessageAddressList recipientList3;
-    pluginInterface->bccRecipientList(recipientList3);
-    QVERIFY(recipientList3.count() != 0);
-    
-    QString recepient(TEST_MSG_FROM1);
-    QString fromaddress;
-    pluginInterface->fromAddress(fromaddress);
-    QVERIFY(recepient == fromaddress);
-    
-    UniMessageInfoList attList = pluginInterface->attachmentList();
-    QVERIFY(attList.count() != 0);
-    
-    TInt attCount =0;
-    attCount = pluginInterface->attachmentCount();
-    QVERIFY(attCount != 0);
-    
-    MsgPriority priority = pluginInterface->messagePriority();
-    // Normal priority
-    qDebug() << "prority" << priority;
-    QVERIFY(priority == 1);
-
-    QVERIFY(pluginInterface->objectCount() == 1);
-    
-    UniMessageInfoList objectlist = pluginInterface->objectList();
-    QVERIFY(!objectlist.isEmpty());
-    
-    QVERIFY(pluginInterface->slideCount() == 0);
-    
-    TRAPD(err, iMmsClientMtm->SwitchCurrentEntryL(KMsvGlobalInBoxIndexEntryId));
-    }
-
-void TestUniDataModelMMSPlugin::testOutboxMessage()
-    {
-    createMMS(KMsvGlobalOutBoxIndexEntryIdValue,EFalse);
-    
-    // Get the MMS data modelplugin
-    pluginInterface = pluginLoader->getDataModelPlugin(ConvergedMessage::Mms);
-    QVERIFY(pluginInterface->messageType()=="mms");
-    
-    pluginInterface->setMessageId(iMessageId);
-
-    int size = pluginInterface->messageSize();
-    QVERIFY(size == msgSize);
-    
-    QVERIFY(pluginInterface->timeStamp() == retTimeStamp);
-    
-        
-    //Fetch the To List
-    ConvergedMessageAddressList recipientList;
-    pluginInterface->toRecipientList(recipientList);
-    QVERIFY(recipientList.count() != 0);
-    
-    ConvergedMessageAddressList recipientList2;
-    pluginInterface->ccRecipientList(recipientList2);
-    QVERIFY(recipientList2.count() != 0);
-    
-    ConvergedMessageAddressList recipientList3;
-    pluginInterface->bccRecipientList(recipientList3);
-    QVERIFY(recipientList3.count() != 0);
-    
-    QString recepient(TEST_MSG_FROM1);
-    QString fromaddress;
-    pluginInterface->fromAddress(fromaddress);
-    QVERIFY(recepient == fromaddress);
-    
-    UniMessageInfoList attList = pluginInterface->attachmentList();
-    QVERIFY(attList.count() != 0);
-    
-    TInt attCount =0;
-    attCount = pluginInterface->attachmentCount();
-    QVERIFY(attCount != 0);
-    
-    MsgPriority priority = pluginInterface->messagePriority();
-    // Normal priority
-    qDebug() << "prority" << priority;
-    QVERIFY(priority == 1);
-    
-    QVERIFY(pluginInterface->objectCount() == 1);
-    
-    UniMessageInfoList objectlist = pluginInterface->objectList();
-    QVERIFY(!objectlist.isEmpty());
-
-    TRAPD(err, iMmsClientMtm->SwitchCurrentEntryL(KMsvGlobalInBoxIndexEntryId));    
-    }
-
-
-void TestUniDataModelMMSPlugin::createInboxImageMMS()
-    {
-    TMsvEntry indexEntry;
-    indexEntry.iType = KUidMsvMessageEntry;
-    indexEntry.iMtm = KUidMsgTypeMultimedia;
-    indexEntry.iServiceId = iServiceId;
-    indexEntry.iDate.HomeTime();
-    
-    // Convert TTime to QDateTime , this will be used for comparing the time of mesage 
-    // when fetched from datamodel
-    TTime unixEpoch(KUnixEpoch);
-    TTimeIntervalSeconds seconds;
-    TTime timeStamp = indexEntry.iDate;
-    timeStamp.SecondsFrom(unixEpoch, seconds);
-    retTimeStamp.setTime_t(seconds.Int());
-
-
-    TMsvId parentId = KMsvGlobalInBoxIndexEntryIdValue;
-    CMsvEntry* entry = CMsvEntry::NewL(*iMSession,parentId,TMsvSelectionOrdering());
-    CleanupStack::PushL(entry);
-
-    entry->SetEntryL(parentId);
-    entry->CreateL(indexEntry);
-    entry->SetEntryL(indexEntry.Id());
-    iMmsClientMtm->SwitchCurrentEntryL(entry->EntryId());
-    
-    //iMmsClientMtm->LoadMessageL();
-    
-    CMsvStore* store = iMmsClientMtm->Entry().EditStoreL();
-    CleanupStack::PushL(store);
-      
-    iMessageId = indexEntry.Id();
-    idArr.Append(iMessageId);
-    
-    //Sender
-    QString sender(TEST_MSG_FROM1);
-    HBufC* addr = XQConversions::qStringToS60Desc(sender);
-    
-    if (addr)
-        {
-        CleanupStack::PushL(addr);
-        TBuf<32> name;
-        name.Copy(addr->Left(32));
-        indexEntry.iDetails.Set(name);
-        
-        iMmsClientMtm->SetSenderL(*addr);
-        
-        CleanupStack::PopAndDestroy(addr);
-        }
-    
-    //Recipient
-    QString recipient(TEST_MSG_RECIEPIENT1);
-    HBufC* addr2 = XQConversions::qStringToS60Desc(recipient);
-    if (addr2)
-        {
-        CleanupStack::PushL(addr2);
-        iMmsClientMtm->AddAddresseeL(EMsvRecipientTo,*addr2);    
-        CleanupStack::PopAndDestroy(addr2);
-        }
-    
-    
-    // Attachments are added to the message entry one by one
-   
-    TMsvAttachmentId attaId = 0;
-   
-    RFile attaFile;
-    // Set filename of attachment
-    TFileName name( _L("C:\\pictures\\photo.jpg") );
-   
-    CMsvMimeHeaders* mimeHeaders = CMsvMimeHeaders::NewL();
-    CleanupStack::PushL( mimeHeaders );
-   
-    // Set values to mime headers
-    mimeHeaders->SetContentTypeL( _L8( "image") );
-    mimeHeaders->SetContentSubTypeL( _L8( "jpeg" ) );
-   
-    _LIT8(KMimeType, "image/jpeg");
-    TBufC8<10> mimeType(KMimeType);
-    // CreateAttachment2L will set the content type to attachment Info
-   
-    // Open the attachment file for reading
-    attaFile.Open( iFs, name, EFileShareReadersOnly | EFileRead );
-    CleanupClosePushL(attaFile);
-   
-    CMsvAttachment* attaInfo = CMsvAttachment::NewL(CMsvAttachment::EMsvFile);
-    // attaInfo ownerhip will be transferred to Attachment Manager.
-    // It must not be pushed onto the cleanupStack before calling 
-    // CreateAttachment2L.
-   
-       
-    iMmsClientMtm->CreateAttachment2L(*store, attaFile,mimeType,*mimeHeaders,attaInfo,attaId);
-    // Now Attachment Manager owns the attaInfo
-    attaInfo = NULL;
-   
-    CleanupStack::PopAndDestroy(); // attaFile.Close()
-    CleanupStack::PopAndDestroy(); // mimeHeaders
-   
-    // Several attachments can be added before committing the store
-   
-    // Store must be committed before it is destroyed
-    store->CommitL();
-    CleanupStack::PopAndDestroy(); // store
-    
-    iMmsClientMtm->SaveMessageL();    
-    }
-
-void TestUniDataModelMMSPlugin::testInboxImageMMSMessage()
-    {
-    createInboxImageMMS();
-    
-    // Get the MMS data modelplugin
-    pluginInterface = pluginLoader->getDataModelPlugin(ConvergedMessage::Mms);
-    
-    pluginInterface->setMessageId(iMessageId);
-
-    int size = pluginInterface->messageSize();
-    
-    QVERIFY(pluginInterface->timeStamp() == retTimeStamp);
-    
-        
-    //Fetch the To List
-    ConvergedMessageAddressList recipientList;
-    pluginInterface->toRecipientList(recipientList);
-    QVERIFY(recipientList.count() != 0);
-    
-    QString recepient(TEST_MSG_FROM1);
-    QString fromaddress;
-    pluginInterface->fromAddress(fromaddress);
-    QVERIFY(recepient == fromaddress);
-    
-    TRAPD(err, iMmsClientMtm->SwitchCurrentEntryL(KMsvGlobalInBoxIndexEntryId));
-    }
-
-
-
-void TestUniDataModelMMSPlugin::testGetPluginWithoutLoading()
-{
-    pluginInterface = pluginLoader->getDataModelPlugin(ConvergedMessage::Mms);
-    QVERIFY(pluginInterface == NULL);
-
-    // Try to geta plugin for a differnt message type
-    pluginInterface = pluginLoader->getDataModelPlugin(ConvergedMessage::BioMsg);
-    QVERIFY(pluginInterface == NULL);
-}
-
-
-void TestObserverMMS::HandleSessionEventL(TMsvSessionEvent /*aEvent*/,
-                                       TAny* /*aArg1*/, TAny* /*aArg2*/, TAny* /*aArg3*/)
-{
-}
-
-
-