javacommons/connectionmanager/legacysupport/apnsettings/tsrc.s60/src/testapnsettings.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/javacommons/connectionmanager/legacysupport/apnsettings/tsrc.s60/src/testapnsettings.cpp Tue Apr 27 16:30:29 2010 +0300
@@ -0,0 +1,200 @@
+/*
+* 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 <memory>
+
+#include "TestHarness.h"
+
+#include "../../inc.s60/mapnsettings.h"
+
+#include "javastorage.h"
+#include "javastorageexception.h"
+#include "javastoragenames.h"
+#include "javauid.h"
+#include "javasymbianoslayer.h"
+#include "logger.h"
+
+using namespace CENREP;
+using namespace java::storage;
+
+TEST_GROUP(TestAPNSettings)
+{
+ MAPNSettings* iApnSettings;
+
+ TEST_SETUP()
+ {
+ iApnSettings = GetAPNSettingsLC(KAPNSettingsVersion);
+ CleanupStack::Pop();
+ }
+ TEST_TEARDOWN()
+ {
+ delete iApnSettings;
+ iApnSettings = NULL;
+ }
+};
+
+/**
+ * Test Set and Get APN
+ *
+ * 1. Test set with non-existing UID.
+ * 2. Test set with non-existing APN ID.
+ * 3. Test set with non-existing UID and APN ID.
+ * 4. Test set with existing UID and APN ID.
+ */
+TEST(TestAPNSettings, TestGetSetAPN)
+{
+ java::util::Uid javaUid(L"[ec0c0c0c]");
+ TUid appUid;
+ uidToTUid(javaUid, appUid);
+
+ JavaStorageApplicationEntry_t packageEntry;
+ JavaStorageEntry attr;
+
+ attr.setEntry(PACKAGE_NAME, L"TestiApnSettings");
+ packageEntry.insert(attr);
+
+ attr.setEntry(ID, javaUid.toString());
+ packageEntry.insert(attr);
+
+ attr.setEntry(MEDIA_ID, L"-124614446");
+ packageEntry.insert(attr);
+
+ std::auto_ptr<JavaStorage> js(JavaStorage::createInstance());
+
+ try
+ {
+ js->open();
+ js->startTransaction();
+ js->write(APPLICATION_PACKAGE_TABLE, packageEntry);
+ js->commitTransaction();
+ }
+ catch (JavaStorageException& aJse)
+ {
+ std::string errorStr = "Failed to write: ";
+ errorStr.append(aJse.toString());
+ FAIL(errorStr.c_str());
+ }
+
+ // 1. Test set with non-existing UID.
+ iApnSettings->SetAPNL(0, 1);
+ TUint32 apn = iApnSettings->GetAPNIdL(0);
+ CHECK(apn == KMIDletSuiteAPNNotSpecified);
+
+
+ // 2. Test set with non-existing APN ID.
+ iApnSettings->SetAPNL(appUid.iUid, 10101);
+ apn = iApnSettings->GetAPNIdL(appUid.iUid);
+ CHECK(apn == 10101);
+
+ // 3. Test set with non-existing UID and APN ID.
+ iApnSettings->SetAPNL(12345, 10101);
+ apn = iApnSettings->GetAPNIdL(12345);
+ CHECK(apn == KMIDletSuiteAPNNotSpecified);
+
+ // 4. Test set with existing UID and APN ID.
+ iApnSettings->SetAPNL(appUid.iUid, 1);
+ apn = iApnSettings->GetAPNIdL(appUid.iUid);
+ CHECK(apn == 1);
+
+ try
+ {
+ js->remove(APPLICATION_PACKAGE_TABLE, packageEntry);
+ js->close();
+ }
+ catch (JavaStorageException& aJse)
+ {
+ std::string errorStr = "Failed to remove: ";
+ errorStr.append(aJse.toString());
+ FAIL(errorStr.c_str());
+ }
+}
+
+/**
+ * Test Remove APN.
+ *
+ * 1. Test remove not set.
+ * 2. Test remove.
+ * 3. Test remove non-existing.
+ * 4. Test get default Java APN.
+ */
+TEST(TestAPNSettings, TestRemoveAPN)
+{
+ java::util::Uid javaUid(L"[ed0d0d0d]");
+ TUid appUid;
+ uidToTUid(javaUid, appUid);
+
+ JavaStorageApplicationEntry_t packageEntry;
+ JavaStorageEntry attr;
+
+ attr.setEntry(PACKAGE_NAME, L"TestiApnSettings");
+ packageEntry.insert(attr);
+
+ attr.setEntry(ID, javaUid.toString());
+ packageEntry.insert(attr);
+
+ attr.setEntry(MEDIA_ID, L"-124614446");
+ packageEntry.insert(attr);
+
+ std::auto_ptr<JavaStorage> js(JavaStorage::createInstance());
+
+ try
+ {
+ js->open();
+ js->startTransaction();
+ js->write(APPLICATION_PACKAGE_TABLE, packageEntry);
+ js->commitTransaction();
+ }
+ catch (JavaStorageException& aJse)
+ {
+ std::string errorStr = "Failed to write: ";
+ errorStr.append(aJse.toString());
+ FAIL(errorStr.c_str());
+ }
+
+ // 1. Test set with non-existing UID.
+ iApnSettings->RemoveL(appUid.iUid);
+ TUint32 apn = iApnSettings->GetAPNIdL(appUid.iUid);
+ CHECK(apn == KErrNotFound);
+
+ // 2. Test remove.
+ iApnSettings->SetAPNL(appUid.iUid, 1);
+ apn = iApnSettings->GetAPNIdL(appUid.iUid);
+ CHECK(apn == 1);
+
+ iApnSettings->RemoveL(appUid.iUid);
+ apn = iApnSettings->GetAPNIdL(appUid.iUid);
+ CHECK(apn == KErrNotFound);
+
+ // 3. Test remove non-existing.
+ iApnSettings->RemoveL(1);
+
+ // 4. Test get default Java APN.
+ CHECK(iApnSettings->GetJavaDefaultAPNL() == KMIDletSuiteAPNNotSpecified);
+
+ try
+ {
+ js->remove(APPLICATION_PACKAGE_TABLE, packageEntry);
+ js->close();
+ }
+ catch (JavaStorageException& aJse)
+ {
+ std::string errorStr = "Failed to remove: ";
+ errorStr.append(aJse.toString());
+ FAIL(errorStr.c_str());
+ }
+}
+