wlanutilities/wlansniffer/wlansnifferapplication/tsrc/t_wlansniffer.cpp
author hgs
Fri, 03 Sep 2010 09:37:37 +0300
changeset 60 822a45792fdd
parent 39 7b3e49e4608a
permissions -rw-r--r--
201035
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
31
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 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 Sniffer application.
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
// System includes
hgs
parents:
diff changeset
    19
hgs
parents:
diff changeset
    20
#include <QTest>
hgs
parents:
diff changeset
    21
#include <QSharedPointer>
hgs
parents:
diff changeset
    22
#include <HbApplication>
hgs
parents:
diff changeset
    23
#include <HbListWidget>
hgs
parents:
diff changeset
    24
#include <HbListWidgetItem>
hgs
parents:
diff changeset
    25
#include <cmmanagerdefines_shim.h>
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
// User includes
hgs
parents:
diff changeset
    28
hgs
parents:
diff changeset
    29
#include "wlanqtutilsap.h"
hgs
parents:
diff changeset
    30
hgs
parents:
diff changeset
    31
#include "wlansnifferlistwidget.h"
hgs
parents:
diff changeset
    32
#include "t_wlansniffer.h"
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
// External function prototypes
hgs
parents:
diff changeset
    35
hgs
parents:
diff changeset
    36
// Local constants
hgs
parents:
diff changeset
    37
hgs
parents:
diff changeset
    38
// ======== LOCAL FUNCTIONS ========
hgs
parents:
diff changeset
    39
hgs
parents:
diff changeset
    40
/*!
hgs
parents:
diff changeset
    41
    Test main function. Runs all test cases.
hgs
parents:
diff changeset
    42
 */
hgs
parents:
diff changeset
    43
hgs
parents:
diff changeset
    44
int main(int argc, char *argv[])
hgs
parents:
diff changeset
    45
{
hgs
parents:
diff changeset
    46
    HbApplication app(argc, argv);
hgs
parents:
diff changeset
    47
    
hgs
parents:
diff changeset
    48
    char *pass[3];  
hgs
parents:
diff changeset
    49
    pass[0] = argv[0];
hgs
parents:
diff changeset
    50
    pass[1] = "-o"; 
hgs
parents:
diff changeset
    51
    pass[2] = "c:\\data\\TestWlanSniffer.txt";
hgs
parents:
diff changeset
    52
 
hgs
parents:
diff changeset
    53
    TestWlanSniffer tc;
hgs
parents:
diff changeset
    54
    int res = QTest::qExec(&tc, 3, pass);
hgs
parents:
diff changeset
    55
 
hgs
parents:
diff changeset
    56
    return res;
hgs
parents:
diff changeset
    57
}
hgs
parents:
diff changeset
    58
hgs
parents:
diff changeset
    59
// ======== MEMBER FUNCTIONS ========
hgs
parents:
diff changeset
    60
hgs
parents:
diff changeset
    61
/*!
hgs
parents:
diff changeset
    62
    This function will be called before the first test function is executed.
hgs
parents:
diff changeset
    63
*/
hgs
parents:
diff changeset
    64
hgs
parents:
diff changeset
    65
void TestWlanSniffer::initTestCase()
hgs
parents:
diff changeset
    66
{
hgs
parents:
diff changeset
    67
    mWidget = NULL;
hgs
parents:
diff changeset
    68
}
hgs
parents:
diff changeset
    69
hgs
parents:
diff changeset
    70
/*!
hgs
parents:
diff changeset
    71
    This function will be called after the last test function was executed.
hgs
parents:
diff changeset
    72
 */
hgs
parents:
diff changeset
    73
hgs
parents:
diff changeset
    74
void TestWlanSniffer::cleanupTestCase()
hgs
parents:
diff changeset
    75
{
hgs
parents:
diff changeset
    76
}
hgs
parents:
diff changeset
    77
hgs
parents:
diff changeset
    78
/*!
hgs
parents:
diff changeset
    79
    This function will be called before each test function is executed.
hgs
parents:
diff changeset
    80
 */
hgs
parents:
diff changeset
    81
hgs
parents:
diff changeset
    82
void TestWlanSniffer::init()
hgs
parents:
diff changeset
    83
{
hgs
parents:
diff changeset
    84
    mListWidget = new HbListWidget();
hgs
parents:
diff changeset
    85
    mWidget = new WlanSnifferListWidget(mListWidget);
hgs
parents:
diff changeset
    86
    
hgs
parents:
diff changeset
    87
    mIaps.clear();
hgs
parents:
diff changeset
    88
    mAps.clear();
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 after each test function is executed.
hgs
parents:
diff changeset
    93
 */
hgs
parents:
diff changeset
    94
hgs
parents:
diff changeset
    95
void TestWlanSniffer::cleanup()
hgs
parents:
diff changeset
    96
{
hgs
parents:
diff changeset
    97
    delete mWidget;
hgs
parents:
diff changeset
    98
    mWidget = NULL;
hgs
parents:
diff changeset
    99
hgs
parents:
diff changeset
   100
    mListWidget->clear();
hgs
parents:
diff changeset
   101
    delete mListWidget;
hgs
parents:
diff changeset
   102
    mListWidget = NULL;
hgs
parents:
diff changeset
   103
}
hgs
parents:
diff changeset
   104
hgs
parents:
diff changeset
   105
/*!
hgs
parents:
diff changeset
   106
    This function tests Wlan list widget content updating.
hgs
parents:
diff changeset
   107
 */
hgs
parents:
diff changeset
   108
hgs
parents:
diff changeset
   109
void TestWlanSniffer::testUpdateContentIapAdded()
hgs
parents:
diff changeset
   110
{
hgs
parents:
diff changeset
   111
    appendWlanAp("SSID 1", 20, 0, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   112
    appendWlanAp("SSID 2", 90, 0, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   113
hgs
parents:
diff changeset
   114
    mWidget->updateContent(mIaps, mAps, 0);
hgs
parents:
diff changeset
   115
    
hgs
parents:
diff changeset
   116
    QCOMPARE(mListWidget->count(), 2);
hgs
parents:
diff changeset
   117
    verifyAp(0, QString("SSID 1"), CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   118
    verifyAp(1, QString("SSID 2"), CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   119
hgs
parents:
diff changeset
   120
    appendWlanIap(1, 0, "SSID 3", "SSID 3", 20, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   121
hgs
parents:
diff changeset
   122
    mWidget->updateContent(mIaps, mAps, 0);
hgs
parents:
diff changeset
   123
    
hgs
parents:
diff changeset
   124
    QCOMPARE(mListWidget->count(), 3);
hgs
parents:
diff changeset
   125
    verifyIap(0, 1);
hgs
parents:
diff changeset
   126
    verifyAp(1, QString("SSID 1"), CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   127
    verifyAp(2, QString("SSID 2"), CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   128
}
hgs
parents:
diff changeset
   129
hgs
parents:
diff changeset
   130
/*!
hgs
parents:
diff changeset
   131
    This function tests Wlan list widget content updating.
hgs
parents:
diff changeset
   132
 */
hgs
parents:
diff changeset
   133
hgs
parents:
diff changeset
   134
void TestWlanSniffer::testUpdateContentApAdded()
hgs
parents:
diff changeset
   135
{
hgs
parents:
diff changeset
   136
    appendWlanAp("SSID 1", 20, 0, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   137
hgs
parents:
diff changeset
   138
    mWidget->updateContent(mIaps, mAps, 0);
hgs
parents:
diff changeset
   139
    
hgs
parents:
diff changeset
   140
    QCOMPARE(mListWidget->count(), 1);
hgs
parents:
diff changeset
   141
    verifyAp(0, QString("SSID 1"), CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   142
hgs
parents:
diff changeset
   143
    appendWlanAp("SSID 2", 90, 0, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   144
hgs
parents:
diff changeset
   145
    mWidget->updateContent(mIaps, mAps, 0);
hgs
parents:
diff changeset
   146
    
hgs
parents:
diff changeset
   147
    QCOMPARE(mListWidget->count(), 2);
hgs
parents:
diff changeset
   148
    verifyAp(0, QString("SSID 1"), CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   149
    verifyAp(1, QString("SSID 2"), CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   150
}
hgs
parents:
diff changeset
   151
hgs
parents:
diff changeset
   152
/*!
hgs
parents:
diff changeset
   153
    This function tests Wlan list widget content updating.
hgs
parents:
diff changeset
   154
 */
hgs
parents:
diff changeset
   155
hgs
parents:
diff changeset
   156
void TestWlanSniffer::testUpdateContentIapRemoved()
hgs
parents:
diff changeset
   157
{
hgs
parents:
diff changeset
   158
    appendWlanIap(1, 0, "SSID 1", "SSID 1", 20, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   159
    appendWlanIap(2, 0, "SSID 2", "SSID 2", 90, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   160
    appendWlanAp("SSID 3", 90, 0, CMManagerShim::WlanSecModeWep);
hgs
parents:
diff changeset
   161
hgs
parents:
diff changeset
   162
    mWidget->updateContent(mIaps, mAps, 0);
hgs
parents:
diff changeset
   163
    
hgs
parents:
diff changeset
   164
    QCOMPARE(mListWidget->count(), 3);
hgs
parents:
diff changeset
   165
    verifyIap(0, 1);
hgs
parents:
diff changeset
   166
    verifyIap(1, 2);
hgs
parents:
diff changeset
   167
    verifyAp(2, QString("SSID 3"), CMManagerShim::WlanSecModeWep);
hgs
parents:
diff changeset
   168
hgs
parents:
diff changeset
   169
    mIaps.takeAt(0);
hgs
parents:
diff changeset
   170
hgs
parents:
diff changeset
   171
    mWidget->updateContent(mIaps, mAps, 0);
hgs
parents:
diff changeset
   172
    
hgs
parents:
diff changeset
   173
    QCOMPARE(mListWidget->count(), 2);
hgs
parents:
diff changeset
   174
    verifyIap(0, 2);
hgs
parents:
diff changeset
   175
    verifyAp(1, QString("SSID 3"), CMManagerShim::WlanSecModeWep);
hgs
parents:
diff changeset
   176
}
hgs
parents:
diff changeset
   177
hgs
parents:
diff changeset
   178
/*!
hgs
parents:
diff changeset
   179
    This function tests Wlan list widget content updating.
hgs
parents:
diff changeset
   180
 */
hgs
parents:
diff changeset
   181
hgs
parents:
diff changeset
   182
void TestWlanSniffer::testUpdateContentApRemoved()
hgs
parents:
diff changeset
   183
{
hgs
parents:
diff changeset
   184
    appendWlanAp("SSID 1", 20, 0, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   185
hgs
parents:
diff changeset
   186
    mWidget->updateContent(mIaps, mAps, 0);
hgs
parents:
diff changeset
   187
    
hgs
parents:
diff changeset
   188
    QCOMPARE(mListWidget->count(), 1);
hgs
parents:
diff changeset
   189
    verifyAp(0, QString("SSID 1"), CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   190
hgs
parents:
diff changeset
   191
    mAps.takeAt(0);
hgs
parents:
diff changeset
   192
hgs
parents:
diff changeset
   193
    mWidget->updateContent(mIaps, mAps, 0);
hgs
parents:
diff changeset
   194
    
hgs
parents:
diff changeset
   195
    QCOMPARE(mListWidget->count(), 0);
hgs
parents:
diff changeset
   196
}
hgs
parents:
diff changeset
   197
hgs
parents:
diff changeset
   198
/*!
hgs
parents:
diff changeset
   199
    This function tests Wlan list widget content updating.
hgs
parents:
diff changeset
   200
 */
hgs
parents:
diff changeset
   201
hgs
parents:
diff changeset
   202
void TestWlanSniffer::testUpdateContentIapConnected()
hgs
parents:
diff changeset
   203
{
hgs
parents:
diff changeset
   204
    appendWlanIap(1, 0, "SSID 1", "SSID 1", 95, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   205
    appendWlanIap(2, 0, "SSID 2", "SSID 2", 15, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   206
    appendWlanAp("SSID 3", 20, 0, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   207
hgs
parents:
diff changeset
   208
    mWidget->updateContent(mIaps, mAps, 0);
hgs
parents:
diff changeset
   209
    
hgs
parents:
diff changeset
   210
    QCOMPARE(mListWidget->count(), 3);
hgs
parents:
diff changeset
   211
    verifyIap(0, 1);
hgs
parents:
diff changeset
   212
    verifyIap(1, 2);
hgs
parents:
diff changeset
   213
    verifyAp(2, QString("SSID 3"), CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   214
hgs
parents:
diff changeset
   215
    // IAP order changed because one is connected
hgs
parents:
diff changeset
   216
    mIaps.clear();
hgs
parents:
diff changeset
   217
    appendWlanIap(2, 0, "SSID 2", "SSID 2", 20, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   218
    appendWlanIap(1, 0, "SSID 1", "SSID 1", 20, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   219
hgs
parents:
diff changeset
   220
    mWidget->updateContent(mIaps, mAps, 2);
hgs
parents:
diff changeset
   221
    
hgs
parents:
diff changeset
   222
    QCOMPARE(mListWidget->count(), 3);
hgs
parents:
diff changeset
   223
    verifyIap(0, 2);
hgs
parents:
diff changeset
   224
    verifyIap(1, 1);
hgs
parents:
diff changeset
   225
    verifyAp(2, QString("SSID 3"), CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   226
}
hgs
parents:
diff changeset
   227
hgs
parents:
diff changeset
   228
/*!
hgs
parents:
diff changeset
   229
    This function tests Wlan list widget content updating.
hgs
parents:
diff changeset
   230
 */
hgs
parents:
diff changeset
   231
hgs
parents:
diff changeset
   232
void TestWlanSniffer::testUpdateContentIapDisconnected()
hgs
parents:
diff changeset
   233
{
hgs
parents:
diff changeset
   234
    appendWlanIap(2, 0, "SSID 2", "SSID 2", 20, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   235
    appendWlanIap(1, 0, "SSID 1", "SSID 1", 20, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   236
    appendWlanAp("SSID 3", 20, 0, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   237
hgs
parents:
diff changeset
   238
    mWidget->updateContent(mIaps, mAps, 2);
hgs
parents:
diff changeset
   239
    
hgs
parents:
diff changeset
   240
    QCOMPARE(mListWidget->count(), 3);
hgs
parents:
diff changeset
   241
    verifyIap(0, 2);
hgs
parents:
diff changeset
   242
    verifyIap(1, 1);
hgs
parents:
diff changeset
   243
    verifyAp(2, QString("SSID 3"), CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   244
hgs
parents:
diff changeset
   245
    // IAP order changed because not connected anymore
hgs
parents:
diff changeset
   246
    mIaps.clear();
hgs
parents:
diff changeset
   247
    appendWlanIap(1, 0, "SSID 1", "SSID 1", 20, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   248
    appendWlanIap(2, 0, "SSID 2", "SSID 2", 60, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   249
hgs
parents:
diff changeset
   250
    mWidget->updateContent(mIaps, mAps, 0);
hgs
parents:
diff changeset
   251
    
hgs
parents:
diff changeset
   252
    QCOMPARE(mListWidget->count(), 3);
hgs
parents:
diff changeset
   253
    verifyIap(0, 1);
hgs
parents:
diff changeset
   254
    verifyIap(1, 2);
hgs
parents:
diff changeset
   255
    verifyAp(2, QString("SSID 3"), CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   256
}
hgs
parents:
diff changeset
   257
hgs
parents:
diff changeset
   258
/*!
hgs
parents:
diff changeset
   259
    This function tests Wlan list widget content updating.
hgs
parents:
diff changeset
   260
 */
hgs
parents:
diff changeset
   261
hgs
parents:
diff changeset
   262
void TestWlanSniffer::testUpdateContentRobustness1()
hgs
parents:
diff changeset
   263
{
hgs
parents:
diff changeset
   264
    appendWlanIap(1, 0, "SSID 1", "SSID 1", 15, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   265
    appendWlanIap(2, 0, "SSID 2", "SSID 2", 95, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   266
    appendWlanAp("SSID 3", 20, 0, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   267
    appendWlanAp("SSID 4", 30, 0, CMManagerShim::WlanSecModeWep);
hgs
parents:
diff changeset
   268
    appendWlanAp("SSID 5", 40, 0, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   269
hgs
parents:
diff changeset
   270
    mWidget->updateContent(mIaps, mAps, 0);
hgs
parents:
diff changeset
   271
    
hgs
parents:
diff changeset
   272
    QCOMPARE(mListWidget->count(), 5);
hgs
parents:
diff changeset
   273
    verifyIap(0, 1);
hgs
parents:
diff changeset
   274
    verifyIap(1, 2);
hgs
parents:
diff changeset
   275
    verifyAp(2, QString("SSID 3"), CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   276
    verifyAp(3, QString("SSID 4"), CMManagerShim::WlanSecModeWep);
hgs
parents:
diff changeset
   277
    verifyAp(4, QString("SSID 5"), CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   278
hgs
parents:
diff changeset
   279
    mIaps.clear();
hgs
parents:
diff changeset
   280
    appendWlanIap(3, 0, "SSID 3", "SSID 3", 10, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   281
    appendWlanIap(1, 0, "SSID 1", "SSID 1", 20, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   282
    appendWlanIap(2, 0, "SSID 2", "SSID 2", 30, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   283
    mAps.clear();
hgs
parents:
diff changeset
   284
    appendWlanAp("SSID 4", 30, 0, CMManagerShim::WlanSecModeWep);
hgs
parents:
diff changeset
   285
    appendWlanAp("SSID 5", 40, 0, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   286
    appendWlanAp("SSID 6", 30, 0, CMManagerShim::WlanSecModeWep);
hgs
parents:
diff changeset
   287
    appendWlanAp("SSID 7", 40, 0, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   288
hgs
parents:
diff changeset
   289
    mWidget->updateContent(mIaps, mAps, 3);
hgs
parents:
diff changeset
   290
    
hgs
parents:
diff changeset
   291
    QCOMPARE(mListWidget->count(), 7);
hgs
parents:
diff changeset
   292
    verifyIap(0, 3);
hgs
parents:
diff changeset
   293
    verifyIap(1, 1);
hgs
parents:
diff changeset
   294
    verifyIap(2, 2);
hgs
parents:
diff changeset
   295
    verifyAp(3, QString("SSID 4"), CMManagerShim::WlanSecModeWep);
hgs
parents:
diff changeset
   296
    verifyAp(4, QString("SSID 5"), CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   297
    verifyAp(5, QString("SSID 6"), CMManagerShim::WlanSecModeWep);
hgs
parents:
diff changeset
   298
    verifyAp(6, QString("SSID 7"), CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   299
hgs
parents:
diff changeset
   300
    mIaps.clear();
hgs
parents:
diff changeset
   301
    appendWlanIap(4, 0, "SSID X", "SSID X", 10, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   302
    appendWlanIap(2, 0, "SSID 2", "SSID 2", 20, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   303
    appendWlanIap(3, 0, "SSID 3", "SSID 3", 10, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   304
    appendWlanIap(5, 0, "SSID 3", "SSID 3", 50, CMManagerShim::WlanSecModeWapi);
hgs
parents:
diff changeset
   305
    mAps.clear();
hgs
parents:
diff changeset
   306
    appendWlanAp("SSID 4", 30, 0, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   307
    appendWlanAp("SSID 4a", 40, 0, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   308
    appendWlanAp("SSID 7", 76, 0, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   309
    appendWlanAp("SSID 7", 90, 0, CMManagerShim::WlanSecModeWep);
hgs
parents:
diff changeset
   310
    appendWlanAp("SSID 8", 30, 0, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   311
    appendWlanAp("SSID 9", 30, 0, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   312
hgs
parents:
diff changeset
   313
    mWidget->updateContent(mIaps, mAps, 4);
hgs
parents:
diff changeset
   314
hgs
parents:
diff changeset
   315
    QCOMPARE(mListWidget->count(), 10);
hgs
parents:
diff changeset
   316
    verifyIap(0, 4);
hgs
parents:
diff changeset
   317
    verifyIap(1, 2);
hgs
parents:
diff changeset
   318
    verifyIap(2, 3);
hgs
parents:
diff changeset
   319
    verifyIap(3, 5);
hgs
parents:
diff changeset
   320
    verifyAp(4, QString("SSID 4"), CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   321
    verifyAp(5, QString("SSID 4a"), CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   322
    verifyAp(6, QString("SSID 7"), CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   323
    verifyAp(7, QString("SSID 7"), CMManagerShim::WlanSecModeWep);
hgs
parents:
diff changeset
   324
    verifyAp(8, QString("SSID 8"), CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   325
    verifyAp(9, QString("SSID 9"), CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   326
hgs
parents:
diff changeset
   327
    mIaps.clear();
hgs
parents:
diff changeset
   328
    appendWlanIap(3, 0, "SSID 3", "SSID 3", 50, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   329
    mAps.clear();
hgs
parents:
diff changeset
   330
hgs
parents:
diff changeset
   331
    mWidget->updateContent(mIaps, mAps, 0);
hgs
parents:
diff changeset
   332
hgs
parents:
diff changeset
   333
    QCOMPARE(mListWidget->count(), 1);
hgs
parents:
diff changeset
   334
    verifyIap(0, 3);
hgs
parents:
diff changeset
   335
hgs
parents:
diff changeset
   336
    mIaps.clear();
hgs
parents:
diff changeset
   337
    mAps.clear();
hgs
parents:
diff changeset
   338
hgs
parents:
diff changeset
   339
    mWidget->updateContent(mIaps, mAps, 0);
hgs
parents:
diff changeset
   340
hgs
parents:
diff changeset
   341
    QCOMPARE(mListWidget->count(), 0);
hgs
parents:
diff changeset
   342
}
hgs
parents:
diff changeset
   343
hgs
parents:
diff changeset
   344
/*!
hgs
parents:
diff changeset
   345
    This function tests Wlan list widget content updating.
hgs
parents:
diff changeset
   346
 */
hgs
parents:
diff changeset
   347
hgs
parents:
diff changeset
   348
void TestWlanSniffer::testUpdateContentRobustness2()
hgs
parents:
diff changeset
   349
{
60
hgs
parents: 39
diff changeset
   350
    QSharedPointer<WlanQtUtilsAp> iap2(new WlanQtUtilsAp());
hgs
parents: 39
diff changeset
   351
    iap2->setValue(WlanQtUtilsAp::ConfIdIapId, 2);
hgs
parents: 39
diff changeset
   352
    iap2->setValue(WlanQtUtilsAp::ConfIdNetworkId, 0);
hgs
parents: 39
diff changeset
   353
    iap2->setValue(WlanQtUtilsAp::ConfIdName, "SSID 2");
31
hgs
parents:
diff changeset
   354
    iap2->setValue(WlanQtUtilsAp::ConfIdSsid, "SSID 2");
hgs
parents:
diff changeset
   355
    iap2->setValue(WlanQtUtilsAp::ConfIdSignalStrength, 10);
39
hgs
parents: 31
diff changeset
   356
    iap2->setValue(WlanQtUtilsAp::ConfIdConnectionMode, CMManagerShim::Infra);
31
hgs
parents:
diff changeset
   357
    iap2->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa);
60
hgs
parents: 39
diff changeset
   358
    QSharedPointer<WlanQtUtilsAp> iap4(new WlanQtUtilsAp());
hgs
parents: 39
diff changeset
   359
    iap4->setValue(WlanQtUtilsAp::ConfIdIapId, 4);
hgs
parents: 39
diff changeset
   360
    iap4->setValue(WlanQtUtilsAp::ConfIdNetworkId, 0);
hgs
parents: 39
diff changeset
   361
    iap4->setValue(WlanQtUtilsAp::ConfIdName, "SSID 4");
31
hgs
parents:
diff changeset
   362
    iap4->setValue(WlanQtUtilsAp::ConfIdSsid, "SSID 4");
hgs
parents:
diff changeset
   363
    iap4->setValue(WlanQtUtilsAp::ConfIdSignalStrength, 20);
39
hgs
parents: 31
diff changeset
   364
    iap4->setValue(WlanQtUtilsAp::ConfIdConnectionMode, CMManagerShim::Infra);
31
hgs
parents:
diff changeset
   365
    iap4->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   366
    
hgs
parents:
diff changeset
   367
    appendWlanAp("SSID 1", 20, 0, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   368
    appendWlanAp("SSID 3", 20, 0, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   369
    appendWlanAp("SSID 5", 20, 0, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   370
    appendWlanAp("SSID 6", 20, 0, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   371
hgs
parents:
diff changeset
   372
    mIaps.append(iap2);
hgs
parents:
diff changeset
   373
    mIaps.append(iap4);
hgs
parents:
diff changeset
   374
hgs
parents:
diff changeset
   375
    mWidget->updateContent(mIaps, mAps, 0);
hgs
parents:
diff changeset
   376
    
hgs
parents:
diff changeset
   377
    QCOMPARE(mListWidget->count(), 6);
hgs
parents:
diff changeset
   378
    verifyIap(0, 2);
hgs
parents:
diff changeset
   379
    verifyIap(1, 4);
hgs
parents:
diff changeset
   380
    verifyAp(2, QString("SSID 1"), CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   381
    verifyAp(3, QString("SSID 3"), CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   382
    verifyAp(4, QString("SSID 5"), CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   383
    verifyAp(5, QString("SSID 6"), CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   384
hgs
parents:
diff changeset
   385
    mIaps.clear();
hgs
parents:
diff changeset
   386
    mAps.clear();
hgs
parents:
diff changeset
   387
    mIaps.append(iap2);
hgs
parents:
diff changeset
   388
    appendWlanAp("SSID 1", 20, 0, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   389
hgs
parents:
diff changeset
   390
    mWidget->updateContent(mIaps, mAps, 0);
hgs
parents:
diff changeset
   391
    
hgs
parents:
diff changeset
   392
    QCOMPARE(mListWidget->count(), 2);
hgs
parents:
diff changeset
   393
    verifyIap(0, 2);
hgs
parents:
diff changeset
   394
    verifyAp(1, QString("SSID 1"), CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   395
hgs
parents:
diff changeset
   396
    mIaps.clear();
hgs
parents:
diff changeset
   397
    mAps.clear();
hgs
parents:
diff changeset
   398
    mIaps.append(iap2);
hgs
parents:
diff changeset
   399
    mIaps.append(iap4);
hgs
parents:
diff changeset
   400
    appendWlanAp("SSID 1", 20, 0, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   401
    appendWlanAp("SSID 3", 20, 0, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   402
    appendWlanAp("SSID 5", 20, 0, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   403
    appendWlanAp("SSID 6", 20, 0, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   404
hgs
parents:
diff changeset
   405
    mWidget->updateContent(mIaps, mAps, 0);
hgs
parents:
diff changeset
   406
    
hgs
parents:
diff changeset
   407
    QCOMPARE(mListWidget->count(), 6);
hgs
parents:
diff changeset
   408
    verifyIap(0, 2);
hgs
parents:
diff changeset
   409
    verifyIap(1, 4);
hgs
parents:
diff changeset
   410
    verifyAp(2, QString("SSID 1"), CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   411
    verifyAp(3, QString("SSID 3"), CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   412
    verifyAp(4, QString("SSID 5"), CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   413
    verifyAp(5, QString("SSID 6"), CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   414
}
hgs
parents:
diff changeset
   415
hgs
parents:
diff changeset
   416
/*!
hgs
parents:
diff changeset
   417
    This function tests list sorting. The list content comes in "random" order,
hgs
parents:
diff changeset
   418
    and the list widget should sort the list alphabetically. 
hgs
parents:
diff changeset
   419
 */
hgs
parents:
diff changeset
   420
hgs
parents:
diff changeset
   421
void TestWlanSniffer::testUpdateContentSort()
hgs
parents:
diff changeset
   422
{
hgs
parents:
diff changeset
   423
    appendWlanIap(1, 0, "Dada", "dada", 20, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   424
    appendWlanIap(2, 0, "salakka", "salakka", 30, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   425
    appendWlanIap(3, 0, "lahna", "lahna", 40, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   426
    appendWlanIap(4, 0, "Labiili", "labiili", 50, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   427
    appendWlanIap(5, 0, "ABCD", "ABCD", 60, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   428
    appendWlanIap(6, 0, "connected", "connected", 60, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   429
    appendWlanIap(7, 0, "IAP 1", "IAP 1", 10, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   430
    appendWlanIap(8, 0, "IAP 10", "IAP 10", 10, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   431
    appendWlanIap(9, 0, "IAP 2", "IAP 2", 10, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   432
    appendWlanIap(10, 0, "IAP 11", "IAP 11", 10, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   433
hgs
parents:
diff changeset
   434
    appendWlanAp("jokuap", 20, 0, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   435
    appendWlanAp("Jippii", 30, 0, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   436
    appendWlanAp("jalava", 40, 0, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   437
    appendWlanAp("abba", 50, 0, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   438
    appendWlanAp("hippokampus", 60, 0, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   439
hgs
parents:
diff changeset
   440
    mWidget->updateContent(mIaps, mAps, 6);
hgs
parents:
diff changeset
   441
    
hgs
parents:
diff changeset
   442
    QCOMPARE(mListWidget->count(), 15);
hgs
parents:
diff changeset
   443
    verifyIap(0, 6);
hgs
parents:
diff changeset
   444
    verifyIap(1, 5);
hgs
parents:
diff changeset
   445
    verifyIap(2, 1);
hgs
parents:
diff changeset
   446
    verifyIap(3, 7);
hgs
parents:
diff changeset
   447
    verifyIap(4, 8);
hgs
parents:
diff changeset
   448
    verifyIap(5, 10);
hgs
parents:
diff changeset
   449
    verifyIap(6, 9);
hgs
parents:
diff changeset
   450
    verifyIap(7, 4);
hgs
parents:
diff changeset
   451
    verifyIap(8, 3);
hgs
parents:
diff changeset
   452
    verifyIap(9, 2);
hgs
parents:
diff changeset
   453
    verifyAp(10, QString("abba"), CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   454
    verifyAp(11, QString("hippokampus"), CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   455
    verifyAp(12, QString("jalava"), CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   456
    verifyAp(13, QString("Jippii"), CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   457
    verifyAp(14, QString("jokuap"), CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   458
}
hgs
parents:
diff changeset
   459
hgs
parents:
diff changeset
   460
/*!
hgs
parents:
diff changeset
   461
    This function tests list scrolling. There's no way to verify in this test
hgs
parents:
diff changeset
   462
    that the scrolling actually works, but let's execute the code at least. 
hgs
parents:
diff changeset
   463
 */
hgs
parents:
diff changeset
   464
hgs
parents:
diff changeset
   465
void TestWlanSniffer::testScrollTo()
hgs
parents:
diff changeset
   466
{
hgs
parents:
diff changeset
   467
    appendWlanIap(1, 0, "SSID 1", "SSID 1", 15, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   468
    appendWlanIap(2, 0, "SSID 2", "SSID 2", 95, CMManagerShim::WlanSecModeWpa);
hgs
parents:
diff changeset
   469
    appendWlanAp("SSID 3", 20, 0, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   470
    appendWlanAp("SSID 4", 30, 0, CMManagerShim::WlanSecModeWep);
hgs
parents:
diff changeset
   471
    appendWlanAp("SSID 5", 40, 0, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   472
    appendWlanAp("SSID 6", 20, 0, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   473
    appendWlanAp("SSID 7", 30, 0, CMManagerShim::WlanSecModeWep);
hgs
parents:
diff changeset
   474
    appendWlanAp("SSID 8", 40, 0, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   475
    appendWlanAp("SSID 9", 20, 0, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   476
    appendWlanAp("SSID 10", 30, 0, CMManagerShim::WlanSecModeWep);
hgs
parents:
diff changeset
   477
    appendWlanAp("SSID 11", 40, 0, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   478
    appendWlanAp("SSID 12", 20, 0, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   479
    appendWlanAp("SSID 13", 30, 0, CMManagerShim::WlanSecModeWep);
hgs
parents:
diff changeset
   480
    appendWlanAp("SSID 14", 40, 0, CMManagerShim::WlanSecModeOpen);
hgs
parents:
diff changeset
   481
hgs
parents:
diff changeset
   482
    mWidget->updateContent(mIaps, mAps, 0);
hgs
parents:
diff changeset
   483
    
hgs
parents:
diff changeset
   484
    QCOMPARE(mListWidget->count(), 14);
hgs
parents:
diff changeset
   485
hgs
parents:
diff changeset
   486
    // Scroll to last row
hgs
parents:
diff changeset
   487
    mWidget->scrollTo(13);
hgs
parents:
diff changeset
   488
    // Scroll to non-existing row -> ignored
hgs
parents:
diff changeset
   489
    mWidget->scrollTo(20);
hgs
parents:
diff changeset
   490
    // Scroll to first row
hgs
parents:
diff changeset
   491
    mWidget->scrollTo(0);
hgs
parents:
diff changeset
   492
hgs
parents:
diff changeset
   493
    QCOMPARE(mListWidget->count(), 14);
hgs
parents:
diff changeset
   494
}
hgs
parents:
diff changeset
   495
hgs
parents:
diff changeset
   496
/*!
hgs
parents:
diff changeset
   497
    This function verifies that the item on "row" is an IAP matching the given parameters.
hgs
parents:
diff changeset
   498
 */
hgs
parents:
diff changeset
   499
hgs
parents:
diff changeset
   500
void TestWlanSniffer::verifyIap(int row, int iapId)
hgs
parents:
diff changeset
   501
{
hgs
parents:
diff changeset
   502
    QVERIFY(mListWidget->item(row)->data().canConvert<int>());
hgs
parents:
diff changeset
   503
    int id = mListWidget->item(row)->data().value<int>();
hgs
parents:
diff changeset
   504
    QCOMPARE(id, iapId);
hgs
parents:
diff changeset
   505
}
hgs
parents:
diff changeset
   506
hgs
parents:
diff changeset
   507
/*!
hgs
parents:
diff changeset
   508
    This function verifies that the item on "row" is an AP matching the given parameters.
hgs
parents:
diff changeset
   509
 */
hgs
parents:
diff changeset
   510
hgs
parents:
diff changeset
   511
void TestWlanSniffer::verifyAp(int row, QString ssid, int securityMode)
hgs
parents:
diff changeset
   512
{
hgs
parents:
diff changeset
   513
    QVERIFY(mListWidget->item(row)->data().canConvert<WlanQtUtilsAp>());
hgs
parents:
diff changeset
   514
    WlanQtUtilsAp ap = mListWidget->item(row)->data().value<WlanQtUtilsAp>();
hgs
parents:
diff changeset
   515
    QCOMPARE(ap.value(WlanQtUtilsAp::ConfIdSsid).toString(), ssid);
hgs
parents:
diff changeset
   516
    QCOMPARE(ap.value(WlanQtUtilsAp::ConfIdSecurityMode).toInt(), securityMode);
hgs
parents:
diff changeset
   517
}
hgs
parents:
diff changeset
   518
hgs
parents:
diff changeset
   519
/*!
hgs
parents:
diff changeset
   520
    Sub test case for appending an AP to AP list.
hgs
parents:
diff changeset
   521
*/
hgs
parents:
diff changeset
   522
hgs
parents:
diff changeset
   523
void TestWlanSniffer::appendWlanAp(
hgs
parents:
diff changeset
   524
    QString ssId, 
hgs
parents:
diff changeset
   525
    int signalStrength, 
hgs
parents:
diff changeset
   526
    int networkMode, 
hgs
parents:
diff changeset
   527
    int securityMode)
hgs
parents:
diff changeset
   528
{
hgs
parents:
diff changeset
   529
    QSharedPointer<WlanQtUtilsAp> ap(new WlanQtUtilsAp());
60
hgs
parents: 39
diff changeset
   530
    ap->setValue(WlanQtUtilsAp::ConfIdName, ssId);
31
hgs
parents:
diff changeset
   531
    ap->setValue(WlanQtUtilsAp::ConfIdSsid, ssId);
hgs
parents:
diff changeset
   532
    ap->setValue(WlanQtUtilsAp::ConfIdSignalStrength, signalStrength);
hgs
parents:
diff changeset
   533
    ap->setValue(WlanQtUtilsAp::ConfIdConnectionMode, networkMode);
hgs
parents:
diff changeset
   534
    ap->setValue(WlanQtUtilsAp::ConfIdSecurityMode, securityMode);
hgs
parents:
diff changeset
   535
    ap->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, false);
39
hgs
parents: 31
diff changeset
   536
    ap->setValue(WlanQtUtilsAp::ConfIdWpsSupported, false);
31
hgs
parents:
diff changeset
   537
    mAps.append(ap);
hgs
parents:
diff changeset
   538
}
hgs
parents:
diff changeset
   539
hgs
parents:
diff changeset
   540
/*!
hgs
parents:
diff changeset
   541
    Sub test case for appending an IAP to IAP list.
hgs
parents:
diff changeset
   542
*/
hgs
parents:
diff changeset
   543
hgs
parents:
diff changeset
   544
void TestWlanSniffer::appendWlanIap(
hgs
parents:
diff changeset
   545
    int iapId,
hgs
parents:
diff changeset
   546
    int netId,
hgs
parents:
diff changeset
   547
    QString name,
hgs
parents:
diff changeset
   548
    QString ssId, 
hgs
parents:
diff changeset
   549
    int signalStrength,
hgs
parents:
diff changeset
   550
    int securityMode)
hgs
parents:
diff changeset
   551
{
60
hgs
parents: 39
diff changeset
   552
    WlanQtUtilsAp *iap = new WlanQtUtilsAp();
hgs
parents: 39
diff changeset
   553
    iap->setValue(WlanQtUtilsAp::ConfIdIapId, iapId);
hgs
parents: 39
diff changeset
   554
    iap->setValue(WlanQtUtilsAp::ConfIdNetworkId, netId);
hgs
parents: 39
diff changeset
   555
    iap->setValue(WlanQtUtilsAp::ConfIdName, name);
31
hgs
parents:
diff changeset
   556
    iap->setValue(WlanQtUtilsAp::ConfIdSsid, ssId);
hgs
parents:
diff changeset
   557
    iap->setValue(WlanQtUtilsAp::ConfIdSignalStrength, signalStrength);
39
hgs
parents: 31
diff changeset
   558
    iap->setValue(WlanQtUtilsAp::ConfIdConnectionMode, CMManagerShim::Infra);
31
hgs
parents:
diff changeset
   559
    iap->setValue(WlanQtUtilsAp::ConfIdSecurityMode, securityMode);
39
hgs
parents: 31
diff changeset
   560
    iap->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, false);
hgs
parents: 31
diff changeset
   561
    iap->setValue(WlanQtUtilsAp::ConfIdWpsSupported, false);
60
hgs
parents: 39
diff changeset
   562
    mIaps.append(QSharedPointer<WlanQtUtilsAp>(iap));
31
hgs
parents:
diff changeset
   563
}