wlanutilities/wlanqtutilities/ut/t_wlanqtutils/testwlanqtutils.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 16 Apr 2010 16:07:56 +0300
changeset 19 10810c91db26
permissions -rw-r--r--
Revision: 201011 Kit: 201015

/*
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:
* This is the header file for testing Wlan Qt Utilities library.
*/

#ifndef TESTWLANQTUTILS_H_
#define TESTWLANQTUTILS_H_

#include <QObject>

class QSignalSpy;
class WlanQtUtils;

class TestWlanQtUtils: public QObject
{
    Q_OBJECT
    
private slots:

    // Functions from QTest framework.
    void initTestCase();
    void cleanupTestCase();
    void init();
    void cleanup();

    // Test functions for public interface.
    void testAvailableWlanAps();
    void testAvailableWlanApsWithIaps();
    void testAvailableWlanApsSequence();

    void testCreateWlanIapOk();
    
    void testConnectIapOk();
    void testConnectIapErr();
    
    void testDisconnectIapOk();

    void testIapFound();
    void testIapNotFound();
    
    void testConnectedWlanIdFound();
    void testConnectedWlanIdFoundConstructor();
    void testConnectedWlanIdNotFound();

    void testScanWlans();
    
    void testWlanNetworkOpened();
    void testWlanNetworkClosed();
    
    // Test functions for private implementation (tested via public interface)
    void testConnectionTestPass();
    void testConnectionTestFail();
    
private:
    
    // Helper functions, that is, sub test cases.
    void subTestSignalWaitAndTake(QSignalSpy *spy, QList<QVariant> *arguments);
    void subTestLoadCommsDatFile(QString newCommsdatFilename);
    void subTestNewWlanQtUtils();

    // Member variables.
    WlanQtUtils *wlanQtUtils_;
    QSignalSpy *signalScanReady_;
    QSignalSpy *signalWlanNetworkOpened_;
    QSignalSpy *signalWlanNetworkClosed_;
    
    /* Default CommsDat file name
    SNAP ID=3: Internet:
        IAP ID = 1: packet data 1
        IAP ID = 3: packet data 2
        IAP ID = 4: packet data 3
        IAP ID = 5: WLAN IAP 1, EWlanSecModeOpen
        IAP ID = 6: WLAN IAP 2, EWlanSecModeWep, w2key
        IAP ID = 7: WLAN IAP 3, EWlanSecModeWpa, wlan3key
    SNAP ID = 4: Multimedia msg.
    SNAP ID = 5: WAP services
    SNAP ID = 6: My Snap:
        IAP ID = 8: Home WLAN, EWlanSecModeOpen
        IAP ID = 9: Streaming
     */
    static const QString commsDatDefault_;
};

#endif /* TESTWLANQTUTILS_H_ */