/*
* 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: Main test class for hspluginmodel library.
*
*/
#include "t_caclient.h"
#include "caservice.h"
#include "caquery.h"
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
void TestCaClient::TestRemoveItem()
{
{
CaEntry item;
item.setText("testName");
item.setAttribute("attrName1", "attrVal1");
item.setEntryTypeName("test");
item.setFlags(RemovableEntryFlag);
QSharedPointer<CaService> service = CaService::instance();
QSharedPointer<CaEntry> resultItem1 = service->createEntry(item);
QVERIFY(!resultItem1.isNull());
QVERIFY(!service->removeEntry(9999));
QVERIFY(service->removeEntry(resultItem1->id()));
QCOMPARE(service->lastError() , NoErrorCode);
QSharedPointer<CaEntry> storageItem1 = service->getEntry(resultItem1->id());
QVERIFY(storageItem1.isNull()); // entry not present in the storage
QVERIFY(!service->removeEntry(resultItem1->id()));
QVERIFY(service->lastError() != NoErrorCode);
QSharedPointer<CaEntry> resultItem2 = service->createEntry(item);
QVERIFY(!resultItem2.isNull());
QVERIFY(service->removeEntry(*resultItem2));
QSharedPointer<CaEntry> storageItem2 = service->getEntry(resultItem2->id());
QVERIFY(storageItem2.isNull()); // entry not present in the storage
QVERIFY(!service->removeEntry(*resultItem2));
//cleanup
service->removeEntry(*resultItem1);
service->removeEntry(*resultItem2);
}
}
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
void TestCaClient::TestRemoveGroup()
{
{
CaEntry group(GroupEntryRole);
group.setText("testName");
group.setAttribute("attrName1", "attrVal1");
group.setEntryTypeName("test");
group.setFlags(RemovableEntryFlag);
QSharedPointer<CaService> service = CaService::instance();
QSharedPointer<CaEntry> resultgroup1 = service->createEntry(group);
QVERIFY(!resultgroup1.isNull());
QVERIFY(service->removeEntry(resultgroup1->id()));
QSharedPointer<CaEntry> storagegroup1 = service->getEntry(resultgroup1->id());
QVERIFY(!storagegroup1); // entry not present in the storage
QVERIFY(!service->removeEntry(resultgroup1->id()));
QSharedPointer<CaEntry> resultgroup2 = service->createEntry(group);
QVERIFY(!resultgroup2.isNull());
QVERIFY(service->removeEntry(*resultgroup2));
QSharedPointer<CaEntry> storagegroup2 = service->getEntry(resultgroup2->id());
QVERIFY(!storagegroup2); // entry not present in the storage
QVERIFY(!service->removeEntry(*resultgroup2));
//cleanup
service->removeEntry(*resultgroup1);
service->removeEntry(*resultgroup2);
}
}
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
void TestCaClient::TestRemoveItems()
{
{
CaEntry item;
item.setText("testName");
item.setAttribute("attrName1", "attrVal1");
item.setEntryTypeName("test");
item.setFlags(RemovableEntryFlag);
QSharedPointer<CaService> service = CaService::instance();
QSharedPointer<CaEntry> resultItem1 = service->createEntry(item);
QSharedPointer<CaEntry> resultItem2 = service->createEntry(item);
QVERIFY(!resultItem1.isNull());
QVERIFY(!resultItem2.isNull());
QList<int> ids;
ids.append(resultItem1->id());
ids.append(resultItem2->id());
QVERIFY(service->removeEntries(ids));
QSharedPointer<CaEntry> storageItem1 = service->getEntry(resultItem1->id());
QSharedPointer<CaEntry> storageItem2 = service->getEntry(resultItem2->id());
QVERIFY(storageItem1.isNull()); // entry not present in the storage
QVERIFY(storageItem2.isNull()); // entry not present in the storage
QSharedPointer<CaEntry> resultItem3 = service->createEntry(item);
QSharedPointer<CaEntry> resultItem4 = service->createEntry(item);
QVERIFY(!resultItem3.isNull());
QVERIFY(!resultItem4.isNull());
QList<QSharedPointer<CaEntry> > entries;
entries.append(resultItem3);
entries.append(resultItem4);
QVERIFY(service->removeEntries(entries));
QSharedPointer<CaEntry> storageItem3 = service->getEntry(resultItem3->id());
QSharedPointer<CaEntry> storageItem4 = service->getEntry(resultItem4->id());
QVERIFY(storageItem3.isNull()); // entry not present in the storage
QVERIFY(storageItem4.isNull()); // entry not present in the storage
//cleanup
service->removeEntry(*resultItem1);
service->removeEntry(*resultItem2);
service->removeEntry(*resultItem3);
service->removeEntry(*resultItem4);
}
}
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
void TestCaClient::TestRemoveItemsFail()
{
{
QSharedPointer<CaEntry> item (new CaEntry());
item->setText("testName");
item->setAttribute("attrName1", "attrVal1");
item->setEntryTypeName("test");
item->setFlags(RemovableEntryFlag);
QSharedPointer<CaService> service = CaService::instance();
QSharedPointer<CaEntry> resultItem1 = service->createEntry(*item);
QVERIFY(!resultItem1.isNull());
QList<int> ids;
ids.append(resultItem1->id());
ids.append(9999);// not present in the storage
QVERIFY(!service->removeEntries(ids));
QSharedPointer<CaEntry> storageItem1 = service->getEntry(resultItem1->id());
QVERIFY(!storageItem1.isNull()); // entry present in the storage
QSharedPointer<CaEntry> resultItem2 = service->createEntry(*item);
QVERIFY(!resultItem2.isNull());
QList<QSharedPointer<CaEntry> > entries;
entries.append(resultItem2);
entries.append(item);//id not specified
QVERIFY(!service->removeEntries(entries));
QSharedPointer<CaEntry> storageItem2 = service->getEntry(resultItem2->id());
QVERIFY(storageItem2); // entry present in the storage
//cleanup
service->removeEntry(*resultItem1);
service->removeEntry(*resultItem2);
}
}
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
void TestCaClient::TestRemoveGroups()
{
{
CaEntry group(GroupEntryRole);
group.setText("testName");
group.setAttribute("attrName1", "attrVal1");
group.setEntryTypeName("test");
group.setFlags(RemovableEntryFlag);
QSharedPointer<CaService> service = CaService::instance();
QSharedPointer<CaEntry> resultGroup1 = service->createEntry(group);
QSharedPointer<CaEntry> resultGroup2 = service->createEntry(group);
QVERIFY(!resultGroup1.isNull());
QVERIFY(!resultGroup2.isNull());
QList<int> ids;
ids.append(resultGroup1->id());
ids.append(resultGroup2->id());
QVERIFY(service->removeEntries(ids));
QSharedPointer<CaEntry> storageGroup1 = service->getEntry(resultGroup1->id());
QSharedPointer<CaEntry> storageGroup2 = service->getEntry(resultGroup2->id());
QVERIFY(storageGroup1.isNull()); // entry not present in the storage
QVERIFY(storageGroup2.isNull()); // entry not present in the storage
QSharedPointer<CaEntry> resultGroup3 = service->createEntry(group);
QSharedPointer<CaEntry> resultGroup4 = service->createEntry(group);
QVERIFY(!resultGroup3.isNull());
QVERIFY(!resultGroup4.isNull());
QList<QSharedPointer<CaEntry> > entries;
entries.append(resultGroup3);
entries.append(resultGroup4);
QVERIFY(service->removeEntries(entries));
QSharedPointer<CaEntry> storageGroup3 = service->getEntry(resultGroup3->id());
QSharedPointer<CaEntry> storageGroup4 = service->getEntry(resultGroup4->id());
QVERIFY(storageGroup3.isNull()); // entry not present in the storage
QVERIFY(storageGroup4.isNull()); // entry not present in the storage
//cleanup
service->removeEntry(*resultGroup1);
service->removeEntry(*resultGroup2);
service->removeEntry(*resultGroup3);
service->removeEntry(*resultGroup4);
}
}
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
void TestCaClient::TestRemoveGroupsFail()
{
{
QSharedPointer<CaEntry> group(new CaEntry(GroupEntryRole));
group->setText("testName");
group->setAttribute("attrName1", "attrVal1");
group->setEntryTypeName("test");
group->setFlags(RemovableEntryFlag);
QSharedPointer<CaService> service = CaService::instance();
QSharedPointer<CaEntry> resultGroup1 = service->createEntry(*group);
QVERIFY(!resultGroup1.isNull());
QList<int> ids;
ids.append(resultGroup1->id());
ids.append(9999);// not present in the storage
QVERIFY(!service->removeEntries(ids));
QSharedPointer<CaEntry> storageGroup1 = service->getEntry(resultGroup1->id());
QVERIFY(!storageGroup1.isNull()); // entry present in the storage
QSharedPointer<CaEntry> resultGroup2 = service->createEntry(*group);
QVERIFY(!resultGroup2.isNull());
QList< QSharedPointer<CaEntry> > entries;
entries.append(resultGroup2);
entries.append(group);//id not specified
QVERIFY(!service->removeEntries(entries));
QSharedPointer<CaEntry> storageGroup2 = service->getEntry(resultGroup2->id());
QVERIFY(!storageGroup2.isNull()); // entry present in the storage
//cleanup
service->removeEntry(*resultGroup1);
service->removeEntry(*resultGroup2);
}
}