/****************************************************************************
**
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of the Qt Mobility Components.
**
** $QT_BEGIN_LICENSE:LGPL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Digia. For licensing terms and
** conditions see http://qt.digia.com/licensing. For further information
** use the contact form at http://qt.digia.com/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Digia gives you certain additional
** rights. These rights are described in the Digia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met: http://www.gnu.org/copyleft/gpl.html.
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
//TESTED_COMPONENT=src/bearer
testcase = {
initTestCase: function()
{
if (!runAsManualTest()){
testcase.qtuitest_platform = getLocalEnv("TESTPLATFORM");
if (!checkPlatform(testcase.qtuitest_platform)){
fail("TESTPLATFORM "+ testcase.qtuitest_platform +" not valid");
}
if (testcase.platform == "linux" || testcase.platform == "mac") {
testcase.platform = "unix";
}
}
},
enumeration: function()
{
// Test meta data
testApplication = "Bearer - Enumeration of Connections";
testBinary = "bearermonitor";
testSource = "$MOBILITYDIR/examples/bearermonitor";
testGoal = "Verify the system can detect and display all available networks";
testPreconditions = "Work out the list of available networks:
1. On S60 device: use Menu->Settings->Connectivity settings application.
1. linux/Mac: ifconfig (as superuser)
1. Windows: ipconfig
";
testGroups = "";
// Test Steps
prompt(twiki("---+++ " + testApplication + "
*Goal:* " + testGoal + "
*Tested Binary:* " + testBinary + "
*Pre-Requisites:* " + testPreconditions + "
| *Step* | *Verification* |
| Launch " + testBinary + " | App starts correctly |
| Press 'Scan' | Verify all available networks are shown in the application view |
"));
},
added_interfaces: function()
{
// Test meta data
testApplication = "Bearer - Added network interfaces";
testBinary = "bearermonitor";
testSource = "$MOBILITYDIR/examples/bearermonitor";
testGoal = "Verify that network interfaces can be added";
testPreconditions = "No network access points are defined on the device; a WLAN is available";
testGroups = "";
testRequirements = "";
// Test steps
prompt(twiki("---+++ " + testApplication + "
*Goal:* " + testGoal + "
*Pre-Requisites:* " + testPreconditions + "
*Tested Binary:* " + testBinary + "
*Requirements:* " + testRequirements + "
| *Step* | *Verification* |
| Launch " + testBinary + " | Verify the cloud space is clear of networks |
| Press the Menu key to background the application | |
| Open Settings -> Connectivity -> Wireless networks | |
| Select the WLAN from the list | |
| Press Connect | |
| Press the Menu key | |
| Select the bearercloud application to foreground it | Verify the new network is displayed in the circle |
"));
},
removed_interfaces: function()
{
// Test meta data
testApplication = "Bearer - Removed network interfaces";
testBinary = "bearercloud";
testSource = "$MOBILITYDIR/examples/bearercloud";
testGoal = "Verify that removal of a network connection is detected correctly";
testPreconditions = "A connection to a WLAN exists";
testGroups = "";
testRequirements = "";
// Test steps
prompt(twiki("---+++ " + testApplication + "
*Goal:* " + testGoal + "
*Pre-Requisites:* " + testPreconditions + "
*Tested Binary:* " + testBinary + "
*Requirements:* " + testRequirements + "
| *Step* | *Verification* |
| Launch " + testBinary + " | Verify the cloud space shows a network in the green circle |
| Press the Menu key to background the application | |
| Open Settings -> Connectivity -> Destinations -> Uncategorised | |
| Select the WLAN from the list | |
| Press Options -> Delete, and then Yes in the confirm dialog | |
| Press the Menu key | |
| Select the bearercloud application to foreground it | Verify the new network is not displayed in the circle |
"));
},
change_status: function()
{
// Test meta data
testApplication = "Bearer - Changing the status of a network";
testBinary = "bearercloud";
testSource = "$MOBILITYDIR/examples/bearercloud";
testGoal = "Verify that network status changes are detected correctly";
testPreconditions = "no network access points are defined on the device; a WLAN is available";
testGroups = "";
testRequirements = "";
// Test steps
prompt(twiki("---+++ " + testApplication + "
*Goal:* " + testGoal + "
*Pre-Requisites:* " + testPreconditions + "
*Tested Binary:* " + testBinary + "
*Requirements:* " + testRequirements + "
| *Step* | *Verification* |
| Launch " + testBinary + " | Verify the cloud space is clear of networks |
| Press the Menu key to background the application | |
| Open Settings -> Connectivity -> Wireless networks | |
| Select the WLAN from the list | |
| Press Connect | |
| Press the Menu key | |
| Select the bearercloud application to foreground it | Verify the new network is displayed in the green circle (connected) |
| Press the Menu key to background the application | |
| Open Settings -> Connectivity -> Connection Mgr | |
| Select the WLAN from the list | |
| Press Options -> Disconnect | |
| Press the Menu key | |
| Select the bearercloud application to foreground it | Verify the new network is now displayed in the blue circle (disconnected) |
| Disable the network device (eg. unplug the access point) | Verify that bearercloud shows the network moves to the grey circle (unavailable) |
"));
},
interface_priority: function()
{
if (!runAsManualTest())
{
if (testcase.platform != "symbian" && testcase.platform != "maemo") {
skip("This test only applies to Symbian platform");
}
}
// Test meta data
testApplication = "Bearer - Interfaces are used in order of priority";
testBinary = "bearermonitor";
testGoal = "Verify that network interfaces are used in order of priority";
testPreconditions = " 1. GPRS is available to the device
1. WLAN is available to the device";
testGroups = " ";
// Test steps
prompt(twiki("---+++ " + testApplication + "
*Goal:* " + testGoal + "
*Tested Binary:* " + testBinary + "
*Pre-Requisites:* " + testPreconditions + "
| *Step* | *Verification* |
| Press the Menu key | |
| Select Settings->Connectivity->Destinations | |
| Select Option->New Destination, enter a name | |
| Select a picture | |
| Select the destination | |
| Select Option->New access point | |
| Select Yes | Verify that the WLAN 'x networks avail' is greater than 0 |
| Select Wireless LAN | |
| Select the test WLAN (and enter a key if necessary) | |
| Select Option->New access point | |
| Select Yes | |
| Select Packet data | |
| Enter a name and commit | |
| Press Back | |
| Select Options->Default connection | |
| Select the new Destination | Verify the Destination has a check mark |
| Launch " + testBinary + " | |
| In the list, select the new Destination | Verify 'Roaming' is shown as 'Available' |
| Move the device into an area not covered by the WLAN or simulate an uncovered environment | Verify the application indicates loss of WLAN network (may take 1 - 2 minutes) |
| Wait a bit longer (1 - 2 minutes) | Verify the application indicates a change of bearer to the GPRS network |
| Move the device into or simulate the area covered by both networks | Verify the device connects to the network using the WLAN bearer |
"));
}
}
function checkPlatform(platform)
{
if (platform == undefined){
return false;
}
if (platform.contains("S60") || platform.contains("Symbian")) {
testcase.platform = "symbian";
return true;
} else if (platform.contains("maemo")) {
testcase.platform = "maemo";
} else if (platform.contains("linux") || platform.contains("mac")) {
testcase.platform = "unix";
return true;
} else if (platform.contains("windows")) {
testcase.platform = "windows";
return true;
} else if (platform.contains("wince")) {
testcase.platform = "wince";
return true;
}
return false;
}
function getLocalEnv(name)
{
var env = QProcess.systemEnvironment();
var re = new RegExp("^" + name + "=(.*)$");
for (var i=0; i