wlanutilities/wlanqtutilities/tsrc/testwlanqtutils.cpp
author hgs
Fri, 09 Jul 2010 10:38:19 +0300
changeset 43 72ebcbb64834
parent 39 7b3e49e4608a
child 53 bdc64aa9b954
permissions -rw-r--r--
201027
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
31
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:
hgs
parents:
diff changeset
    15
* This is the source file for testing Wlan Qt Utilities library.
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#include <QApplication>
hgs
parents:
diff changeset
    19
#include <QtCore>
hgs
parents:
diff changeset
    20
#include <QTest>
hgs
parents:
diff changeset
    21
#include <QSignalSpy>
hgs
parents:
diff changeset
    22
#include <QSharedPointer>
hgs
parents:
diff changeset
    23
#include <rconnmon.h>
hgs
parents:
diff changeset
    24
#include <nifvar.h>
hgs
parents:
diff changeset
    25
#include <cmmanagerdefines_shim.h>
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
#include "wlanqtutilsap.h"
hgs
parents:
diff changeset
    28
#include "wlanqtutilsiap.h"
hgs
parents:
diff changeset
    29
#include "wlanqtutils.h"
hgs
parents:
diff changeset
    30
#include "wlanqtutils_p.h"
hgs
parents:
diff changeset
    31
#include "wlanqtutilsconmonwrapper.h"
39
hgs
parents: 31
diff changeset
    32
#include "wlanqtutilsconmonwrapperinfo_symbian.h"
31
hgs
parents:
diff changeset
    33
#include "testwlanqtutils.h"
hgs
parents:
diff changeset
    34
#include "wlanqtutilstestcontext.h"
hgs
parents:
diff changeset
    35
hgs
parents:
diff changeset
    36
WlanQtUtilsTestContext testContext;
hgs
parents:
diff changeset
    37
hgs
parents:
diff changeset
    38
const QString TestWlanQtUtils::commsDatDefault_ = "default.cre";
hgs
parents:
diff changeset
    39
hgs
parents:
diff changeset
    40
// ---------------------------------------------------------
hgs
parents:
diff changeset
    41
// FRAMEWORK FUNCTIONS
hgs
parents:
diff changeset
    42
// ---------------------------------------------------------
hgs
parents:
diff changeset
    43
hgs
parents:
diff changeset
    44
/**
hgs
parents:
diff changeset
    45
 * Test main function. Runs all test cases.
hgs
parents:
diff changeset
    46
 */
hgs
parents:
diff changeset
    47
int main(int argc, char *argv[])
hgs
parents:
diff changeset
    48
{
hgs
parents:
diff changeset
    49
    QApplication app(argc, argv);
hgs
parents:
diff changeset
    50
    
hgs
parents:
diff changeset
    51
    char *pass[3];
hgs
parents:
diff changeset
    52
    pass[0] = argv[0];
hgs
parents:
diff changeset
    53
    pass[1] = "-o"; 
hgs
parents:
diff changeset
    54
    pass[2] = "c:\\data\\wlanqtutils_qtest_log.txt";
hgs
parents:
diff changeset
    55
 
hgs
parents:
diff changeset
    56
    TestWlanQtUtils tc;
hgs
parents:
diff changeset
    57
    int res = QTest::qExec(&tc, 3, pass);
hgs
parents:
diff changeset
    58
 
hgs
parents:
diff changeset
    59
    return res;
hgs
parents:
diff changeset
    60
}
hgs
parents:
diff changeset
    61
hgs
parents:
diff changeset
    62
/**
hgs
parents:
diff changeset
    63
 * This function will be called before the first test function is executed.
hgs
parents:
diff changeset
    64
 */
hgs
parents:
diff changeset
    65
void TestWlanQtUtils::initTestCase()
hgs
parents:
diff changeset
    66
{
hgs
parents:
diff changeset
    67
    wlanQtUtils_ = NULL;
39
hgs
parents: 31
diff changeset
    68
    mSignalScanReady = NULL;
hgs
parents: 31
diff changeset
    69
    mSignalScanApReady = NULL;
hgs
parents: 31
diff changeset
    70
    mSignalScanDirectReady = NULL;
31
hgs
parents:
diff changeset
    71
    signalWlanNetworkOpened_ = NULL;
hgs
parents:
diff changeset
    72
    signalWlanNetworkClosed_ = NULL;
hgs
parents:
diff changeset
    73
    signalIctResult_ = NULL;
hgs
parents:
diff changeset
    74
hgs
parents:
diff changeset
    75
    //If Active scheduler exists then don't install a new one as it will cause panic
hgs
parents:
diff changeset
    76
    if (CActiveScheduler::Current() == NULL) {
hgs
parents:
diff changeset
    77
        CActiveScheduler *scheduler = new CActiveScheduler();
hgs
parents:
diff changeset
    78
        CActiveScheduler::Install(scheduler);
hgs
parents:
diff changeset
    79
    }
hgs
parents:
diff changeset
    80
}
hgs
parents:
diff changeset
    81
hgs
parents:
diff changeset
    82
/**
hgs
parents:
diff changeset
    83
 * This function will be called after the last test function was executed.
hgs
parents:
diff changeset
    84
 */
hgs
parents:
diff changeset
    85
void TestWlanQtUtils::cleanupTestCase()
hgs
parents:
diff changeset
    86
{
hgs
parents:
diff changeset
    87
    // CommsDat file is initialized.
hgs
parents:
diff changeset
    88
    subTestLoadCommsDatFile(commsDatDefault_);
hgs
parents:
diff changeset
    89
}
hgs
parents:
diff changeset
    90
hgs
parents:
diff changeset
    91
/**
hgs
parents:
diff changeset
    92
 * This function will be called before each test function is executed.
hgs
parents:
diff changeset
    93
 */
hgs
parents:
diff changeset
    94
void TestWlanQtUtils::init()
hgs
parents:
diff changeset
    95
{
hgs
parents:
diff changeset
    96
    // CommsDat file is initialized.
hgs
parents:
diff changeset
    97
    subTestLoadCommsDatFile(commsDatDefault_);
hgs
parents:
diff changeset
    98
hgs
parents:
diff changeset
    99
    testContext.initialize();
hgs
parents:
diff changeset
   100
hgs
parents:
diff changeset
   101
    QVERIFY(wlanQtUtils_ == NULL);
39
hgs
parents: 31
diff changeset
   102
    QVERIFY(mSignalScanReady == NULL);
hgs
parents: 31
diff changeset
   103
    QVERIFY(mSignalScanApReady == NULL);
hgs
parents: 31
diff changeset
   104
    QVERIFY(mSignalScanDirectReady == NULL);
31
hgs
parents:
diff changeset
   105
    QVERIFY(signalWlanNetworkOpened_ == NULL);
hgs
parents:
diff changeset
   106
    QVERIFY(signalWlanNetworkClosed_ == NULL);
hgs
parents:
diff changeset
   107
    QVERIFY(signalIctResult_ == NULL);
hgs
parents:
diff changeset
   108
    subTestNewWlanQtUtils();
hgs
parents:
diff changeset
   109
}
hgs
parents:
diff changeset
   110
hgs
parents:
diff changeset
   111
/**
hgs
parents:
diff changeset
   112
 * This function will be called after each test function is executed.
hgs
parents:
diff changeset
   113
 */
hgs
parents:
diff changeset
   114
void TestWlanQtUtils::cleanup()
hgs
parents:
diff changeset
   115
{
hgs
parents:
diff changeset
   116
    delete wlanQtUtils_;
hgs
parents:
diff changeset
   117
    wlanQtUtils_ = NULL;
hgs
parents:
diff changeset
   118
39
hgs
parents: 31
diff changeset
   119
    QCOMPARE(mSignalScanReady->count(), 0);
hgs
parents: 31
diff changeset
   120
    delete mSignalScanReady;
hgs
parents: 31
diff changeset
   121
    mSignalScanReady = NULL;
hgs
parents: 31
diff changeset
   122
hgs
parents: 31
diff changeset
   123
    QCOMPARE(mSignalScanApReady->count(), 0);
hgs
parents: 31
diff changeset
   124
    delete mSignalScanApReady;
hgs
parents: 31
diff changeset
   125
    mSignalScanApReady = NULL;
hgs
parents: 31
diff changeset
   126
hgs
parents: 31
diff changeset
   127
    QCOMPARE(mSignalScanDirectReady->count(), 0);
hgs
parents: 31
diff changeset
   128
    delete mSignalScanDirectReady;
hgs
parents: 31
diff changeset
   129
    mSignalScanDirectReady = NULL;
31
hgs
parents:
diff changeset
   130
hgs
parents:
diff changeset
   131
    QCOMPARE(signalWlanNetworkOpened_->count(), 0);
hgs
parents:
diff changeset
   132
    delete signalWlanNetworkOpened_;
hgs
parents:
diff changeset
   133
    signalWlanNetworkOpened_ = NULL;
hgs
parents:
diff changeset
   134
hgs
parents:
diff changeset
   135
    QCOMPARE(signalWlanNetworkClosed_->count(), 0);
hgs
parents:
diff changeset
   136
    delete signalWlanNetworkClosed_;
hgs
parents:
diff changeset
   137
    signalWlanNetworkClosed_ = NULL;
hgs
parents:
diff changeset
   138
hgs
parents:
diff changeset
   139
    QCOMPARE(signalIctResult_->count(), 0);
hgs
parents:
diff changeset
   140
    delete signalIctResult_;
hgs
parents:
diff changeset
   141
    signalIctResult_ = NULL;
hgs
parents:
diff changeset
   142
}
hgs
parents:
diff changeset
   143
hgs
parents:
diff changeset
   144
// ---------------------------------------------------------
hgs
parents:
diff changeset
   145
// TEST CASES
hgs
parents:
diff changeset
   146
// ---------------------------------------------------------
hgs
parents:
diff changeset
   147
hgs
parents:
diff changeset
   148
/**
hgs
parents:
diff changeset
   149
 * Test available WLAN APs when scan is triggered by client.
hgs
parents:
diff changeset
   150
 */
hgs
parents:
diff changeset
   151
void TestWlanQtUtils::testAvailableWlan()
hgs
parents:
diff changeset
   152
{
39
hgs
parents: 31
diff changeset
   153
    testContext.mScan.createDefaultWlanScanResultList(4);
31
hgs
parents:
diff changeset
   154
    
hgs
parents:
diff changeset
   155
    // Request a scan to get result signal
hgs
parents:
diff changeset
   156
    wlanQtUtils_->scanWlans();
hgs
parents:
diff changeset
   157
    
hgs
parents:
diff changeset
   158
    // Let active object run and verify signal.
39
hgs
parents: 31
diff changeset
   159
    subTestScanResultSignal(mSignalScanReady, WlanQtUtils::ScanStatusOk);
31
hgs
parents:
diff changeset
   160
hgs
parents:
diff changeset
   161
    // Get and verify the list of available WLAN APs.
hgs
parents:
diff changeset
   162
    QList< QSharedPointer<WlanQtUtilsIap> > iaps;
hgs
parents:
diff changeset
   163
    QList< QSharedPointer<WlanQtUtilsAp> > aps;
hgs
parents:
diff changeset
   164
    wlanQtUtils_->availableWlans(iaps, aps);
hgs
parents:
diff changeset
   165
39
hgs
parents: 31
diff changeset
   166
    testContext.mScan.verifyWlanScanResultList(aps);
31
hgs
parents:
diff changeset
   167
    QCOMPARE(iaps.count(), 0);
hgs
parents:
diff changeset
   168
    aps.clear();
hgs
parents:
diff changeset
   169
}
hgs
parents:
diff changeset
   170
hgs
parents:
diff changeset
   171
/**
hgs
parents:
diff changeset
   172
 * Test available WLAN APs when scan is triggered by client.
hgs
parents:
diff changeset
   173
 * Two scan results have the same SSID and the latter one of those will be removed.
hgs
parents:
diff changeset
   174
 * Two scan results have the same SSID but different security mode
hgs
parents:
diff changeset
   175
 * Two scan results have the same SSID and security mode but different WpaPsk value
hgs
parents:
diff changeset
   176
 * and both are included in the results.
39
hgs
parents: 31
diff changeset
   177
 * Two scan results have the same SSID but different connection mode
31
hgs
parents:
diff changeset
   178
 */
hgs
parents:
diff changeset
   179
void TestWlanQtUtils::testAvailableWlanDuplicates()
hgs
parents:
diff changeset
   180
{
39
hgs
parents: 31
diff changeset
   181
    testContext.mScan.createDefaultWlanScanResultList(11);
hgs
parents: 31
diff changeset
   182
    testContext.mScan.mWlanScanResultList[0]->setValue(WlanQtUtilsAp::ConfIdSsid, "Same SSID");
hgs
parents: 31
diff changeset
   183
    testContext.mScan.mWlanScanResultList[2]->setValue(WlanQtUtilsAp::ConfIdSsid, "Same SSID");
hgs
parents: 31
diff changeset
   184
    testContext.mScan.mWlanScanResultList[5]->setValue(WlanQtUtilsAp::ConfIdSsid, "Same SSID, different SecMode");
hgs
parents: 31
diff changeset
   185
    testContext.mScan.mWlanScanResultList[5]->setValue(WlanQtUtilsAp::ConfIdSecurityMode,CMManagerShim::WlanSecModeWpa);
hgs
parents: 31
diff changeset
   186
    testContext.mScan.mWlanScanResultList[6]->setValue(WlanQtUtilsAp::ConfIdSsid, "Same SSID, different SecMode");
hgs
parents: 31
diff changeset
   187
    testContext.mScan.mWlanScanResultList[6]->setValue(WlanQtUtilsAp::ConfIdSecurityMode,CMManagerShim::WlanSecModeOpen);
hgs
parents: 31
diff changeset
   188
    testContext.mScan.mWlanScanResultList[7]->setValue(WlanQtUtilsAp::ConfIdSsid, "Same SSID & SecMode diff Psk");
hgs
parents: 31
diff changeset
   189
    testContext.mScan.mWlanScanResultList[7]->setValue(WlanQtUtilsAp::ConfIdSecurityMode,CMManagerShim::WlanSecModeWpa2);
hgs
parents: 31
diff changeset
   190
    testContext.mScan.mWlanScanResultList[9]->setValue(WlanQtUtilsAp::ConfIdSsid, "Same SSID & SecMode diff Psk");
hgs
parents: 31
diff changeset
   191
    testContext.mScan.mWlanScanResultList[9]->setValue(WlanQtUtilsAp::ConfIdSecurityMode,CMManagerShim::WlanSecModeWpa2);
hgs
parents: 31
diff changeset
   192
    testContext.mScan.mWlanScanResultList[9]->setValue(WlanQtUtilsAp::ConfIdWpaPskUse,true);
hgs
parents: 31
diff changeset
   193
    testContext.mScan.mWlanScanResultList[10]->setValue(WlanQtUtilsAp::ConfIdSsid, "Same SSID");
hgs
parents: 31
diff changeset
   194
    testContext.mScan.mWlanScanResultList[10]->setValue(WlanQtUtilsAp::ConfIdConnectionMode, CMManagerShim::Adhoc);
31
hgs
parents:
diff changeset
   195
hgs
parents:
diff changeset
   196
    // Request a scan to get result signal
hgs
parents:
diff changeset
   197
    wlanQtUtils_->scanWlans();
hgs
parents:
diff changeset
   198
    
hgs
parents:
diff changeset
   199
    // Let active object run and verify signal.
39
hgs
parents: 31
diff changeset
   200
    subTestScanResultSignal(mSignalScanReady, WlanQtUtils::ScanStatusOk);
31
hgs
parents:
diff changeset
   201
hgs
parents:
diff changeset
   202
    // Get and verify the list of available WLAN APs.
hgs
parents:
diff changeset
   203
    QList< QSharedPointer<WlanQtUtilsIap> > iaps;
hgs
parents:
diff changeset
   204
    QList< QSharedPointer<WlanQtUtilsAp> > aps;
hgs
parents:
diff changeset
   205
    wlanQtUtils_->availableWlans(iaps, aps);
hgs
parents:
diff changeset
   206
hgs
parents:
diff changeset
   207
    // First remove AP that has duplicate SSID.
39
hgs
parents: 31
diff changeset
   208
    testContext.mScan.mWlanScanResultList.removeAt(2);
hgs
parents: 31
diff changeset
   209
    testContext.mScan.verifyWlanScanResultList(aps);
31
hgs
parents:
diff changeset
   210
    QCOMPARE(iaps.count(), 0);
hgs
parents:
diff changeset
   211
    aps.clear();
hgs
parents:
diff changeset
   212
}
hgs
parents:
diff changeset
   213
hgs
parents:
diff changeset
   214
/**
hgs
parents:
diff changeset
   215
 * Test available WLAN APs when scan is triggered by client.
hgs
parents:
diff changeset
   216
 * Include all supported security modes.
hgs
parents:
diff changeset
   217
 */
hgs
parents:
diff changeset
   218
void TestWlanQtUtils::testAvailableWlanSecModes()
hgs
parents:
diff changeset
   219
{
39
hgs
parents: 31
diff changeset
   220
    testContext.mScan.createDefaultWlanScanResultList(11);
hgs
parents: 31
diff changeset
   221
    testContext.mScan.mWlanScanResultList[0]->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeOpen);
hgs
parents: 31
diff changeset
   222
    testContext.mScan.mWlanScanResultList[0]->setValue(WlanQtUtilsAp::ConfIdConnectionMode, CMManagerShim::Adhoc);
hgs
parents: 31
diff changeset
   223
    testContext.mScan.mWlanScanResultList[1]->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWep);
hgs
parents: 31
diff changeset
   224
    testContext.mScan.mWlanScanResultList[2]->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWep);
hgs
parents: 31
diff changeset
   225
    testContext.mScan.mWlanScanResultList[3]->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecMode802_1x);
hgs
parents: 31
diff changeset
   226
    testContext.mScan.mWlanScanResultList[4]->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa);
hgs
parents: 31
diff changeset
   227
    testContext.mScan.mWlanScanResultList[5]->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa);
hgs
parents: 31
diff changeset
   228
    testContext.mScan.mWlanScanResultList[5]->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, true);
hgs
parents: 31
diff changeset
   229
    testContext.mScan.mWlanScanResultList[6]->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa2);
hgs
parents: 31
diff changeset
   230
    testContext.mScan.mWlanScanResultList[7]->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa2);
hgs
parents: 31
diff changeset
   231
    testContext.mScan.mWlanScanResultList[7]->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, true);
hgs
parents: 31
diff changeset
   232
    testContext.mScan.mWlanScanResultList[8]->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWapi);
hgs
parents: 31
diff changeset
   233
    testContext.mScan.mWlanScanResultList[9]->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWapi);
31
hgs
parents:
diff changeset
   234
    // Let's trick the stub to return WapiPsk by putting WpaPskUse on *
39
hgs
parents: 31
diff changeset
   235
    testContext.mScan.mWlanScanResultList[9]->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, true);
hgs
parents: 31
diff changeset
   236
    testContext.mScan.mWlanScanResultList[10]->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa2);
hgs
parents: 31
diff changeset
   237
    testContext.mScan.mWlanScanResultList[10]->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, true);
hgs
parents: 31
diff changeset
   238
    testContext.mScan.mWlanScanResultList[10]->setValue(WlanQtUtilsAp::ConfIdWpsSupported, true);
31
hgs
parents:
diff changeset
   239
hgs
parents:
diff changeset
   240
    // Request a scan to get result signal
hgs
parents:
diff changeset
   241
    wlanQtUtils_->scanWlans();
hgs
parents:
diff changeset
   242
    
hgs
parents:
diff changeset
   243
    // Let active object run and verify signal.
39
hgs
parents: 31
diff changeset
   244
    subTestScanResultSignal(mSignalScanReady, WlanQtUtils::ScanStatusOk);
31
hgs
parents:
diff changeset
   245
hgs
parents:
diff changeset
   246
    // Get and verify the list of available WLAN APs.
hgs
parents:
diff changeset
   247
    QList< QSharedPointer<WlanQtUtilsIap> > iaps;
hgs
parents:
diff changeset
   248
    QList< QSharedPointer<WlanQtUtilsAp> > aps;
hgs
parents:
diff changeset
   249
    wlanQtUtils_->availableWlans(iaps, aps);
hgs
parents:
diff changeset
   250
hgs
parents:
diff changeset
   251
    // Remove the trick *. WapiPsk and Wapi both map to just Wapi
39
hgs
parents: 31
diff changeset
   252
    testContext.mScan.mWlanScanResultList[9]->setValue(WlanQtUtilsAp::ConfIdWpaPskUse,false);
hgs
parents: 31
diff changeset
   253
    testContext.mScan.verifyWlanScanResultList(aps);
31
hgs
parents:
diff changeset
   254
    QCOMPARE(iaps.count(), 0);
hgs
parents:
diff changeset
   255
    aps.clear();
hgs
parents:
diff changeset
   256
}
hgs
parents:
diff changeset
   257
hgs
parents:
diff changeset
   258
/**
hgs
parents:
diff changeset
   259
 * Test available WLAN APs when scan is triggered by client.
hgs
parents:
diff changeset
   260
 * Include some exotic ssids.
hgs
parents:
diff changeset
   261
 */
hgs
parents:
diff changeset
   262
void TestWlanQtUtils::testAvailableWlanSsids()
hgs
parents:
diff changeset
   263
{
39
hgs
parents: 31
diff changeset
   264
    testContext.mScan.createDefaultWlanScanResultList(6);
hgs
parents: 31
diff changeset
   265
    testContext.mScan.mWlanScanResultList[1]->setValue(WlanQtUtilsAp::ConfIdSsid, "           ");
hgs
parents: 31
diff changeset
   266
    testContext.mScan.mWlanScanResultList[2]->setValue(WlanQtUtilsAp::ConfIdSsid, "    whitespace around ssid  ");
hgs
parents: 31
diff changeset
   267
    testContext.mScan.mWlanScanResultList[3]->setValue(WlanQtUtilsAp::ConfIdSsid, QString(QChar()));
hgs
parents: 31
diff changeset
   268
    testContext.mScan.mWlanScanResultList[4]->setValue(WlanQtUtilsAp::ConfIdSsid, "maximum length ssid that is 32 c");
hgs
parents: 31
diff changeset
   269
    testContext.mScan.mWlanScanResultList[5]->setValue(WlanQtUtilsAp::ConfIdSsid, "A");
31
hgs
parents:
diff changeset
   270
hgs
parents:
diff changeset
   271
    // Request a scan to get result signal
hgs
parents:
diff changeset
   272
    wlanQtUtils_->scanWlans();
hgs
parents:
diff changeset
   273
    
hgs
parents:
diff changeset
   274
    // Let active object run and verify signal.
39
hgs
parents: 31
diff changeset
   275
    subTestScanResultSignal(mSignalScanReady, WlanQtUtils::ScanStatusOk);
31
hgs
parents:
diff changeset
   276
hgs
parents:
diff changeset
   277
    // Get and verify the list of available WLAN APs.
hgs
parents:
diff changeset
   278
    QList< QSharedPointer<WlanQtUtilsIap> > iaps;
hgs
parents:
diff changeset
   279
    QList< QSharedPointer<WlanQtUtilsAp> > aps;
hgs
parents:
diff changeset
   280
    wlanQtUtils_->availableWlans(iaps, aps);
hgs
parents:
diff changeset
   281
hgs
parents:
diff changeset
   282
    // Empty ssids are removed from results
39
hgs
parents: 31
diff changeset
   283
    testContext.mScan.mWlanScanResultList.removeAt(3);
hgs
parents: 31
diff changeset
   284
    testContext.mScan.mWlanScanResultList.removeAt(1);
hgs
parents: 31
diff changeset
   285
    testContext.mScan.verifyWlanScanResultList(aps);
31
hgs
parents:
diff changeset
   286
    QCOMPARE(iaps.count(), 0);
hgs
parents:
diff changeset
   287
    aps.clear();
hgs
parents:
diff changeset
   288
}
hgs
parents:
diff changeset
   289
hgs
parents:
diff changeset
   290
/**
hgs
parents:
diff changeset
   291
 * Test available WLAN APs when there are also WLAN IAPs available.
hgs
parents:
diff changeset
   292
 */
hgs
parents:
diff changeset
   293
void TestWlanQtUtils::testAvailableWlanWithIaps()
hgs
parents:
diff changeset
   294
{
39
hgs
parents: 31
diff changeset
   295
    testContext.mScan.createDefaultWlanScanResultList(7);
hgs
parents: 31
diff changeset
   296
    testContext.mScan.mWlanScanResultList[1]->setValue(WlanQtUtilsAp::ConfIdSsid, "WLAN IAP 3");
hgs
parents: 31
diff changeset
   297
    testContext.mScan.mWlanScanResultList[1]->setValue(WlanQtUtilsAp::ConfIdSecurityMode,CMManagerShim::WlanSecModeWpa);    
hgs
parents: 31
diff changeset
   298
    testContext.mScan.mWlanScanResultList[1]->setValue(WlanQtUtilsAp::ConfIdWpaPskUse,true);    
hgs
parents: 31
diff changeset
   299
    testContext.mScan.mWlanScanResultList[5]->setValue(WlanQtUtilsAp::ConfIdSsid, "WLAN IAP 1");
31
hgs
parents:
diff changeset
   300
    // SSID is found in Internet Snap, but security mode does not match:
39
hgs
parents: 31
diff changeset
   301
    testContext.mScan.mWlanScanResultList[6]->setValue(WlanQtUtilsAp::ConfIdSsid, "WLAN IAP 2");
hgs
parents: 31
diff changeset
   302
    testContext.mScan.mWlanScanResultList[6]->setValue(WlanQtUtilsAp::ConfIdSecurityMode,CMManagerShim::WlanSecModeWpa);
31
hgs
parents:
diff changeset
   303
    
hgs
parents:
diff changeset
   304
    // Request a scan to get result signal
hgs
parents:
diff changeset
   305
    wlanQtUtils_->scanWlans();
hgs
parents:
diff changeset
   306
    
hgs
parents:
diff changeset
   307
    // Let active object run and verify signal.
39
hgs
parents: 31
diff changeset
   308
    subTestScanResultSignal(mSignalScanReady, WlanQtUtils::ScanStatusOk);
31
hgs
parents:
diff changeset
   309
hgs
parents:
diff changeset
   310
    // Get and verify the list of available WLAN APs.
hgs
parents:
diff changeset
   311
    QList< QSharedPointer<WlanQtUtilsIap> > iaps;
hgs
parents:
diff changeset
   312
    QList< QSharedPointer<WlanQtUtilsAp> > aps;
hgs
parents:
diff changeset
   313
    wlanQtUtils_->availableWlans(iaps, aps);
hgs
parents:
diff changeset
   314
hgs
parents:
diff changeset
   315
    // Verify WLAN AP list. First, remove scan results that will not appear
hgs
parents:
diff changeset
   316
    // because they are WLAN IAPs.
39
hgs
parents: 31
diff changeset
   317
    testContext.mScan.mWlanScanResultList.removeAt(5);
hgs
parents: 31
diff changeset
   318
    testContext.mScan.mWlanScanResultList.removeAt(1);
hgs
parents: 31
diff changeset
   319
    testContext.mScan.verifyWlanScanResultList(aps);
31
hgs
parents:
diff changeset
   320
hgs
parents:
diff changeset
   321
    // Verify WLAN IAP list
hgs
parents:
diff changeset
   322
    QCOMPARE(iaps.count(), 2);
hgs
parents:
diff changeset
   323
    QCOMPARE(iaps[0]->value(WlanQtUtilsIap::ConfIdIapId).toInt(), 5);
hgs
parents:
diff changeset
   324
    QCOMPARE(iaps[0]->value(WlanQtUtilsIap::ConfIdName).toString(), QString("WLAN IAP 1"));
hgs
parents:
diff changeset
   325
    QCOMPARE(iaps[0]->value(WlanQtUtilsAp::ConfIdSsid).toString(), QString("WLAN IAP 1"));
hgs
parents:
diff changeset
   326
    QCOMPARE(iaps[1]->value(WlanQtUtilsIap::ConfIdIapId).toInt(), 7);
hgs
parents:
diff changeset
   327
    QCOMPARE(iaps[1]->value(WlanQtUtilsIap::ConfIdName).toString(), QString("WLAN IAP 3"));
hgs
parents:
diff changeset
   328
    QCOMPARE(iaps[1]->value(WlanQtUtilsAp::ConfIdSsid).toString(), QString("WLAN IAP 3"));
hgs
parents:
diff changeset
   329
    iaps.clear();
hgs
parents:
diff changeset
   330
    aps.clear();
hgs
parents:
diff changeset
   331
}
hgs
parents:
diff changeset
   332
hgs
parents:
diff changeset
   333
/**
hgs
parents:
diff changeset
   334
 * Test refereshing of WLAN APs when client requests sequential scans.
hgs
parents:
diff changeset
   335
 */
hgs
parents:
diff changeset
   336
void TestWlanQtUtils::testAvailableWlanSequence()
hgs
parents:
diff changeset
   337
{
hgs
parents:
diff changeset
   338
    // **************** Before 1st scan ********************
hgs
parents:
diff changeset
   339
    QList< QSharedPointer<WlanQtUtilsIap> > iaps;
hgs
parents:
diff changeset
   340
    QList< QSharedPointer<WlanQtUtilsAp> > aps;
hgs
parents:
diff changeset
   341
    wlanQtUtils_->availableWlans(iaps, aps);
hgs
parents:
diff changeset
   342
    // Verify we have no results
hgs
parents:
diff changeset
   343
    QCOMPARE(aps.count(), 0);
hgs
parents:
diff changeset
   344
    QCOMPARE(iaps.count(), 0);
hgs
parents:
diff changeset
   345
    
hgs
parents:
diff changeset
   346
    // **************** 1st scan ********************
hgs
parents:
diff changeset
   347
    // 6 APs are required for this scan
39
hgs
parents: 31
diff changeset
   348
    testContext.mScan.createDefaultWlanScanResultList(6);
31
hgs
parents:
diff changeset
   349
hgs
parents:
diff changeset
   350
    wlanQtUtils_->scanWlans();
39
hgs
parents: 31
diff changeset
   351
    subTestScanResultSignal(mSignalScanReady, WlanQtUtils::ScanStatusOk);
31
hgs
parents:
diff changeset
   352
hgs
parents:
diff changeset
   353
    // Get the results for the 1st scan
hgs
parents:
diff changeset
   354
    wlanQtUtils_->availableWlans(iaps, aps);
hgs
parents:
diff changeset
   355
    // Verify the results for the scan
39
hgs
parents: 31
diff changeset
   356
    testContext.mScan.verifyWlanScanResultList(aps);
31
hgs
parents:
diff changeset
   357
    QCOMPARE(iaps.count(), 0);
hgs
parents:
diff changeset
   358
    aps.clear();
hgs
parents:
diff changeset
   359
hgs
parents:
diff changeset
   360
    // **************** 2nd scan ********************
hgs
parents:
diff changeset
   361
    // 2 APs are required for this scan
39
hgs
parents: 31
diff changeset
   362
    testContext.mScan.createDefaultWlanScanResultList(2);
31
hgs
parents:
diff changeset
   363
hgs
parents:
diff changeset
   364
    wlanQtUtils_->scanWlans();
39
hgs
parents: 31
diff changeset
   365
    subTestScanResultSignal(mSignalScanReady, WlanQtUtils::ScanStatusOk);
31
hgs
parents:
diff changeset
   366
hgs
parents:
diff changeset
   367
    // Get the results for the 2nd scan
hgs
parents:
diff changeset
   368
    wlanQtUtils_->availableWlans(iaps, aps);
hgs
parents:
diff changeset
   369
    // Verify the results for the scan
39
hgs
parents: 31
diff changeset
   370
    testContext.mScan.verifyWlanScanResultList(aps);
31
hgs
parents:
diff changeset
   371
    QCOMPARE(iaps.count(), 0);
hgs
parents:
diff changeset
   372
    aps.clear();
hgs
parents:
diff changeset
   373
hgs
parents:
diff changeset
   374
    // **************** 3rd scan ********************
hgs
parents:
diff changeset
   375
    // 4 APs are required for the 3rd scan
39
hgs
parents: 31
diff changeset
   376
    testContext.mScan.createDefaultWlanScanResultList(4);
31
hgs
parents:
diff changeset
   377
hgs
parents:
diff changeset
   378
    wlanQtUtils_->scanWlans();
39
hgs
parents: 31
diff changeset
   379
    subTestScanResultSignal(mSignalScanReady, WlanQtUtils::ScanStatusOk);
31
hgs
parents:
diff changeset
   380
    
hgs
parents:
diff changeset
   381
    // Get the results for the 3rd scan
hgs
parents:
diff changeset
   382
    wlanQtUtils_->availableWlans(iaps, aps);
hgs
parents:
diff changeset
   383
    // Verify the results for the scan
39
hgs
parents: 31
diff changeset
   384
    testContext.mScan.verifyWlanScanResultList(aps);
31
hgs
parents:
diff changeset
   385
    QCOMPARE(iaps.count(), 0);
hgs
parents:
diff changeset
   386
    aps.clear();
hgs
parents:
diff changeset
   387
}
hgs
parents:
diff changeset
   388
hgs
parents:
diff changeset
   389
/**
39
hgs
parents: 31
diff changeset
   390
 * Test availability scan that finds nothing.
hgs
parents: 31
diff changeset
   391
 */
hgs
parents: 31
diff changeset
   392
void TestWlanQtUtils::testAvailableWlanScanEmpty()
hgs
parents: 31
diff changeset
   393
{
hgs
parents: 31
diff changeset
   394
    // Form result list
hgs
parents: 31
diff changeset
   395
    testContext.mScan.createDefaultWlanScanResultList(0);
hgs
parents: 31
diff changeset
   396
hgs
parents: 31
diff changeset
   397
    // Request a direct scan to get result signal
hgs
parents: 31
diff changeset
   398
    wlanQtUtils_->scanWlans();
hgs
parents: 31
diff changeset
   399
    
hgs
parents: 31
diff changeset
   400
    // Let active object run and verify signal.
hgs
parents: 31
diff changeset
   401
    subTestScanResultSignal(mSignalScanReady, WlanQtUtils::ScanStatusOk);
hgs
parents: 31
diff changeset
   402
hgs
parents: 31
diff changeset
   403
    // Get and verify the list of available WLAN APs.
hgs
parents: 31
diff changeset
   404
    QList< QSharedPointer<WlanQtUtilsIap> > iaps;
hgs
parents: 31
diff changeset
   405
    QList< QSharedPointer<WlanQtUtilsAp> > aps;
hgs
parents: 31
diff changeset
   406
    wlanQtUtils_->availableWlans(iaps, aps);
hgs
parents: 31
diff changeset
   407
    testContext.mScan.verifyWlanScanResultList(aps);
hgs
parents: 31
diff changeset
   408
    QCOMPARE(iaps.count(), 0);
hgs
parents: 31
diff changeset
   409
}
hgs
parents: 31
diff changeset
   410
hgs
parents: 31
diff changeset
   411
/**
hgs
parents: 31
diff changeset
   412
 * Test WLAN availability scan failure.
hgs
parents: 31
diff changeset
   413
 */
hgs
parents: 31
diff changeset
   414
void TestWlanQtUtils::testAvailableWlanScanError()
hgs
parents: 31
diff changeset
   415
{
hgs
parents: 31
diff changeset
   416
    // Set the scan to fail
hgs
parents: 31
diff changeset
   417
    testContext.mScan.mScanRetValue = KErrGeneral;
hgs
parents: 31
diff changeset
   418
    
hgs
parents: 31
diff changeset
   419
    // Start the scan
hgs
parents: 31
diff changeset
   420
    wlanQtUtils_->scanWlans();
hgs
parents: 31
diff changeset
   421
hgs
parents: 31
diff changeset
   422
    // Catch & check the scan result signal
hgs
parents: 31
diff changeset
   423
    subTestScanResultSignal(mSignalScanReady, WlanQtUtils::ScanStatusError);
hgs
parents: 31
diff changeset
   424
}
hgs
parents: 31
diff changeset
   425
hgs
parents: 31
diff changeset
   426
/**
hgs
parents: 31
diff changeset
   427
 * Test available WLAN APs when scan is triggered by client.
hgs
parents: 31
diff changeset
   428
 */
hgs
parents: 31
diff changeset
   429
void TestWlanQtUtils::testAvailableWlanAps()
hgs
parents: 31
diff changeset
   430
{
hgs
parents: 31
diff changeset
   431
    testContext.mScan.createDefaultWlanScanResultList(4);
hgs
parents: 31
diff changeset
   432
    
hgs
parents: 31
diff changeset
   433
    // Request a scan to get result signal
hgs
parents: 31
diff changeset
   434
    wlanQtUtils_->scanWlanAps();
hgs
parents: 31
diff changeset
   435
    
hgs
parents: 31
diff changeset
   436
    // Let active object run and verify signal.
hgs
parents: 31
diff changeset
   437
    subTestScanResultSignal(mSignalScanApReady, WlanQtUtils::ScanStatusOk);
hgs
parents: 31
diff changeset
   438
hgs
parents: 31
diff changeset
   439
    // Get and verify the list of available WLAN APs.
hgs
parents: 31
diff changeset
   440
    QList< QSharedPointer<WlanQtUtilsAp> > aps;
hgs
parents: 31
diff changeset
   441
    wlanQtUtils_->availableWlanAps(aps);
hgs
parents: 31
diff changeset
   442
hgs
parents: 31
diff changeset
   443
    testContext.mScan.verifyWlanScanResultList(aps);
hgs
parents: 31
diff changeset
   444
    aps.clear();
hgs
parents: 31
diff changeset
   445
}
hgs
parents: 31
diff changeset
   446
hgs
parents: 31
diff changeset
   447
/**
hgs
parents: 31
diff changeset
   448
 * Test a direct scan that finds nothing.
hgs
parents: 31
diff changeset
   449
 */
hgs
parents: 31
diff changeset
   450
void TestWlanQtUtils::testAvailableWlanApsScanEmpty()
hgs
parents: 31
diff changeset
   451
{
hgs
parents: 31
diff changeset
   452
    // Form result list
hgs
parents: 31
diff changeset
   453
    testContext.mScan.createDefaultWlanScanResultList(0);
hgs
parents: 31
diff changeset
   454
hgs
parents: 31
diff changeset
   455
    // Request a direct scan to get result signal
hgs
parents: 31
diff changeset
   456
    wlanQtUtils_->scanWlanAps();
hgs
parents: 31
diff changeset
   457
    
hgs
parents: 31
diff changeset
   458
    // Let active object run and verify signal.
hgs
parents: 31
diff changeset
   459
    subTestScanResultSignal(mSignalScanApReady, WlanQtUtils::ScanStatusOk);
hgs
parents: 31
diff changeset
   460
hgs
parents: 31
diff changeset
   461
    // Get and verify the list of available WLAN APs.
hgs
parents: 31
diff changeset
   462
    QList< QSharedPointer<WlanQtUtilsAp> > aps;
hgs
parents: 31
diff changeset
   463
    wlanQtUtils_->availableWlanAps(aps);
hgs
parents: 31
diff changeset
   464
    testContext.mScan.verifyWlanScanResultList(aps);
hgs
parents: 31
diff changeset
   465
}
hgs
parents: 31
diff changeset
   466
hgs
parents: 31
diff changeset
   467
/**
hgs
parents: 31
diff changeset
   468
 * Test cancellation of WLAN AP scan.
hgs
parents: 31
diff changeset
   469
 */
hgs
parents: 31
diff changeset
   470
void TestWlanQtUtils::testStopWlanApScan()
hgs
parents: 31
diff changeset
   471
{
hgs
parents: 31
diff changeset
   472
    // Do not complete scan request immediately
hgs
parents: 31
diff changeset
   473
    testContext.mScan.mCompleteWlanScan = false;
hgs
parents: 31
diff changeset
   474
    
hgs
parents: 31
diff changeset
   475
    // Start the scan
hgs
parents: 31
diff changeset
   476
    wlanQtUtils_->scanWlanAps();
hgs
parents: 31
diff changeset
   477
    // Cancel the scan
hgs
parents: 31
diff changeset
   478
    wlanQtUtils_->stopWlanScan();
hgs
parents: 31
diff changeset
   479
hgs
parents: 31
diff changeset
   480
    // Catch & check the scan result signal
hgs
parents: 31
diff changeset
   481
    subTestScanResultSignal(mSignalScanApReady, WlanQtUtils::ScanStatusCancelled);
hgs
parents: 31
diff changeset
   482
}
hgs
parents: 31
diff changeset
   483
hgs
parents: 31
diff changeset
   484
/**
hgs
parents: 31
diff changeset
   485
 * Test WLAN AP scan failure.
hgs
parents: 31
diff changeset
   486
 */
hgs
parents: 31
diff changeset
   487
void TestWlanQtUtils::testWlanApScanError()
hgs
parents: 31
diff changeset
   488
{
hgs
parents: 31
diff changeset
   489
    // Set the scan to fail
hgs
parents: 31
diff changeset
   490
    testContext.mScan.mScanRetValue = KErrGeneral;
hgs
parents: 31
diff changeset
   491
    
hgs
parents: 31
diff changeset
   492
    // Start the scan
hgs
parents: 31
diff changeset
   493
    wlanQtUtils_->scanWlanAps();
hgs
parents: 31
diff changeset
   494
hgs
parents: 31
diff changeset
   495
    // Catch & check the scan result signal
hgs
parents: 31
diff changeset
   496
    subTestScanResultSignal(mSignalScanApReady, WlanQtUtils::ScanStatusError);
hgs
parents: 31
diff changeset
   497
}
hgs
parents: 31
diff changeset
   498
hgs
parents: 31
diff changeset
   499
/**
hgs
parents: 31
diff changeset
   500
 * Test a basic direct scan.
hgs
parents: 31
diff changeset
   501
 */
hgs
parents: 31
diff changeset
   502
void TestWlanQtUtils::testDirectScanBasic()
hgs
parents: 31
diff changeset
   503
{
hgs
parents: 31
diff changeset
   504
    // Form result list
hgs
parents: 31
diff changeset
   505
    testContext.mScan.createDefaultWlanScanResultList(2);
hgs
parents: 31
diff changeset
   506
    testContext.mScan.mWlanScanResultList[0]->setValue(WlanQtUtilsAp::ConfIdSsid, "testssid");
hgs
parents: 31
diff changeset
   507
    testContext.mScan.mWlanScanResultList[0]->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeOpen);
hgs
parents: 31
diff changeset
   508
    testContext.mScan.mWlanScanResultList[1]->setValue(WlanQtUtilsAp::ConfIdSsid, "testssid");
hgs
parents: 31
diff changeset
   509
    testContext.mScan.mWlanScanResultList[1]->setValue(WlanQtUtilsAp::ConfIdBssid, "654321");
hgs
parents: 31
diff changeset
   510
    testContext.mScan.mWlanScanResultList[1]->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa);
hgs
parents: 31
diff changeset
   511
hgs
parents: 31
diff changeset
   512
    // Request a direct scan to get result signal
hgs
parents: 31
diff changeset
   513
    wlanQtUtils_->scanWlanDirect(QString("testssid"));
hgs
parents: 31
diff changeset
   514
    
hgs
parents: 31
diff changeset
   515
    // Let active object run and verify signal.
hgs
parents: 31
diff changeset
   516
    subTestScanResultSignal(mSignalScanDirectReady, WlanQtUtils::ScanStatusOk);
hgs
parents: 31
diff changeset
   517
hgs
parents: 31
diff changeset
   518
    // Get and verify the list of available WLAN APs.
hgs
parents: 31
diff changeset
   519
    QList< QSharedPointer<WlanQtUtilsAp> > aps;
hgs
parents: 31
diff changeset
   520
    wlanQtUtils_->availableWlanAps(aps);
hgs
parents: 31
diff changeset
   521
hgs
parents: 31
diff changeset
   522
    testContext.mScan.verifyWlanScanResultList(aps);
hgs
parents: 31
diff changeset
   523
    aps.clear();
hgs
parents: 31
diff changeset
   524
}
hgs
parents: 31
diff changeset
   525
hgs
parents: 31
diff changeset
   526
/**
hgs
parents: 31
diff changeset
   527
 * Test a direct scan that finds nothing.
hgs
parents: 31
diff changeset
   528
 */
hgs
parents: 31
diff changeset
   529
void TestWlanQtUtils::testDirectScanEmpty()
hgs
parents: 31
diff changeset
   530
{
hgs
parents: 31
diff changeset
   531
    // Form result list
hgs
parents: 31
diff changeset
   532
    testContext.mScan.createDefaultWlanScanResultList(0);
hgs
parents: 31
diff changeset
   533
hgs
parents: 31
diff changeset
   534
    // Request a direct scan to get result signal
hgs
parents: 31
diff changeset
   535
    wlanQtUtils_->scanWlanDirect(QString("notavailable"));
hgs
parents: 31
diff changeset
   536
    
hgs
parents: 31
diff changeset
   537
    // Let active object run and verify signal.
hgs
parents: 31
diff changeset
   538
    subTestScanResultSignal(mSignalScanDirectReady, WlanQtUtils::ScanStatusOk);
hgs
parents: 31
diff changeset
   539
hgs
parents: 31
diff changeset
   540
    // Get and verify the list of available WLAN APs.
hgs
parents: 31
diff changeset
   541
    QList< QSharedPointer<WlanQtUtilsAp> > aps;
hgs
parents: 31
diff changeset
   542
    wlanQtUtils_->availableWlanAps(aps);
hgs
parents: 31
diff changeset
   543
    testContext.mScan.verifyWlanScanResultList(aps);
hgs
parents: 31
diff changeset
   544
}
hgs
parents: 31
diff changeset
   545
hgs
parents: 31
diff changeset
   546
/**
hgs
parents: 31
diff changeset
   547
 * Test cancellation of direct scan.
hgs
parents: 31
diff changeset
   548
 */
hgs
parents: 31
diff changeset
   549
void TestWlanQtUtils::testDirectScanStop()
hgs
parents: 31
diff changeset
   550
{
hgs
parents: 31
diff changeset
   551
    // Do not complete scan request immediately
hgs
parents: 31
diff changeset
   552
    testContext.mScan.mCompleteWlanScan = false;
hgs
parents: 31
diff changeset
   553
    
hgs
parents: 31
diff changeset
   554
    // Start the scan
hgs
parents: 31
diff changeset
   555
    wlanQtUtils_->scanWlanDirect(QString("testssid"));
hgs
parents: 31
diff changeset
   556
    // Cancel the scan
hgs
parents: 31
diff changeset
   557
    wlanQtUtils_->stopWlanScan();
hgs
parents: 31
diff changeset
   558
hgs
parents: 31
diff changeset
   559
    // Catch & check the scan result signal
hgs
parents: 31
diff changeset
   560
    subTestScanResultSignal(mSignalScanDirectReady, WlanQtUtils::ScanStatusCancelled);
hgs
parents: 31
diff changeset
   561
}
hgs
parents: 31
diff changeset
   562
hgs
parents: 31
diff changeset
   563
/**
hgs
parents: 31
diff changeset
   564
 * Test direct scan failure.
hgs
parents: 31
diff changeset
   565
 */
hgs
parents: 31
diff changeset
   566
void TestWlanQtUtils::testDirectScanError()
hgs
parents: 31
diff changeset
   567
{
hgs
parents: 31
diff changeset
   568
    // Set the scan to fail
hgs
parents: 31
diff changeset
   569
    testContext.mScan.mScanRetValue = KErrGeneral;
hgs
parents: 31
diff changeset
   570
    
hgs
parents: 31
diff changeset
   571
    // Start the scan
hgs
parents: 31
diff changeset
   572
    wlanQtUtils_->scanWlanDirect(QString("boundtofail"));
hgs
parents: 31
diff changeset
   573
hgs
parents: 31
diff changeset
   574
    // Catch & check the scan result signal
hgs
parents: 31
diff changeset
   575
    subTestScanResultSignal(mSignalScanDirectReady, WlanQtUtils::ScanStatusError);
hgs
parents: 31
diff changeset
   576
}
hgs
parents: 31
diff changeset
   577
hgs
parents: 31
diff changeset
   578
/**
31
hgs
parents:
diff changeset
   579
 * This function tests creation of WLAN IAP in a succesful manner.
hgs
parents:
diff changeset
   580
 * - WLAN scan is made because otherwise we cannot verify that IAP creation is successful.
hgs
parents:
diff changeset
   581
 * - Check that there are no available WLAN IAPs.
hgs
parents:
diff changeset
   582
 * - Fetch SNAP list.
hgs
parents:
diff changeset
   583
 * - Create WLAN IAP.
hgs
parents:
diff changeset
   584
 * - Check that WLAN IAP has been created and that this IAP is not in WLAN AP scan results.
hgs
parents:
diff changeset
   585
 */
hgs
parents:
diff changeset
   586
void TestWlanQtUtils::testCreateIapOk()
hgs
parents:
diff changeset
   587
{
39
hgs
parents: 31
diff changeset
   588
    testContext.mScan.createDefaultWlanScanResultList(1);
hgs
parents: 31
diff changeset
   589
    testContext.mScan.mWlanScanResultList[0]->setValue(WlanQtUtilsAp::ConfIdSsid, "testCreateIapOk");
hgs
parents: 31
diff changeset
   590
    testContext.mScan.mWlanScanResultList[0]->setValue(WlanQtUtilsAp::ConfIdSecurityMode,CMManagerShim::WlanSecModeWpa);
hgs
parents: 31
diff changeset
   591
    testContext.mScan.mWlanScanResultList[0]->setValue(WlanQtUtilsAp::ConfIdWpaPskUse,true);
31
hgs
parents:
diff changeset
   592
hgs
parents:
diff changeset
   593
    // Request a scan to get result signal
hgs
parents:
diff changeset
   594
    wlanQtUtils_->scanWlans();
hgs
parents:
diff changeset
   595
    
hgs
parents:
diff changeset
   596
    // Let active object run and verify signal.
39
hgs
parents: 31
diff changeset
   597
    subTestScanResultSignal(mSignalScanReady, WlanQtUtils::ScanStatusOk);
31
hgs
parents:
diff changeset
   598
hgs
parents:
diff changeset
   599
    // Ensure there are no WLAN IAPs but there is one scan result.
hgs
parents:
diff changeset
   600
    QList< QSharedPointer<WlanQtUtilsIap> > iaps;
hgs
parents:
diff changeset
   601
    QList< QSharedPointer<WlanQtUtilsAp> > aps;
hgs
parents:
diff changeset
   602
    wlanQtUtils_->availableWlans(iaps, aps);
hgs
parents:
diff changeset
   603
hgs
parents:
diff changeset
   604
    QCOMPARE(iaps.count(), 0);
39
hgs
parents: 31
diff changeset
   605
    testContext.mScan.verifyWlanScanResultList(aps);
31
hgs
parents:
diff changeset
   606
hgs
parents:
diff changeset
   607
    // Execute createIap() function
39
hgs
parents: 31
diff changeset
   608
    QScopedPointer<WlanQtUtilsAp> wlanAp(subTestNewAp());
hgs
parents: 31
diff changeset
   609
    wlanAp->setValue(WlanQtUtilsAp::ConfIdSsid, "testCreateIapOk");
hgs
parents: 31
diff changeset
   610
    wlanAp->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa);
hgs
parents: 31
diff changeset
   611
    wlanAp->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, true);
hgs
parents: 31
diff changeset
   612
    wlanAp->setValue(WlanQtUtilsAp::ConfIdWpaPsk, "100euronlounas");
hgs
parents: 31
diff changeset
   613
    int iapId = wlanQtUtils_->createIap(wlanAp.data());
31
hgs
parents:
diff changeset
   614
    QVERIFY(iapId != WlanQtUtils::IapIdNone);
hgs
parents:
diff changeset
   615
hgs
parents:
diff changeset
   616
    // Verify that created IAP is in the IAP list and AP list is empty.
hgs
parents:
diff changeset
   617
    wlanQtUtils_->availableWlans(iaps, aps);
hgs
parents:
diff changeset
   618
    QCOMPARE(iaps.count(), 1);
hgs
parents:
diff changeset
   619
    QCOMPARE(iaps[0]->value(WlanQtUtilsIap::ConfIdIapId).toInt(), iapId);
hgs
parents:
diff changeset
   620
    QCOMPARE(iaps[0]->value(WlanQtUtilsIap::ConfIdName).toString(), QString("testCreateIapOk"));
hgs
parents:
diff changeset
   621
    QCOMPARE(iaps[0]->value(WlanQtUtilsAp::ConfIdSsid).toString(), QString("testCreateIapOk"));
hgs
parents:
diff changeset
   622
    QCOMPARE(iaps[0]->value(WlanQtUtilsAp::ConfIdSecurityMode).toInt(), (int)(CMManagerShim::WlanSecModeWpa));
hgs
parents:
diff changeset
   623
    QCOMPARE(iaps[0]->value(WlanQtUtilsAp::ConfIdWpaPskUse).toBool(), true);
hgs
parents:
diff changeset
   624
    QCOMPARE(aps.count(), 0);
hgs
parents:
diff changeset
   625
    iaps.clear();
hgs
parents:
diff changeset
   626
}
hgs
parents:
diff changeset
   627
hgs
parents:
diff changeset
   628
/**
hgs
parents:
diff changeset
   629
 * This function tests creation of WLAN IAP in unsuccesful manner.
hgs
parents:
diff changeset
   630
 */
hgs
parents:
diff changeset
   631
void TestWlanQtUtils::testCreateIapErr()
hgs
parents:
diff changeset
   632
{
hgs
parents:
diff changeset
   633
    // Execute createIap() function with invalid parameters
39
hgs
parents: 31
diff changeset
   634
    QScopedPointer<WlanQtUtilsAp> wlanAp(subTestNewAp());
hgs
parents: 31
diff changeset
   635
    wlanAp->setValue(WlanQtUtilsAp::ConfIdSsid, "testCreateIapErr");
hgs
parents: 31
diff changeset
   636
    wlanAp->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, false);
31
hgs
parents:
diff changeset
   637
    // Invalid security mode -> exception
39
hgs
parents: 31
diff changeset
   638
    wlanAp->setValue(
31
hgs
parents:
diff changeset
   639
        WlanQtUtilsAp::ConfIdSecurityMode,
hgs
parents:
diff changeset
   640
        CMManager::EWlanSecModeWAPI + 1111);
39
hgs
parents: 31
diff changeset
   641
    int iapId = wlanQtUtils_->createIap(wlanAp.data());
31
hgs
parents:
diff changeset
   642
    QVERIFY(iapId == WlanQtUtils::IapIdNone);
hgs
parents:
diff changeset
   643
}
hgs
parents:
diff changeset
   644
hgs
parents:
diff changeset
   645
/**
hgs
parents:
diff changeset
   646
 * This function tests creation of WLAN IAPs with different WEP keys.
hgs
parents:
diff changeset
   647
 */
hgs
parents:
diff changeset
   648
void TestWlanQtUtils::testCreateIapWepKeys()
hgs
parents:
diff changeset
   649
{
hgs
parents:
diff changeset
   650
    // Create the IAPs with different kind of WEP keys
39
hgs
parents: 31
diff changeset
   651
    QScopedPointer<WlanQtUtilsAp> wlanAp(subTestNewAp());
hgs
parents: 31
diff changeset
   652
    wlanAp->setValue(WlanQtUtilsAp::ConfIdSsid, "testCreateIapWepKeys");
hgs
parents: 31
diff changeset
   653
    wlanAp->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWep);
hgs
parents: 31
diff changeset
   654
    wlanAp->setValue(WlanQtUtilsAp::ConfIdWepDefaultIndex, CMManagerShim::WepKeyIndex2);
31
hgs
parents:
diff changeset
   655
    // All keys in HEX format
39
hgs
parents: 31
diff changeset
   656
    wlanAp->setValue(WlanQtUtilsAp::ConfIdWepKey1, "1234567891");
hgs
parents: 31
diff changeset
   657
    wlanAp->setValue(WlanQtUtilsAp::ConfIdWepKey2, "1234567891");
hgs
parents: 31
diff changeset
   658
    wlanAp->setValue(WlanQtUtilsAp::ConfIdWepKey3, "1234567891");
hgs
parents: 31
diff changeset
   659
    wlanAp->setValue(WlanQtUtilsAp::ConfIdWepKey4, "1234567891");
31
hgs
parents:
diff changeset
   660
39
hgs
parents: 31
diff changeset
   661
    int iapId = wlanQtUtils_->createIap(wlanAp.data());
31
hgs
parents:
diff changeset
   662
    QVERIFY(iapId != WlanQtUtils::IapIdNone);
hgs
parents:
diff changeset
   663
    
39
hgs
parents: 31
diff changeset
   664
    wlanAp->setValue(WlanQtUtilsAp::ConfIdWepDefaultIndex, CMManagerShim::WepKeyIndex3);
31
hgs
parents:
diff changeset
   665
    // All keys in ASCII format
39
hgs
parents: 31
diff changeset
   666
    wlanAp->setValue(WlanQtUtilsAp::ConfIdWepKey1, "12345");
hgs
parents: 31
diff changeset
   667
    wlanAp->setValue(WlanQtUtilsAp::ConfIdWepKey2, "12345");
hgs
parents: 31
diff changeset
   668
    wlanAp->setValue(WlanQtUtilsAp::ConfIdWepKey3, "12345");
hgs
parents: 31
diff changeset
   669
    wlanAp->setValue(WlanQtUtilsAp::ConfIdWepKey4, "12345");
31
hgs
parents:
diff changeset
   670
39
hgs
parents: 31
diff changeset
   671
    iapId = wlanQtUtils_->createIap(wlanAp.data());
31
hgs
parents:
diff changeset
   672
    QVERIFY(iapId != WlanQtUtils::IapIdNone);
hgs
parents:
diff changeset
   673
39
hgs
parents: 31
diff changeset
   674
    wlanAp->setValue(WlanQtUtilsAp::ConfIdWepDefaultIndex, CMManagerShim::WepKeyIndex4);
31
hgs
parents:
diff changeset
   675
    // Different keys, including a missing one
39
hgs
parents: 31
diff changeset
   676
    wlanAp->setValue(WlanQtUtilsAp::ConfIdWepKey1, "");
hgs
parents: 31
diff changeset
   677
    wlanAp->setValue(WlanQtUtilsAp::ConfIdWepKey2, "12345678911234567892123456");
hgs
parents: 31
diff changeset
   678
    wlanAp->setValue(WlanQtUtilsAp::ConfIdWepKey3, "12345");
hgs
parents: 31
diff changeset
   679
    wlanAp->setValue(WlanQtUtilsAp::ConfIdWepKey4, "1234567891123");
31
hgs
parents:
diff changeset
   680
39
hgs
parents: 31
diff changeset
   681
    iapId = wlanQtUtils_->createIap(wlanAp.data());
31
hgs
parents:
diff changeset
   682
    QVERIFY(iapId != WlanQtUtils::IapIdNone);
hgs
parents:
diff changeset
   683
}
hgs
parents:
diff changeset
   684
hgs
parents:
diff changeset
   685
/**
hgs
parents:
diff changeset
   686
 * This function tests updating of WLAN IAP in a succesful manner.
hgs
parents:
diff changeset
   687
 */
hgs
parents:
diff changeset
   688
void TestWlanQtUtils::testUpdateIapOk()
hgs
parents:
diff changeset
   689
{
hgs
parents:
diff changeset
   690
    // Create an IAP that can be updated
39
hgs
parents: 31
diff changeset
   691
    QScopedPointer<WlanQtUtilsAp> wlanAp(subTestNewAp());
hgs
parents: 31
diff changeset
   692
    wlanAp->setValue(WlanQtUtilsAp::ConfIdSsid, "testUpdateIapOk");
hgs
parents: 31
diff changeset
   693
    int iapId = wlanQtUtils_->createIap(wlanAp.data());
31
hgs
parents:
diff changeset
   694
hgs
parents:
diff changeset
   695
    // Update the name and verify it changed
39
hgs
parents: 31
diff changeset
   696
    wlanAp->setValue(WlanQtUtilsAp::ConfIdSsid, "UPDATED_testUpdateIapOk");
31
hgs
parents:
diff changeset
   697
39
hgs
parents: 31
diff changeset
   698
    bool success = wlanQtUtils_->updateIap(iapId, wlanAp.data());
31
hgs
parents:
diff changeset
   699
    QVERIFY(success == true);
hgs
parents:
diff changeset
   700
    QString name = wlanQtUtils_->iapName(iapId);
hgs
parents:
diff changeset
   701
    QCOMPARE(name, QString("UPDATED_testUpdateIapOk"));
hgs
parents:
diff changeset
   702
}
hgs
parents:
diff changeset
   703
hgs
parents:
diff changeset
   704
/**
hgs
parents:
diff changeset
   705
 * This function tests updating of WLAN IAP in unsuccesful manner.
hgs
parents:
diff changeset
   706
 */
hgs
parents:
diff changeset
   707
void TestWlanQtUtils::testUpdateIapErr()
hgs
parents:
diff changeset
   708
{
hgs
parents:
diff changeset
   709
    // Try to update a non-existing IAP
hgs
parents:
diff changeset
   710
    WlanQtUtilsAp wlanAp;
hgs
parents:
diff changeset
   711
    bool success = wlanQtUtils_->updateIap(200, &wlanAp);
hgs
parents:
diff changeset
   712
    QVERIFY(success == false);
hgs
parents:
diff changeset
   713
}
hgs
parents:
diff changeset
   714
hgs
parents:
diff changeset
   715
/**
hgs
parents:
diff changeset
   716
 * This function tests deletion of WLAN IAP in a succesful manner.
hgs
parents:
diff changeset
   717
 */
hgs
parents:
diff changeset
   718
void TestWlanQtUtils::testDeleteIapOk()
hgs
parents:
diff changeset
   719
{
hgs
parents:
diff changeset
   720
    // Create an IAP that can be deleted
39
hgs
parents: 31
diff changeset
   721
    QScopedPointer<WlanQtUtilsAp> wlanAp(subTestNewAp());
hgs
parents: 31
diff changeset
   722
    wlanAp->setValue(WlanQtUtilsAp::ConfIdSsid, "testDeleteIapOk");
hgs
parents: 31
diff changeset
   723
    int iapId = wlanQtUtils_->createIap(wlanAp.data());
31
hgs
parents:
diff changeset
   724
hgs
parents:
diff changeset
   725
    // Check that IAP now exists
hgs
parents:
diff changeset
   726
    QString name = wlanQtUtils_->iapName(iapId);
hgs
parents:
diff changeset
   727
    QCOMPARE(name, QString("testDeleteIapOk"));
hgs
parents:
diff changeset
   728
    
hgs
parents:
diff changeset
   729
    // Delete it and verify it does not exist anymore
hgs
parents:
diff changeset
   730
    wlanQtUtils_->deleteIap(iapId);
hgs
parents:
diff changeset
   731
    name = wlanQtUtils_->iapName(iapId);
hgs
parents:
diff changeset
   732
    QVERIFY(name.isEmpty());
hgs
parents:
diff changeset
   733
}
hgs
parents:
diff changeset
   734
hgs
parents:
diff changeset
   735
/**
hgs
parents:
diff changeset
   736
 * This function tests deletion of WLAN IAP in unsuccesful manner.
hgs
parents:
diff changeset
   737
 */
hgs
parents:
diff changeset
   738
void TestWlanQtUtils::testDeleteIapErr()
hgs
parents:
diff changeset
   739
{
hgs
parents:
diff changeset
   740
    // Try to delete a non-existing IAP
hgs
parents:
diff changeset
   741
    wlanQtUtils_->deleteIap(200);
hgs
parents:
diff changeset
   742
hgs
parents:
diff changeset
   743
    // No signals or return values to verify
hgs
parents:
diff changeset
   744
}
hgs
parents:
diff changeset
   745
hgs
parents:
diff changeset
   746
/**
hgs
parents:
diff changeset
   747
 * This function tests connecting to IAP in a succesful manner.
hgs
parents:
diff changeset
   748
 */
hgs
parents:
diff changeset
   749
void TestWlanQtUtils::testConnectIapOk()
hgs
parents:
diff changeset
   750
{
hgs
parents:
diff changeset
   751
    testContext.esock_.startRetValue_ = KErrNone;
hgs
parents:
diff changeset
   752
hgs
parents:
diff changeset
   753
    // Esock stub completes connection creation immediately
hgs
parents:
diff changeset
   754
    wlanQtUtils_->connectIap(5);
hgs
parents:
diff changeset
   755
hgs
parents:
diff changeset
   756
    // Connection creation in ConnMon interface
hgs
parents:
diff changeset
   757
    testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, 5);
hgs
parents:
diff changeset
   758
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
hgs
parents:
diff changeset
   759
        EConnMonCreateConnection,
hgs
parents:
diff changeset
   760
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
hgs
parents:
diff changeset
   761
hgs
parents:
diff changeset
   762
    // Connection status change in ConnMon interface
hgs
parents:
diff changeset
   763
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
hgs
parents:
diff changeset
   764
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
hgs
parents:
diff changeset
   765
        0,
hgs
parents:
diff changeset
   766
        KConnectionOpen));
hgs
parents:
diff changeset
   767
    
hgs
parents:
diff changeset
   768
    // Receive signal for connection opening (caused by connectIap, which completed immediately)
hgs
parents:
diff changeset
   769
    QList<QVariant> arguments;
hgs
parents:
diff changeset
   770
    subTestSignalWaitAndTake(signalWlanNetworkOpened_, &arguments); 
hgs
parents:
diff changeset
   771
    QCOMPARE(arguments.at(0).toInt(), 5); 
hgs
parents:
diff changeset
   772
hgs
parents:
diff changeset
   773
    // Connection status change to opened in ConnMon interface. Sub test cases between test
hgs
parents:
diff changeset
   774
    // cases check that no extra signals are sent
hgs
parents:
diff changeset
   775
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
hgs
parents:
diff changeset
   776
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
hgs
parents:
diff changeset
   777
        0,
hgs
parents:
diff changeset
   778
        KLinkLayerOpen));
hgs
parents:
diff changeset
   779
}
hgs
parents:
diff changeset
   780
hgs
parents:
diff changeset
   781
/**
hgs
parents:
diff changeset
   782
 * This function tests connecting to IAP in unsuccesful manner.
hgs
parents:
diff changeset
   783
 */
hgs
parents:
diff changeset
   784
void TestWlanQtUtils::testConnectIapErr()
hgs
parents:
diff changeset
   785
{
hgs
parents:
diff changeset
   786
    testContext.esock_.startRetValue_ = KErrGeneral;
hgs
parents:
diff changeset
   787
hgs
parents:
diff changeset
   788
    wlanQtUtils_->connectIap(7);
hgs
parents:
diff changeset
   789
hgs
parents:
diff changeset
   790
    testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, 7);
hgs
parents:
diff changeset
   791
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
hgs
parents:
diff changeset
   792
            EConnMonCreateConnection,
hgs
parents:
diff changeset
   793
            testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
hgs
parents:
diff changeset
   794
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
hgs
parents:
diff changeset
   795
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
hgs
parents:
diff changeset
   796
        0,
hgs
parents:
diff changeset
   797
        KConnectionOpen));
hgs
parents:
diff changeset
   798
    
hgs
parents:
diff changeset
   799
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
hgs
parents:
diff changeset
   800
            EConnMonDeleteConnection,
hgs
parents:
diff changeset
   801
            testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
hgs
parents:
diff changeset
   802
    
hgs
parents:
diff changeset
   803
    QList<QVariant> arguments;
hgs
parents:
diff changeset
   804
    subTestSignalWaitAndTake(signalWlanNetworkClosed_, &arguments); 
hgs
parents:
diff changeset
   805
    QCOMPARE(arguments.at(0).toInt(), 7);
hgs
parents:
diff changeset
   806
    QCOMPARE(arguments.at(1).toInt(), KErrGeneral);
hgs
parents:
diff changeset
   807
}
hgs
parents:
diff changeset
   808
hgs
parents:
diff changeset
   809
// TODO: testDisconnectFail cases are needed when fail branches are
hgs
parents:
diff changeset
   810
// implemented into the connmon wrapper
hgs
parents:
diff changeset
   811
/**
hgs
parents:
diff changeset
   812
 * This function tests IAP disconnecting functionality.
hgs
parents:
diff changeset
   813
 */
hgs
parents:
diff changeset
   814
void TestWlanQtUtils::testDisconnectIapOk()
hgs
parents:
diff changeset
   815
{
hgs
parents:
diff changeset
   816
    // Create and connect an IAP we can then disconnect
39
hgs
parents: 31
diff changeset
   817
    QScopedPointer<WlanQtUtilsAp> wlanAp(subTestNewAp());
hgs
parents: 31
diff changeset
   818
    wlanAp->setValue(WlanQtUtilsAp::ConfIdSsid, "testDisconnectIapOk");
hgs
parents: 31
diff changeset
   819
    wlanAp->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa);
31
hgs
parents:
diff changeset
   820
39
hgs
parents: 31
diff changeset
   821
    int iapId = wlanQtUtils_->createIap(wlanAp.data());
31
hgs
parents:
diff changeset
   822
    testContext.esock_.startRetValue_ = KErrNone;
hgs
parents:
diff changeset
   823
    wlanQtUtils_->connectIap(iapId);
hgs
parents:
diff changeset
   824
    QList<QVariant> arguments;
hgs
parents:
diff changeset
   825
    subTestSignalWaitAndTake(signalWlanNetworkOpened_, &arguments); 
hgs
parents:
diff changeset
   826
    QCOMPARE(arguments.at(0).toInt(), iapId); 
hgs
parents:
diff changeset
   827
    
hgs
parents:
diff changeset
   828
    // Make sure there is the newly created connection active and also
hgs
parents:
diff changeset
   829
    // another one to gain coverage
hgs
parents:
diff changeset
   830
    testContext.connMon_.activeConnections_.createDefaultActiveConnList(2, iapId - 1);
hgs
parents:
diff changeset
   831
    // The disconnect function does not have any return values or
hgs
parents:
diff changeset
   832
    // signals related to the disconnection, thus plain
hgs
parents:
diff changeset
   833
    // function call is done for the test.
hgs
parents:
diff changeset
   834
    wlanQtUtils_->disconnectIap(iapId);
hgs
parents:
diff changeset
   835
}
hgs
parents:
diff changeset
   836
hgs
parents:
diff changeset
   837
/**
hgs
parents:
diff changeset
   838
 * This function tests IAP disconnecting functionality when there is no
hgs
parents:
diff changeset
   839
 * IAP to disconnect.
hgs
parents:
diff changeset
   840
 */
hgs
parents:
diff changeset
   841
void TestWlanQtUtils::testDisconnectIapIgnored()
hgs
parents:
diff changeset
   842
{
hgs
parents:
diff changeset
   843
    testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, 150);
hgs
parents:
diff changeset
   844
    wlanQtUtils_->disconnectIap(200);
hgs
parents:
diff changeset
   845
    wlanQtUtils_->disconnectIap(WlanQtUtils::IapIdNone);
hgs
parents:
diff changeset
   846
}
hgs
parents:
diff changeset
   847
hgs
parents:
diff changeset
   848
/**
hgs
parents:
diff changeset
   849
 * This function tests connection status getter.
hgs
parents:
diff changeset
   850
 */
hgs
parents:
diff changeset
   851
void TestWlanQtUtils::testConnectionStatus()
hgs
parents:
diff changeset
   852
{
hgs
parents:
diff changeset
   853
    // Request status when there is no connection
hgs
parents:
diff changeset
   854
    WlanQtUtils::ConnStatus status = wlanQtUtils_->connectionStatus();
hgs
parents:
diff changeset
   855
    QCOMPARE(status, WlanQtUtils::ConnStatusDisconnected);
hgs
parents:
diff changeset
   856
    
hgs
parents:
diff changeset
   857
    // Make a connection and request its status
hgs
parents:
diff changeset
   858
    testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, 5);
hgs
parents:
diff changeset
   859
    // Send event for connection creation.
hgs
parents:
diff changeset
   860
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
hgs
parents:
diff changeset
   861
            EConnMonCreateConnection,
hgs
parents:
diff changeset
   862
            testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
hgs
parents:
diff changeset
   863
    // Send events for connection status change -> connecting
hgs
parents:
diff changeset
   864
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
hgs
parents:
diff changeset
   865
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
hgs
parents:
diff changeset
   866
        0,
hgs
parents:
diff changeset
   867
        KStartingConnection));
hgs
parents:
diff changeset
   868
hgs
parents:
diff changeset
   869
    // Request status when there is connection in connecting state
hgs
parents:
diff changeset
   870
    status = wlanQtUtils_->connectionStatus();
hgs
parents:
diff changeset
   871
    QCOMPARE(status, WlanQtUtils::ConnStatusConnecting);
hgs
parents:
diff changeset
   872
hgs
parents:
diff changeset
   873
    // Send events for connection status change -> connected
hgs
parents:
diff changeset
   874
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
hgs
parents:
diff changeset
   875
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
hgs
parents:
diff changeset
   876
        0,
hgs
parents:
diff changeset
   877
        KLinkLayerOpen));
hgs
parents:
diff changeset
   878
hgs
parents:
diff changeset
   879
    QList<QVariant> arguments;
hgs
parents:
diff changeset
   880
    subTestSignalWaitAndTake(signalWlanNetworkOpened_, &arguments);
hgs
parents:
diff changeset
   881
    QCOMPARE(arguments.at(0).toInt(), 5);
hgs
parents:
diff changeset
   882
hgs
parents:
diff changeset
   883
    // Request status when there is connection in connected state
hgs
parents:
diff changeset
   884
    status = wlanQtUtils_->connectionStatus();
hgs
parents:
diff changeset
   885
    QCOMPARE(status, WlanQtUtils::ConnStatusConnected);
hgs
parents:
diff changeset
   886
}
hgs
parents:
diff changeset
   887
hgs
parents:
diff changeset
   888
/**
hgs
parents:
diff changeset
   889
 * This function tests IAP name getter with existing IAP ID.
hgs
parents:
diff changeset
   890
 */
hgs
parents:
diff changeset
   891
void TestWlanQtUtils::testIapNameFound()
hgs
parents:
diff changeset
   892
{
hgs
parents:
diff changeset
   893
    // Create the IAP we want to find with the getter
39
hgs
parents: 31
diff changeset
   894
    QScopedPointer<WlanQtUtilsAp> wlanAp(subTestNewAp());
hgs
parents: 31
diff changeset
   895
    wlanAp->setValue(WlanQtUtilsAp::ConfIdSsid, "testIapFound");
hgs
parents: 31
diff changeset
   896
    wlanAp->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa2);
31
hgs
parents:
diff changeset
   897
39
hgs
parents: 31
diff changeset
   898
    int iapId = wlanQtUtils_->createIap(wlanAp.data());
31
hgs
parents:
diff changeset
   899
    
hgs
parents:
diff changeset
   900
    // Execute the function under test and check that we got the correct name
hgs
parents:
diff changeset
   901
    QString name = wlanQtUtils_->iapName(iapId);
hgs
parents:
diff changeset
   902
    QCOMPARE(name, QString("testIapFound"));
hgs
parents:
diff changeset
   903
}
hgs
parents:
diff changeset
   904
hgs
parents:
diff changeset
   905
/**
hgs
parents:
diff changeset
   906
 * This function tests IAP name getter with non-existing IAP ID.
hgs
parents:
diff changeset
   907
 */
hgs
parents:
diff changeset
   908
void TestWlanQtUtils::testIapNameNotFound()
hgs
parents:
diff changeset
   909
{
hgs
parents:
diff changeset
   910
    // Execute the function under test and check that we get no name as result
hgs
parents:
diff changeset
   911
    QString name = wlanQtUtils_->iapName(200); // id in valid range, but not found -> KErrNotFound
hgs
parents:
diff changeset
   912
    QVERIFY(name.isEmpty());
hgs
parents:
diff changeset
   913
hgs
parents:
diff changeset
   914
    name = wlanQtUtils_->iapName(1000); // id not in valid range -> KErrArgument
hgs
parents:
diff changeset
   915
    QVERIFY(name.isEmpty());
hgs
parents:
diff changeset
   916
hgs
parents:
diff changeset
   917
    name = wlanQtUtils_->iapName(3); // id of cellular IAP -> discarded
hgs
parents:
diff changeset
   918
    QVERIFY(name.isEmpty());
hgs
parents:
diff changeset
   919
}
hgs
parents:
diff changeset
   920
hgs
parents:
diff changeset
   921
/**
hgs
parents:
diff changeset
   922
 * This function tests active WLAN IAP getter with existing connection.
hgs
parents:
diff changeset
   923
 */
hgs
parents:
diff changeset
   924
void TestWlanQtUtils::testActiveIapFound()
hgs
parents:
diff changeset
   925
{
hgs
parents:
diff changeset
   926
    // Create the IAP we want to find with the getter
39
hgs
parents: 31
diff changeset
   927
    QScopedPointer<WlanQtUtilsAp> wlanAp(subTestNewAp());
hgs
parents: 31
diff changeset
   928
    wlanAp->setValue(WlanQtUtilsAp::ConfIdSsid, "testConnectedWlanIdFound");
hgs
parents: 31
diff changeset
   929
    wlanAp->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa);
31
hgs
parents:
diff changeset
   930
39
hgs
parents: 31
diff changeset
   931
    int iapId = wlanQtUtils_->createIap(wlanAp.data());
31
hgs
parents:
diff changeset
   932
    
hgs
parents:
diff changeset
   933
    testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, iapId);
hgs
parents:
diff changeset
   934
hgs
parents:
diff changeset
   935
    // Send event for connection creation.
hgs
parents:
diff changeset
   936
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
39
hgs
parents: 31
diff changeset
   937
        EConnMonCreateConnection,
hgs
parents: 31
diff changeset
   938
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
31
hgs
parents:
diff changeset
   939
hgs
parents:
diff changeset
   940
    // Send events for connection status change -> opened.
hgs
parents:
diff changeset
   941
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
hgs
parents:
diff changeset
   942
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
hgs
parents:
diff changeset
   943
        0,
hgs
parents:
diff changeset
   944
        KStartingConnection));
hgs
parents:
diff changeset
   945
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
hgs
parents:
diff changeset
   946
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
hgs
parents:
diff changeset
   947
        0,
hgs
parents:
diff changeset
   948
        KLinkLayerOpen));
hgs
parents:
diff changeset
   949
hgs
parents:
diff changeset
   950
    QList<QVariant> arguments;
hgs
parents:
diff changeset
   951
    subTestSignalWaitAndTake(signalWlanNetworkOpened_, &arguments);
hgs
parents:
diff changeset
   952
    QCOMPARE(arguments.at(0).toInt(), iapId);
hgs
parents:
diff changeset
   953
        
hgs
parents:
diff changeset
   954
    // Execute the function under test and check that we get valid ID as result
hgs
parents:
diff changeset
   955
    int id = wlanQtUtils_->activeIap();
hgs
parents:
diff changeset
   956
    QCOMPARE(id, iapId);
hgs
parents:
diff changeset
   957
}
hgs
parents:
diff changeset
   958
hgs
parents:
diff changeset
   959
/**
hgs
parents:
diff changeset
   960
 * This function tests active WLAN IAP getter with connection existing already during dll construction.
hgs
parents:
diff changeset
   961
 */
hgs
parents:
diff changeset
   962
void TestWlanQtUtils::testActiveIapFoundConstructor()
hgs
parents:
diff changeset
   963
{
hgs
parents:
diff changeset
   964
    // IAP IDs 4 and 5 exist in default commsdat file, 4 is GPRS, 5 is WLAN
hgs
parents:
diff changeset
   965
    testContext.connMon_.activeConnections_.createDefaultActiveConnList(2, 4);
hgs
parents:
diff changeset
   966
    testContext.connMon_.activeConnections_.activeConnList_[0]->connMonBearerType_ = EBearerGPRS;
hgs
parents:
diff changeset
   967
hgs
parents:
diff changeset
   968
    // Create a new instance in order to test functionality triggered in constructor.
hgs
parents:
diff changeset
   969
    WlanQtUtils *utils = new WlanQtUtils();
hgs
parents:
diff changeset
   970
hgs
parents:
diff changeset
   971
    // Execute the function under test and check that we get valid ID as result
hgs
parents:
diff changeset
   972
    int id = utils->activeIap();
hgs
parents:
diff changeset
   973
    QCOMPARE(id, 5);
hgs
parents:
diff changeset
   974
hgs
parents:
diff changeset
   975
    delete utils;
hgs
parents:
diff changeset
   976
}
hgs
parents:
diff changeset
   977
hgs
parents:
diff changeset
   978
/**
hgs
parents:
diff changeset
   979
 * This function tests active WLAN IAP getter without existing connection.
hgs
parents:
diff changeset
   980
 */
hgs
parents:
diff changeset
   981
void TestWlanQtUtils::testActiveIapNotFound()
hgs
parents:
diff changeset
   982
{
hgs
parents:
diff changeset
   983
    // Execute the function under test and check that we get invalid ID as result
hgs
parents:
diff changeset
   984
    int id = wlanQtUtils_->activeIap();
hgs
parents:
diff changeset
   985
    QCOMPARE(id, WlanQtUtils::IapIdNone);
hgs
parents:
diff changeset
   986
}
hgs
parents:
diff changeset
   987
hgs
parents:
diff changeset
   988
/**
hgs
parents:
diff changeset
   989
 * Test WLAN scan triggering interface.
hgs
parents:
diff changeset
   990
 */
hgs
parents:
diff changeset
   991
void TestWlanQtUtils::testScanWlans()
hgs
parents:
diff changeset
   992
{
hgs
parents:
diff changeset
   993
    // Execute function under test
hgs
parents:
diff changeset
   994
    wlanQtUtils_->scanWlans();
hgs
parents:
diff changeset
   995
hgs
parents:
diff changeset
   996
    // No need to verify scan results here, testAvailableWlan* test cases
hgs
parents:
diff changeset
   997
    // are for that. Just make sure the result signal is received.
39
hgs
parents: 31
diff changeset
   998
    subTestScanResultSignal(mSignalScanReady, WlanQtUtils::ScanStatusOk);
31
hgs
parents:
diff changeset
   999
}
hgs
parents:
diff changeset
  1000
hgs
parents:
diff changeset
  1001
/**
39
hgs
parents: 31
diff changeset
  1002
 * Test WLAN scan result ignoring & deletion during an ongoing request.
31
hgs
parents:
diff changeset
  1003
 */
hgs
parents:
diff changeset
  1004
void TestWlanQtUtils::testScanWlansIgnored()
hgs
parents:
diff changeset
  1005
{
hgs
parents:
diff changeset
  1006
    // Do not complete scan request immediately
39
hgs
parents: 31
diff changeset
  1007
    testContext.mScan.mCompleteWlanScan = false;
31
hgs
parents:
diff changeset
  1008
    
hgs
parents:
diff changeset
  1009
    // Execute function under test
hgs
parents:
diff changeset
  1010
    wlanQtUtils_->scanWlans();
hgs
parents:
diff changeset
  1011
hgs
parents:
diff changeset
  1012
    // Ongoing scan is cancelled in destructors
hgs
parents:
diff changeset
  1013
}
hgs
parents:
diff changeset
  1014
hgs
parents:
diff changeset
  1015
/**
hgs
parents:
diff changeset
  1016
 * Test WLAN scan stopping interface when scan is active.
hgs
parents:
diff changeset
  1017
 */
hgs
parents:
diff changeset
  1018
void TestWlanQtUtils::testStopWlanScanOk()
hgs
parents:
diff changeset
  1019
{
hgs
parents:
diff changeset
  1020
    // Do not complete scan request immediately
39
hgs
parents: 31
diff changeset
  1021
    testContext.mScan.mCompleteWlanScan = false;
31
hgs
parents:
diff changeset
  1022
    // Start a scan
hgs
parents:
diff changeset
  1023
    wlanQtUtils_->scanWlans();
hgs
parents:
diff changeset
  1024
    // Execute function under test
hgs
parents:
diff changeset
  1025
    wlanQtUtils_->stopWlanScan();
39
hgs
parents: 31
diff changeset
  1026
hgs
parents: 31
diff changeset
  1027
    // Catch & check the scan result signal
hgs
parents: 31
diff changeset
  1028
    subTestScanResultSignal(mSignalScanReady, WlanQtUtils::ScanStatusCancelled);
31
hgs
parents:
diff changeset
  1029
}
hgs
parents:
diff changeset
  1030
hgs
parents:
diff changeset
  1031
/**
hgs
parents:
diff changeset
  1032
 * Test WLAN scan stopping interface when no scan is ongoing.
hgs
parents:
diff changeset
  1033
 */
hgs
parents:
diff changeset
  1034
void TestWlanQtUtils::testStopWlanScanIgnored()
hgs
parents:
diff changeset
  1035
{
39
hgs
parents: 31
diff changeset
  1036
    // Stop without having an active scan
31
hgs
parents:
diff changeset
  1037
    wlanQtUtils_->stopWlanScan();
hgs
parents:
diff changeset
  1038
    
hgs
parents:
diff changeset
  1039
    // No return values or signals to verify
hgs
parents:
diff changeset
  1040
}
hgs
parents:
diff changeset
  1041
hgs
parents:
diff changeset
  1042
/**
hgs
parents:
diff changeset
  1043
 * This function tests Wlan network opening signal when network is not opened by the dll.
hgs
parents:
diff changeset
  1044
 */
hgs
parents:
diff changeset
  1045
void TestWlanQtUtils::testWlanNetworkOpened()
hgs
parents:
diff changeset
  1046
{
hgs
parents:
diff changeset
  1047
    testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, 5);
hgs
parents:
diff changeset
  1048
hgs
parents:
diff changeset
  1049
    // Send event for connection creation.
hgs
parents:
diff changeset
  1050
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
hgs
parents:
diff changeset
  1051
            EConnMonCreateConnection,
hgs
parents:
diff changeset
  1052
            testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
hgs
parents:
diff changeset
  1053
hgs
parents:
diff changeset
  1054
    // Send events for connection status change -> opened.
hgs
parents:
diff changeset
  1055
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
hgs
parents:
diff changeset
  1056
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
hgs
parents:
diff changeset
  1057
        0,
hgs
parents:
diff changeset
  1058
        KConnectionOpen));
hgs
parents:
diff changeset
  1059
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
hgs
parents:
diff changeset
  1060
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
hgs
parents:
diff changeset
  1061
        0,
hgs
parents:
diff changeset
  1062
        KConfigDaemonFinishedRegistration));
hgs
parents:
diff changeset
  1063
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
hgs
parents:
diff changeset
  1064
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
hgs
parents:
diff changeset
  1065
        0,
hgs
parents:
diff changeset
  1066
        KLinkLayerOpen));
hgs
parents:
diff changeset
  1067
hgs
parents:
diff changeset
  1068
    QList<QVariant> arguments;
hgs
parents:
diff changeset
  1069
    subTestSignalWaitAndTake(signalWlanNetworkOpened_, &arguments);
hgs
parents:
diff changeset
  1070
    QCOMPARE(arguments.at(0).toInt(), 5);
hgs
parents:
diff changeset
  1071
hgs
parents:
diff changeset
  1072
    // Send uninteresting event to gain coverage
hgs
parents:
diff changeset
  1073
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
hgs
parents:
diff changeset
  1074
        EConnMonNetworkStatusChange,
hgs
parents:
diff changeset
  1075
        10));
hgs
parents:
diff changeset
  1076
}
hgs
parents:
diff changeset
  1077
hgs
parents:
diff changeset
  1078
/**
hgs
parents:
diff changeset
  1079
 * This function tests Wlan network closing signal when network is not closed by the dll.
hgs
parents:
diff changeset
  1080
 */
hgs
parents:
diff changeset
  1081
void TestWlanQtUtils::testWlanNetworkClosed()
hgs
parents:
diff changeset
  1082
{
hgs
parents:
diff changeset
  1083
    // First create a connection
hgs
parents:
diff changeset
  1084
    testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, 5);
hgs
parents:
diff changeset
  1085
hgs
parents:
diff changeset
  1086
    // Send event for connection creation.
hgs
parents:
diff changeset
  1087
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
hgs
parents:
diff changeset
  1088
            EConnMonCreateConnection,
hgs
parents:
diff changeset
  1089
            testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
hgs
parents:
diff changeset
  1090
hgs
parents:
diff changeset
  1091
    // Send events for connection status change -> opened.
hgs
parents:
diff changeset
  1092
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
hgs
parents:
diff changeset
  1093
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
hgs
parents:
diff changeset
  1094
        0,
hgs
parents:
diff changeset
  1095
        KConnectionOpen));
hgs
parents:
diff changeset
  1096
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
hgs
parents:
diff changeset
  1097
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
hgs
parents:
diff changeset
  1098
        0,
hgs
parents:
diff changeset
  1099
        KLinkLayerOpen));
hgs
parents:
diff changeset
  1100
hgs
parents:
diff changeset
  1101
    QList<QVariant> arguments;
hgs
parents:
diff changeset
  1102
    subTestSignalWaitAndTake(signalWlanNetworkOpened_, &arguments);
hgs
parents:
diff changeset
  1103
    QCOMPARE(arguments.at(0).toInt(), 5);
hgs
parents:
diff changeset
  1104
hgs
parents:
diff changeset
  1105
    // Send event for connection status change -> closed.
hgs
parents:
diff changeset
  1106
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
hgs
parents:
diff changeset
  1107
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
hgs
parents:
diff changeset
  1108
        0,
hgs
parents:
diff changeset
  1109
        KLinkLayerClosed));
hgs
parents:
diff changeset
  1110
hgs
parents:
diff changeset
  1111
    // Send event for connection deletion.
hgs
parents:
diff changeset
  1112
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
hgs
parents:
diff changeset
  1113
            EConnMonDeleteConnection,
hgs
parents:
diff changeset
  1114
            testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
hgs
parents:
diff changeset
  1115
hgs
parents:
diff changeset
  1116
    subTestSignalWaitAndTake(signalWlanNetworkClosed_, &arguments);
hgs
parents:
diff changeset
  1117
    QCOMPARE(arguments.at(0).toInt(), 5);
hgs
parents:
diff changeset
  1118
    QCOMPARE(arguments.at(1).toInt(), KErrNone);
hgs
parents:
diff changeset
  1119
}
hgs
parents:
diff changeset
  1120
hgs
parents:
diff changeset
  1121
/**
hgs
parents:
diff changeset
  1122
 * This function tests WlanQtUtilsAp copy constructor.
hgs
parents:
diff changeset
  1123
 */
hgs
parents:
diff changeset
  1124
void TestWlanQtUtils::testApCopyConstructor()
hgs
parents:
diff changeset
  1125
{
hgs
parents:
diff changeset
  1126
    WlanQtUtilsAp firstAp;
hgs
parents:
diff changeset
  1127
    firstAp.setValue(WlanQtUtilsAp::ConfIdSsid, "testApCopyConstructor");
39
hgs
parents: 31
diff changeset
  1128
    firstAp.setValue(WlanQtUtilsAp::ConfIdSignalStrength, 90);
31
hgs
parents:
diff changeset
  1129
    firstAp.setValue(WlanQtUtilsAp::ConfIdConnectionMode, CMManagerShim::Infra);
hgs
parents:
diff changeset
  1130
    firstAp.setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
  1131
    firstAp.setValue(WlanQtUtilsAp::ConfIdWpaPskUse, true);    
hgs
parents:
diff changeset
  1132
    firstAp.setValue(WlanQtUtilsAp::ConfIdWpaPsk, "100euronlounas");
hgs
parents:
diff changeset
  1133
    
hgs
parents:
diff changeset
  1134
    // Create the copy AP
hgs
parents:
diff changeset
  1135
    WlanQtUtilsAp secondAp(firstAp);
hgs
parents:
diff changeset
  1136
    QCOMPARE(secondAp.value(WlanQtUtilsAp::ConfIdSsid).toString(), QString("testApCopyConstructor"));
hgs
parents:
diff changeset
  1137
    QCOMPARE(secondAp.value(WlanQtUtilsAp::ConfIdSecurityMode).toInt(), (int)(CMManagerShim::WlanSecModeWpa));
hgs
parents:
diff changeset
  1138
    QCOMPARE(secondAp.value(WlanQtUtilsAp::ConfIdWpaPskUse).toBool(), true);
hgs
parents:
diff changeset
  1139
    QCOMPARE(secondAp.value(WlanQtUtilsAp::ConfIdSignalStrength).toInt(), 90);
hgs
parents:
diff changeset
  1140
    QCOMPARE(secondAp.value(WlanQtUtilsAp::ConfIdConnectionMode).toInt(), (int)(CMManagerShim::Infra));
hgs
parents:
diff changeset
  1141
    QCOMPARE(secondAp.value(WlanQtUtilsAp::ConfIdWpaPsk).toString(), QString("100euronlounas"));
hgs
parents:
diff changeset
  1142
}
hgs
parents:
diff changeset
  1143
hgs
parents:
diff changeset
  1144
/**
hgs
parents:
diff changeset
  1145
 * This function tests ICT when connection test passes.
hgs
parents:
diff changeset
  1146
 */
hgs
parents:
diff changeset
  1147
void TestWlanQtUtils::testConnectionTestOk()
hgs
parents:
diff changeset
  1148
{
hgs
parents:
diff changeset
  1149
    // Create new IAP to test
39
hgs
parents: 31
diff changeset
  1150
    QScopedPointer<WlanQtUtilsAp> wlanAp(subTestNewAp());
hgs
parents: 31
diff changeset
  1151
    wlanAp->setValue(WlanQtUtilsAp::ConfIdSsid, "testConnectionTestOk");
hgs
parents: 31
diff changeset
  1152
    int iapId = wlanQtUtils_->createIap(wlanAp.data());
31
hgs
parents:
diff changeset
  1153
    QVERIFY(iapId != WlanQtUtils::IapIdNone);
hgs
parents:
diff changeset
  1154
hgs
parents:
diff changeset
  1155
    testContext.esock_.startRetValue_ = KErrNone;
hgs
parents:
diff changeset
  1156
hgs
parents:
diff changeset
  1157
    // Esock stub completes connection creation immediately
hgs
parents:
diff changeset
  1158
    wlanQtUtils_->connectIap(iapId, true);
hgs
parents:
diff changeset
  1159
hgs
parents:
diff changeset
  1160
    // Connection creation in ConnMon interface
hgs
parents:
diff changeset
  1161
    testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, iapId);
hgs
parents:
diff changeset
  1162
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
hgs
parents:
diff changeset
  1163
            EConnMonCreateConnection,
hgs
parents:
diff changeset
  1164
            testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
hgs
parents:
diff changeset
  1165
hgs
parents:
diff changeset
  1166
    // Connection status change in ConnMon interface
hgs
parents:
diff changeset
  1167
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
hgs
parents:
diff changeset
  1168
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
hgs
parents:
diff changeset
  1169
        0,
hgs
parents:
diff changeset
  1170
        KConnectionOpen));
hgs
parents:
diff changeset
  1171
    
hgs
parents:
diff changeset
  1172
    // Receive signal for connection opening (caused by connectIap, which completed immediately)
hgs
parents:
diff changeset
  1173
    QList<QVariant> arguments;
hgs
parents:
diff changeset
  1174
    subTestSignalWaitAndTake(signalWlanNetworkOpened_, &arguments); 
hgs
parents:
diff changeset
  1175
    QCOMPARE(arguments.at(0).toInt(), iapId); 
hgs
parents:
diff changeset
  1176
hgs
parents:
diff changeset
  1177
    // Connection status change to opened in ConnMon interface. Sub test cases between test
hgs
parents:
diff changeset
  1178
    // cases check that no extra signals are sent
hgs
parents:
diff changeset
  1179
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
hgs
parents:
diff changeset
  1180
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
hgs
parents:
diff changeset
  1181
        0,
hgs
parents:
diff changeset
  1182
        KLinkLayerOpen));
hgs
parents:
diff changeset
  1183
hgs
parents:
diff changeset
  1184
    // Connection test automatically started at this point. Call result function explicitly
hgs
parents:
diff changeset
  1185
    // No interface exists that we could check that the IAP is moved to Internet SNAP correctly
43
hgs
parents: 39
diff changeset
  1186
    wlanQtUtils_->d_ptr->updateIctResult(IctsWlanLoginInterface::IctsPassed);
31
hgs
parents:
diff changeset
  1187
43
hgs
parents: 39
diff changeset
  1188
    subTestSignalWaitAndTake(signalIctResult_, &arguments);
31
hgs
parents:
diff changeset
  1189
    QCOMPARE(arguments.at(0).toInt(), iapId); 
43
hgs
parents: 39
diff changeset
  1190
    QCOMPARE(arguments.at(1).toInt(), (int)WlanQtUtils::IctPassed);
31
hgs
parents:
diff changeset
  1191
}
hgs
parents:
diff changeset
  1192
hgs
parents:
diff changeset
  1193
/**
hgs
parents:
diff changeset
  1194
 * This function tests ICT when connection test fails.
hgs
parents:
diff changeset
  1195
 */
hgs
parents:
diff changeset
  1196
void TestWlanQtUtils::testConnectionTestErr()
hgs
parents:
diff changeset
  1197
{
hgs
parents:
diff changeset
  1198
    // Create and connect an IAP and request ICT to be run
39
hgs
parents: 31
diff changeset
  1199
    QScopedPointer<WlanQtUtilsAp> wlanAp(subTestNewAp());
43
hgs
parents: 39
diff changeset
  1200
    wlanAp->setValue(WlanQtUtilsAp::ConfIdSsid, "testConnectionTestErr1");
39
hgs
parents: 31
diff changeset
  1201
    wlanAp->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa);
31
hgs
parents:
diff changeset
  1202
    
39
hgs
parents: 31
diff changeset
  1203
    int iapId = wlanQtUtils_->createIap(wlanAp.data());
31
hgs
parents:
diff changeset
  1204
    wlanQtUtils_->connectIap(iapId, true);
hgs
parents:
diff changeset
  1205
hgs
parents:
diff changeset
  1206
    testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, iapId);
hgs
parents:
diff changeset
  1207
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
hgs
parents:
diff changeset
  1208
            EConnMonCreateConnection,
hgs
parents:
diff changeset
  1209
            testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
hgs
parents:
diff changeset
  1210
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
hgs
parents:
diff changeset
  1211
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
hgs
parents:
diff changeset
  1212
        0,
hgs
parents:
diff changeset
  1213
        KConnectionOpen));
hgs
parents:
diff changeset
  1214
    QList<QVariant> arguments;
hgs
parents:
diff changeset
  1215
    subTestSignalWaitAndTake(signalWlanNetworkOpened_, &arguments); 
hgs
parents:
diff changeset
  1216
    QCOMPARE(arguments.at(0).toInt(), iapId); 
hgs
parents:
diff changeset
  1217
hgs
parents:
diff changeset
  1218
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
hgs
parents:
diff changeset
  1219
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
hgs
parents:
diff changeset
  1220
        0,
hgs
parents:
diff changeset
  1221
        KLinkLayerOpen));
hgs
parents:
diff changeset
  1222
hgs
parents:
diff changeset
  1223
    // Connection test automatically started at this point. Call result function explicitly
hgs
parents:
diff changeset
  1224
    // No interface exists that we could check that IAP is not moved to another SNAP
43
hgs
parents: 39
diff changeset
  1225
    wlanQtUtils_->d_ptr->updateIctResult(IctsWlanLoginInterface::IctsFailed);
hgs
parents: 39
diff changeset
  1226
hgs
parents: 39
diff changeset
  1227
    subTestSignalWaitAndTake(signalIctResult_, &arguments);
hgs
parents: 39
diff changeset
  1228
    QCOMPARE(arguments.at(0).toInt(), iapId); 
hgs
parents: 39
diff changeset
  1229
    QCOMPARE(arguments.at(1).toInt(), (int)WlanQtUtils::IctFailed);
hgs
parents: 39
diff changeset
  1230
hgs
parents: 39
diff changeset
  1231
    // Repeat with cancel status
hgs
parents: 39
diff changeset
  1232
    // Send event for connection status change -> closed.
hgs
parents: 39
diff changeset
  1233
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
hgs
parents: 39
diff changeset
  1234
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
hgs
parents: 39
diff changeset
  1235
        0,
hgs
parents: 39
diff changeset
  1236
        KLinkLayerClosed));
hgs
parents: 39
diff changeset
  1237
hgs
parents: 39
diff changeset
  1238
    // Send event for connection deletion.
hgs
parents: 39
diff changeset
  1239
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
hgs
parents: 39
diff changeset
  1240
            EConnMonDeleteConnection,
hgs
parents: 39
diff changeset
  1241
            testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
hgs
parents: 39
diff changeset
  1242
hgs
parents: 39
diff changeset
  1243
    subTestSignalWaitAndTake(signalWlanNetworkClosed_, &arguments);
hgs
parents: 39
diff changeset
  1244
    QCOMPARE(arguments.at(0).toInt(), iapId);
hgs
parents: 39
diff changeset
  1245
    QCOMPARE(arguments.at(1).toInt(), KErrNone);
hgs
parents: 39
diff changeset
  1246
hgs
parents: 39
diff changeset
  1247
    wlanAp->setValue(WlanQtUtilsAp::ConfIdSsid, "testConnectionTestErr2");
hgs
parents: 39
diff changeset
  1248
    
hgs
parents: 39
diff changeset
  1249
    iapId = wlanQtUtils_->createIap(wlanAp.data());
hgs
parents: 39
diff changeset
  1250
    wlanQtUtils_->connectIap(iapId, true);
hgs
parents: 39
diff changeset
  1251
hgs
parents: 39
diff changeset
  1252
    testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, iapId);
hgs
parents: 39
diff changeset
  1253
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
hgs
parents: 39
diff changeset
  1254
            EConnMonCreateConnection,
hgs
parents: 39
diff changeset
  1255
            testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
hgs
parents: 39
diff changeset
  1256
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
hgs
parents: 39
diff changeset
  1257
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
hgs
parents: 39
diff changeset
  1258
        0,
hgs
parents: 39
diff changeset
  1259
        KConnectionOpen));
hgs
parents: 39
diff changeset
  1260
    subTestSignalWaitAndTake(signalWlanNetworkOpened_, &arguments); 
hgs
parents: 39
diff changeset
  1261
    QCOMPARE(arguments.at(0).toInt(), iapId); 
hgs
parents: 39
diff changeset
  1262
hgs
parents: 39
diff changeset
  1263
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
hgs
parents: 39
diff changeset
  1264
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
hgs
parents: 39
diff changeset
  1265
        0,
hgs
parents: 39
diff changeset
  1266
        KLinkLayerOpen));
hgs
parents: 39
diff changeset
  1267
hgs
parents: 39
diff changeset
  1268
    // Connection test automatically started at this point. Call result function explicitly
hgs
parents: 39
diff changeset
  1269
    // No interface exists that we could check that IAP is not moved to another SNAP
hgs
parents: 39
diff changeset
  1270
    wlanQtUtils_->d_ptr->updateIctResult(IctsWlanLoginInterface::IctsCanceled);
hgs
parents: 39
diff changeset
  1271
hgs
parents: 39
diff changeset
  1272
    subTestSignalWaitAndTake(signalIctResult_, &arguments);
hgs
parents: 39
diff changeset
  1273
    QCOMPARE(arguments.at(0).toInt(), iapId); 
hgs
parents: 39
diff changeset
  1274
    QCOMPARE(arguments.at(1).toInt(), (int)WlanQtUtils::IctCancelled);
hgs
parents: 39
diff changeset
  1275
}
31
hgs
parents:
diff changeset
  1276
43
hgs
parents: 39
diff changeset
  1277
/**
hgs
parents: 39
diff changeset
  1278
 * This function tests ICT when connection test passes in hotspot case.
hgs
parents: 39
diff changeset
  1279
 */
hgs
parents: 39
diff changeset
  1280
void TestWlanQtUtils::testConnectionTestHotspot()
hgs
parents: 39
diff changeset
  1281
{
hgs
parents: 39
diff changeset
  1282
    // Create new IAP to test
hgs
parents: 39
diff changeset
  1283
    QScopedPointer<WlanQtUtilsAp> wlanAp(subTestNewAp());
hgs
parents: 39
diff changeset
  1284
    wlanAp->setValue(WlanQtUtilsAp::ConfIdSsid, "testConnectionTestHotspot");
hgs
parents: 39
diff changeset
  1285
    int iapId = wlanQtUtils_->createIap(wlanAp.data());
hgs
parents: 39
diff changeset
  1286
    QVERIFY(iapId != WlanQtUtils::IapIdNone);
hgs
parents: 39
diff changeset
  1287
hgs
parents: 39
diff changeset
  1288
    testContext.esock_.startRetValue_ = KErrNone;
hgs
parents: 39
diff changeset
  1289
hgs
parents: 39
diff changeset
  1290
    // Esock stub completes connection creation immediately
hgs
parents: 39
diff changeset
  1291
    wlanQtUtils_->connectIap(iapId, true);
hgs
parents: 39
diff changeset
  1292
hgs
parents: 39
diff changeset
  1293
    // Connection creation in ConnMon interface
hgs
parents: 39
diff changeset
  1294
    testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, iapId);
hgs
parents: 39
diff changeset
  1295
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
hgs
parents: 39
diff changeset
  1296
            EConnMonCreateConnection,
hgs
parents: 39
diff changeset
  1297
            testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
hgs
parents: 39
diff changeset
  1298
hgs
parents: 39
diff changeset
  1299
    // Connection status change in ConnMon interface
hgs
parents: 39
diff changeset
  1300
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
hgs
parents: 39
diff changeset
  1301
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
hgs
parents: 39
diff changeset
  1302
        0,
hgs
parents: 39
diff changeset
  1303
        KConnectionOpen));
hgs
parents: 39
diff changeset
  1304
    
hgs
parents: 39
diff changeset
  1305
    // Receive signal for connection opening (caused by connectIap, which completed immediately)
hgs
parents: 39
diff changeset
  1306
    QList<QVariant> arguments;
hgs
parents: 39
diff changeset
  1307
    subTestSignalWaitAndTake(signalWlanNetworkOpened_, &arguments); 
31
hgs
parents:
diff changeset
  1308
    QCOMPARE(arguments.at(0).toInt(), iapId); 
43
hgs
parents: 39
diff changeset
  1309
hgs
parents: 39
diff changeset
  1310
    // Connection status change to opened in ConnMon interface. Sub test cases between test
hgs
parents: 39
diff changeset
  1311
    // cases check that no extra signals are sent
hgs
parents: 39
diff changeset
  1312
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
hgs
parents: 39
diff changeset
  1313
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
hgs
parents: 39
diff changeset
  1314
        0,
hgs
parents: 39
diff changeset
  1315
        KLinkLayerOpen));
hgs
parents: 39
diff changeset
  1316
hgs
parents: 39
diff changeset
  1317
    // Connection test automatically started at this point.
hgs
parents: 39
diff changeset
  1318
    // Call hotspot case slot explicitly
hgs
parents: 39
diff changeset
  1319
    wlanQtUtils_->d_ptr->updateIctHotspotCase();
hgs
parents: 39
diff changeset
  1320
    
hgs
parents: 39
diff changeset
  1321
    // Call result function explicitly
hgs
parents: 39
diff changeset
  1322
    // No interface exists that we could check that the IAP is not moved to another SNAP
hgs
parents: 39
diff changeset
  1323
    wlanQtUtils_->d_ptr->updateIctResult(IctsWlanLoginInterface::IctsHotspotPassed);
hgs
parents: 39
diff changeset
  1324
hgs
parents: 39
diff changeset
  1325
    subTestSignalWaitAndTake(signalIctResult_, &arguments);
hgs
parents: 39
diff changeset
  1326
    QCOMPARE(arguments.at(0).toInt(), iapId); 
hgs
parents: 39
diff changeset
  1327
    QCOMPARE(arguments.at(1).toInt(), (int)WlanQtUtils::IctHotspotPassed);
31
hgs
parents:
diff changeset
  1328
}
hgs
parents:
diff changeset
  1329
hgs
parents:
diff changeset
  1330
/**
hgs
parents:
diff changeset
  1331
 * This function tests that Gprs connection events are ignored.
hgs
parents:
diff changeset
  1332
 */
hgs
parents:
diff changeset
  1333
void TestWlanQtUtils::testConnMonEventGprs()
hgs
parents:
diff changeset
  1334
{
hgs
parents:
diff changeset
  1335
    // First create a connection
hgs
parents:
diff changeset
  1336
    testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, 4);
hgs
parents:
diff changeset
  1337
    testContext.connMon_.activeConnections_.activeConnList_[0]->connMonBearerType_ = EBearerGPRS;
hgs
parents:
diff changeset
  1338
    
hgs
parents:
diff changeset
  1339
    // Send event for connection creation.
hgs
parents:
diff changeset
  1340
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
hgs
parents:
diff changeset
  1341
            EConnMonCreateConnection,
hgs
parents:
diff changeset
  1342
            testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
hgs
parents:
diff changeset
  1343
hgs
parents:
diff changeset
  1344
    // Send events for connection status change -> opened.
hgs
parents:
diff changeset
  1345
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
hgs
parents:
diff changeset
  1346
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
hgs
parents:
diff changeset
  1347
        0,
hgs
parents:
diff changeset
  1348
        KConnectionOpen));
hgs
parents:
diff changeset
  1349
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
hgs
parents:
diff changeset
  1350
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
hgs
parents:
diff changeset
  1351
        0,
hgs
parents:
diff changeset
  1352
        KLinkLayerOpen));
hgs
parents:
diff changeset
  1353
hgs
parents:
diff changeset
  1354
    // Send event for connection status change -> closed.
hgs
parents:
diff changeset
  1355
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
hgs
parents:
diff changeset
  1356
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
hgs
parents:
diff changeset
  1357
        0,
hgs
parents:
diff changeset
  1358
        KLinkLayerClosed));
hgs
parents:
diff changeset
  1359
hgs
parents:
diff changeset
  1360
    // Send event for connection deletion.
hgs
parents:
diff changeset
  1361
    wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
hgs
parents:
diff changeset
  1362
            EConnMonDeleteConnection,
hgs
parents:
diff changeset
  1363
            testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
hgs
parents:
diff changeset
  1364
}
hgs
parents:
diff changeset
  1365
hgs
parents:
diff changeset
  1366
/**
hgs
parents:
diff changeset
  1367
 * This function tests ConnMon event handling with connection existing already during dll construction.
hgs
parents:
diff changeset
  1368
 */
hgs
parents:
diff changeset
  1369
void TestWlanQtUtils::testConnMonEventCreatedBeforeConstructor()
hgs
parents:
diff changeset
  1370
{
hgs
parents:
diff changeset
  1371
    // IAP ID 5 exists in default commsdat file
hgs
parents:
diff changeset
  1372
    testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, 5);
hgs
parents:
diff changeset
  1373
hgs
parents:
diff changeset
  1374
    // Create a new instance in order to test functionality triggered in constructor.
hgs
parents:
diff changeset
  1375
    WlanQtUtils *utils = new WlanQtUtils();
hgs
parents:
diff changeset
  1376
hgs
parents:
diff changeset
  1377
    QSignalSpy *signalWlanNetworkOpened = new QSignalSpy(utils, SIGNAL(wlanNetworkOpened(int)));
hgs
parents:
diff changeset
  1378
    QVERIFY(signalWlanNetworkOpened->isValid() == true);
hgs
parents:
diff changeset
  1379
    QSignalSpy *signalWlanNetworkClosed = new QSignalSpy(utils, SIGNAL(wlanNetworkClosed(int, int)));
hgs
parents:
diff changeset
  1380
    QVERIFY(signalWlanNetworkClosed->isValid() == true);
hgs
parents:
diff changeset
  1381
    
hgs
parents:
diff changeset
  1382
    // Send events for connection status change -> opened.
hgs
parents:
diff changeset
  1383
    utils->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
hgs
parents:
diff changeset
  1384
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
hgs
parents:
diff changeset
  1385
        0,
hgs
parents:
diff changeset
  1386
        KConnectionOpen));
hgs
parents:
diff changeset
  1387
    utils->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
hgs
parents:
diff changeset
  1388
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
hgs
parents:
diff changeset
  1389
        0,
hgs
parents:
diff changeset
  1390
        KLinkLayerOpen));
hgs
parents:
diff changeset
  1391
hgs
parents:
diff changeset
  1392
    QList<QVariant> arguments;
hgs
parents:
diff changeset
  1393
    subTestSignalWaitAndTake(signalWlanNetworkOpened, &arguments);
hgs
parents:
diff changeset
  1394
    QCOMPARE(arguments.at(0).toInt(), 5);
hgs
parents:
diff changeset
  1395
hgs
parents:
diff changeset
  1396
    // Send event for connection status change -> closed.
hgs
parents:
diff changeset
  1397
    utils->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
hgs
parents:
diff changeset
  1398
        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
hgs
parents:
diff changeset
  1399
        0,
hgs
parents:
diff changeset
  1400
        KLinkLayerClosed));
hgs
parents:
diff changeset
  1401
hgs
parents:
diff changeset
  1402
    // Send event for connection deletion.
hgs
parents:
diff changeset
  1403
    utils->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
hgs
parents:
diff changeset
  1404
            EConnMonDeleteConnection,
hgs
parents:
diff changeset
  1405
            testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
hgs
parents:
diff changeset
  1406
hgs
parents:
diff changeset
  1407
    subTestSignalWaitAndTake(signalWlanNetworkClosed, &arguments);
hgs
parents:
diff changeset
  1408
    QCOMPARE(arguments.at(0).toInt(), 5);
hgs
parents:
diff changeset
  1409
    QCOMPARE(arguments.at(1).toInt(), KErrNone);
hgs
parents:
diff changeset
  1410
    
hgs
parents:
diff changeset
  1411
    delete signalWlanNetworkOpened;
hgs
parents:
diff changeset
  1412
    delete signalWlanNetworkClosed;
hgs
parents:
diff changeset
  1413
    delete utils;
hgs
parents:
diff changeset
  1414
}
hgs
parents:
diff changeset
  1415
hgs
parents:
diff changeset
  1416
// ---------------------------------------------------------
hgs
parents:
diff changeset
  1417
// SUB TEST CASES
hgs
parents:
diff changeset
  1418
// ---------------------------------------------------------
hgs
parents:
diff changeset
  1419
hgs
parents:
diff changeset
  1420
/**
hgs
parents:
diff changeset
  1421
 * This function waits for active objects to get time to run, takes the arguments of the
hgs
parents:
diff changeset
  1422
 * first signal and returns them from the given signal spy.
hgs
parents:
diff changeset
  1423
 * This function also verifies that the number of signals is 1.
hgs
parents:
diff changeset
  1424
 * 
hgs
parents:
diff changeset
  1425
 * @param[in] spy Signal spy.
hgs
parents:
diff changeset
  1426
 * @param[out] arguments Arguments of the first signal in the given signal spy. NULL if arguments not needed.
hgs
parents:
diff changeset
  1427
 */
hgs
parents:
diff changeset
  1428
void TestWlanQtUtils::subTestSignalWaitAndTake(QSignalSpy* spy, QList<QVariant>* arguments)
hgs
parents:
diff changeset
  1429
{
hgs
parents:
diff changeset
  1430
    QTest::qWait(1);
hgs
parents:
diff changeset
  1431
    QCOMPARE(spy->count(), 1);
hgs
parents:
diff changeset
  1432
    QList<QVariant> arguments_tmp = spy->takeFirst();
hgs
parents:
diff changeset
  1433
    if (arguments != NULL) {
hgs
parents:
diff changeset
  1434
        *arguments = arguments_tmp;
hgs
parents:
diff changeset
  1435
    }
hgs
parents:
diff changeset
  1436
}
hgs
parents:
diff changeset
  1437
hgs
parents:
diff changeset
  1438
/**
39
hgs
parents: 31
diff changeset
  1439
 * Test case for catching and verifying the scan result signal.
hgs
parents: 31
diff changeset
  1440
 * 
hgs
parents: 31
diff changeset
  1441
 * @param [in] status Scan result status.
hgs
parents: 31
diff changeset
  1442
 */
hgs
parents: 31
diff changeset
  1443
void TestWlanQtUtils::subTestScanResultSignal(QSignalSpy* spy, int status)
hgs
parents: 31
diff changeset
  1444
{
hgs
parents: 31
diff changeset
  1445
    QList<QVariant> arguments;
hgs
parents: 31
diff changeset
  1446
    subTestSignalWaitAndTake(spy, &arguments);
hgs
parents: 31
diff changeset
  1447
    QCOMPARE(arguments.length(), 1);
hgs
parents: 31
diff changeset
  1448
    QCOMPARE(arguments.at(0).toInt(), status);
hgs
parents: 31
diff changeset
  1449
}
hgs
parents: 31
diff changeset
  1450
hgs
parents: 31
diff changeset
  1451
/**
31
hgs
parents:
diff changeset
  1452
 * This function loads given CommsDat file, replacing current one.
hgs
parents:
diff changeset
  1453
 * If CommsDat file doesn't exist, it can be re-created by commanding WST script.
hgs
parents:
diff changeset
  1454
 * Using help switch is a quick way:
hgs
parents:
diff changeset
  1455
 *     run_wst HELP
hgs
parents:
diff changeset
  1456
 * 
hgs
parents:
diff changeset
  1457
 * @param newCommsdatFilename Filename of the new CommsDat to be loaded. 
hgs
parents:
diff changeset
  1458
 */
hgs
parents:
diff changeset
  1459
void TestWlanQtUtils::subTestLoadCommsDatFile(QString newCommsdatFilename)
hgs
parents:
diff changeset
  1460
{
hgs
parents:
diff changeset
  1461
    // EPOC's CommsDat filename   
hgs
parents:
diff changeset
  1462
    const QString epocCommsdatFilename("cccccc00.cre");
hgs
parents:
diff changeset
  1463
    // EPOC's directory for CommsDat file
hgs
parents:
diff changeset
  1464
    const QString commsdatDir("c:\\private\\10202be9\\persists\\");
hgs
parents:
diff changeset
  1465
    // Created backup directory under EPOC for CommsDat files
hgs
parents:
diff changeset
  1466
    const QString storeDir("c:\\private\\10202be9\\persists\\backup\\");
hgs
parents:
diff changeset
  1467
    QString nameOld = commsdatDir + epocCommsdatFilename;
hgs
parents:
diff changeset
  1468
    QString nameDefault = storeDir + newCommsdatFilename;
hgs
parents:
diff changeset
  1469
hgs
parents:
diff changeset
  1470
    // First remove the old CommsDat file.
hgs
parents:
diff changeset
  1471
    Q_ASSERT(QFile::remove(nameOld) == TRUE);
hgs
parents:
diff changeset
  1472
    
hgs
parents:
diff changeset
  1473
    // Copy the stored default CommsDat file.
hgs
parents:
diff changeset
  1474
    Q_ASSERT(QFile::copy(nameDefault, nameOld) == TRUE);
hgs
parents:
diff changeset
  1475
}
hgs
parents:
diff changeset
  1476
hgs
parents:
diff changeset
  1477
/**
hgs
parents:
diff changeset
  1478
 * 
hgs
parents:
diff changeset
  1479
 */
hgs
parents:
diff changeset
  1480
void TestWlanQtUtils::subTestNewWlanQtUtils()
hgs
parents:
diff changeset
  1481
{
39
hgs
parents: 31
diff changeset
  1482
    delete wlanQtUtils_;
31
hgs
parents:
diff changeset
  1483
    wlanQtUtils_ = new WlanQtUtils();
hgs
parents:
diff changeset
  1484
39
hgs
parents: 31
diff changeset
  1485
    delete mSignalScanReady;
hgs
parents: 31
diff changeset
  1486
    mSignalScanReady = new QSignalSpy(wlanQtUtils_, SIGNAL(wlanScanReady(int)));
hgs
parents: 31
diff changeset
  1487
    QVERIFY(mSignalScanReady->isValid() == true);
31
hgs
parents:
diff changeset
  1488
39
hgs
parents: 31
diff changeset
  1489
    delete mSignalScanApReady;
hgs
parents: 31
diff changeset
  1490
    mSignalScanApReady = new QSignalSpy(wlanQtUtils_, SIGNAL(wlanScanApReady(int)));
hgs
parents: 31
diff changeset
  1491
    QVERIFY(mSignalScanApReady->isValid() == true);
hgs
parents: 31
diff changeset
  1492
hgs
parents: 31
diff changeset
  1493
    delete mSignalScanDirectReady;
hgs
parents: 31
diff changeset
  1494
    mSignalScanDirectReady = new QSignalSpy(wlanQtUtils_, SIGNAL(wlanScanDirectReady(int)));
hgs
parents: 31
diff changeset
  1495
    QVERIFY(mSignalScanDirectReady->isValid() == true);
hgs
parents: 31
diff changeset
  1496
hgs
parents: 31
diff changeset
  1497
    delete signalWlanNetworkOpened_;
31
hgs
parents:
diff changeset
  1498
    signalWlanNetworkOpened_ = new QSignalSpy(wlanQtUtils_, SIGNAL(wlanNetworkOpened(int)));
hgs
parents:
diff changeset
  1499
    QVERIFY(signalWlanNetworkOpened_->isValid() == true);
hgs
parents:
diff changeset
  1500
    
39
hgs
parents: 31
diff changeset
  1501
    delete signalWlanNetworkClosed_;
31
hgs
parents:
diff changeset
  1502
    signalWlanNetworkClosed_ = new QSignalSpy(wlanQtUtils_, SIGNAL(wlanNetworkClosed(int, int)));
hgs
parents:
diff changeset
  1503
    QVERIFY(signalWlanNetworkClosed_->isValid() == true);
hgs
parents:
diff changeset
  1504
    
39
hgs
parents: 31
diff changeset
  1505
    delete signalIctResult_;
hgs
parents: 31
diff changeset
  1506
    signalIctResult_ = new QSignalSpy(wlanQtUtils_, SIGNAL(ictResult(int, int)));
31
hgs
parents:
diff changeset
  1507
    QVERIFY(signalIctResult_->isValid() == true);
hgs
parents:
diff changeset
  1508
}
39
hgs
parents: 31
diff changeset
  1509
hgs
parents: 31
diff changeset
  1510
/**
hgs
parents: 31
diff changeset
  1511
 * Create a new AP and fill it with default values. 
hgs
parents: 31
diff changeset
  1512
 */
hgs
parents: 31
diff changeset
  1513
WlanQtUtilsAp *TestWlanQtUtils::subTestNewAp()
hgs
parents: 31
diff changeset
  1514
{
hgs
parents: 31
diff changeset
  1515
    WlanQtUtilsAp *ap = new WlanQtUtilsAp;
hgs
parents: 31
diff changeset
  1516
hgs
parents: 31
diff changeset
  1517
    // Set default values
hgs
parents: 31
diff changeset
  1518
    ap->setValue(WlanQtUtilsAp::ConfIdSsid, QString());
hgs
parents: 31
diff changeset
  1519
    ap->setValue(WlanQtUtilsAp::ConfIdSignalStrength, 90);
hgs
parents: 31
diff changeset
  1520
    ap->setValue(WlanQtUtilsAp::ConfIdConnectionMode, CMManagerShim::Infra);
hgs
parents: 31
diff changeset
  1521
    ap->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeOpen);
hgs
parents: 31
diff changeset
  1522
    ap->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, false);
hgs
parents: 31
diff changeset
  1523
    ap->setValue(WlanQtUtilsAp::ConfIdWpaPsk, QString());
hgs
parents: 31
diff changeset
  1524
    ap->setValue(WlanQtUtilsAp::ConfIdWepKey1, QString());
hgs
parents: 31
diff changeset
  1525
    ap->setValue(WlanQtUtilsAp::ConfIdWepKey2, QString());
hgs
parents: 31
diff changeset
  1526
    ap->setValue(WlanQtUtilsAp::ConfIdWepKey3, QString());
hgs
parents: 31
diff changeset
  1527
    ap->setValue(WlanQtUtilsAp::ConfIdWepKey4, QString());
hgs
parents: 31
diff changeset
  1528
    ap->setValue(WlanQtUtilsAp::ConfIdWepDefaultIndex, CMManagerShim::WepKeyIndex1);
hgs
parents: 31
diff changeset
  1529
    ap->setValue(WlanQtUtilsAp::ConfIdHidden, false);
hgs
parents: 31
diff changeset
  1530
hgs
parents: 31
diff changeset
  1531
    return ap;
hgs
parents: 31
diff changeset
  1532
}