indicator-network

Check List

The source for this document can be gotten from Bazaar:

bzr cat lp:indicator-network/tests/manual

The source is in the standard manual testing format for Ubuntu QA: Testing/TestCaseFormat

Test Case: indicator-network/unity8-items-check

Procedure

  • Login to a user session running Unity 8
  • Pull down the top panel until it sticks open
  • Navigate through the tabs until "Network" is shown
    • Network is at the top of the menu
    • The menu is populated with items

Test Case: indicator-network/unlock-sim

  • only applicable if you have a SIM card that has SIM PIN code enabled
  • note: on krillin you might not get the automatic dialog on boot if you only have one SIM card inserted as it might take the modems more time to become ready than unity8 to start

Procedure

  • Boot phone
  • Verify that you get an automatic unlock dialog (on per PIN enabled SIM) on boot
  • Cancel the automatic dialog(s)
  • unlock all of the SIMs from i-network
  • If the phone has more than one SIM, verify that the unlock dialog displays the correct SIM label.

Test Case: indicator-network/unlock-sim-connectivity-service-dbus-api

  • only applicable if you have a SIM card that has SIM PIN code enabled
  • note: on krillin you might not get the automatic dialog on boot if you only have one SIM card inserted as it might take the modems more time to become ready than unity8 to start

Procedure

  • Boot phone
  • Verify that you get an automatic unlock dialog (on per PIN enabled SIM) on boot
  • Cancel the automatic dialog(s)
  • issue the following command on the shell:
    • $ dbus-send --session --print-reply --dest=com.ubuntu.connectivity1 /com/ubuntu/connectivity1/Private com.ubuntu.connectivity1.Private.UnlockAllModems

  • Verify that you get pin unlock dialog displayed for each modem
    • Cancel the dialogs without unlocking
  • Issue the following command on the shell:
    • $ dbus-send --session --print-reply --dest=com.ubuntu.connectivity1 /com/ubuntu/connectivity1/Private com.ubuntu.connectivity1.Private.UnlockModem string:/ril_0

  • Verify that you get an unlock dialog for SIM 1
    • Cancel the dialog
  • (krillin only) Issue the following command on the shell:
    • $ dbus-send --session --print-reply --dest=com.ubuntu.connectivity1 /com/ubuntu/connectivity1/Private com.ubuntu.connectivity1.Private.UnlockModem string:/ril_1

  • (krillin only) Verify that you get an unlock dialog for SIM 2
    • Cancel the dialog

Test Case: indicator-network/empty-wifilist

Procedure

  • Disable Wi-Fi
  • Boot phone
  • Vefify that the indicator shows Wi-Fi as disabled
  • Verify that the indicator does not list any networks
  • Enable wifi
  • Check networks show up in the indicator
  • Disable wifi
  • Check that no networks show up in the indicator

Test Case: indicator-network/flightmode

Procedure

  • Boot phone
  • Open indicator, unlock SIM(s)
  • Enable cellular data from system settings
  • Enable flightmode in the indicator
  • Verify that the modem(s) get to "Offline" state in the indicator
  • Verify that the cellular data toggle is disabled in the indicator
  • Disable flightmode
  • Verify that the modem(s) get out of "Offline state
  • Verify that the cellular data toggle is enabled in the indicator
  • Verify that cellular data connection is re-established on the selected SIM

Test Case: indicator-network/default-sim-for-mobile-data

Procedure

  • Shutdown phone
  • Remove SIM card(s)
  • Start phone
  • run $ dbus-send --session --print-reply --dest=com.ubuntu.connectivity1 /com/ubuntu/connectivity1/Private org.freedesktop.DBus.Properties.Set string:com.ubuntu.connectivity1.Private string:SimForMobileData variant:objpath:/

  • Shutdown phone
  • Insert one SIM card

  • Start phone
  • Open indicator, unlock SIM
  • Verify that the cellular data toggle is enabled in the indicator
  • Activate cellular data toggle if it's off
  • Verify that cellular data connection is established on the inserted SIM

Test Case: indicator-network/wifi-cancel

Procedure

  • Disable wifi
  • Enable wifi
  • Select a protected network (specifically, a network the device has not been connected to before)
  • When the password dialog shows up, click cancel
  • Verify that wifi remains toggled on
  • If the device was connected to a network before verify that the device connects to the previous network
  • If the device was not connected to any network before verify that none of the networks has been connected to
  • Verify that no networks show in the indicator twice and that you can still see the network you previously selected

Test Case: indicator-network/no-expire-dialogs

Procedure

  • Boot phone
  • Cancel the automatic dialog(s)
  • Enable wifi
  • Select a protected network (specifically, a network the device has not been connected to before)
  • When the password dialog shows up, leave it open
  • Verify that the dialog does not expire automatically after 60 seconds
  • Cancel the dialog
  • Select "Unlock SIM..."
  • Leave the PIN Unlock dialog open
  • Verify that the dialog does not expire automatically after 60 seconds

Test Case: indicator-network/wifi-connect

Procedure

  • Disable wifi
  • Enable wifi
  • Select a protected network (specifically, a network the device has not been connected to before)
  • When the password dialog shows up, enter correct password for the network
  • Verify that the selected network is shown as connected in the indicator (i.e. Appears at the top of the networks list in green text)
  • Verify that the device is connected to the network (i.e. The indicator icon displays a wifi symbol, and internet related operation such as using the browser app works)

Test Case: indicator-network/vpn-support

Procedure

  • Copy pre-existing VPN configuration from desktop machine from /etc/NetworkManager/system-connections onto phone.
  • Amend paths to certificates as appropriate (change /home/USER to /home/phablet for example).
  • Restart device to get network manager to detect the new connection.
  • Verify that the connection name appears in the indicator.
  • Verify that the system settings link through exists (will not be fully functional until system settings development is complete).
  • Activate the VPN connection.
  • Verify that the VPN connection is functional (e.g. visit website hosted internally on VPN).

Setup Procedure for Manual Testing

Compile unity8 from trunk

sudo apt-get build-dep unity8
bzr branch lp:unity8
cd unity8/
./build -s # install all the dependencies and such
./build

Run unity8

Make sure you have qtdeclarative5-unity-notifications-plugin installed to get the notifications working:

sudo apt-get install qtdeclarative5-unity-notifications-plugin

Run unity8:

cd unity8/
GRID_UNIT_PX=10 ./run

Only testing the indicator

If you only want to test the indicator and don't need the whole unity8 running you can do:

cd unity8
./builddir/src/Panel/Indicators/client/indicators-client

Setup ofono-phonesim

sudo apt-get install ofono ofono-phonesim

Edit /etc/ofono/phonesim.conf:

[sim1]
Address=127.0.0.1
Port=12345

Dual-Sim testing

Edit /etc/ofono/phonesim.conf:

[sim1]
Address=127.0.0.1
Port=12345

[sim2]
Address=127.0.0.1
Port=23456

Run ofono-phonesim

Open a new terminal and start a single instance of ofono-phonesim:

ofono-phonesim -p 12345 /usr/share/phonesim/default.xml

Dual-sim testing

start two instances of ofono-phonesim:

ofono-phonesim -p 12345 /usr/share/phonesim/default.xml &
ofono-phonesim -p 23456 /usr/share/phonesim/default.xml

restart ofono

After starting ofono-phonesim you need to restart ofono:

sudo restart ofono

Run indicator-network

After you have unity8 running, just run indicator-network from your local build dir. You should now see indicator-network appear in the unity8 indicator area.

Restore unity7 indicators

After you close unity8, indicators in unity7 disappear. To get them back execute:

initctl emit indicator-services-start

Running Autopilot Tests

$ adb shell 
# apt-get install indicator-network-autopilot
# su - phablet
$ /sbin/initctl stop unity8
$ autopilot3 run indicator_network

Setting up Enterprise WPA

Requirements

Firstly you will need a wireless access point that supports Enterprise WiFi. The basic Unifi AP, which is quite cheap, is a good choice for this.

You should have control over your DHCP server, and you will need hosting for virtual machines from something wired (ethernet, etc) into your network.

Deploying a radius server

Firstly download the daloradius VM image from (http://sourceforge.net/projects/daloradius/files/daloradius/daloRADIUS%20VM/). The deploy it in your virtualisation software of choice.

It's also worth grabbing the PDF in that folder, as it contains the various credentials for different parts of the image.

Configure IP addresses

Either you will need to set the IP address of the VM statically through the console, or have a static mapping for it on your DHCP server. Whichever you choose, make a note of the IP address you assign.

Manual configuration steps

The daloradius appliance is 90% configured correctly out of the box. Just a couple of things need to be changed, however.

So ssh into the box:

ssh root@x.x.x.x

the root password is daloradius.

SQL authentcation

Firstly enable SQL authentication: vim /etc/freeradius/sites-enabled/default

and uncomment the following lines:

# See "Authorization Queries" in sql.conf
sql
# See "Accounting queries" in sql.conf
sql
# See "Simultaneous Use Checking Queries" in sql.conf
sql
# See "Authentication Logging Queries" in sql.conf
sql

Client access

Now enable access to your clients / NAS. In radius terms NAS is another device that wants to delegate authentication requests, not a file server. vim /etc/freeradius/clients.conf

I added a line like so:

client 192.168.0.0/24 {
        secret = testing123
        shortname = accesspoints
}

MSCHAP authentication

Now fix CHAP authentication by editing: {{{vim /etc/freeradius/eap.conf}

take a look at the section “eap” and change: default-eap-type = md5 to: default-eap-type = peap

MSCHAPv2 authentication

Edit: vim /etc/freeradius/modules/mschap

change:

use_mppe = yes
require_encryption = yes
require_strong = yes
with_ntdomain_hack = yes

To tell FreeRADIUS that it has to use SQL in the inner CHAP tunnel edit: vim /etc/freeradius/sites-enabled/inner-tunnel where you uncomment “sql”:

# See "Authorization Queries" in sql.conf
sql
# See "Simultaneous Use Checking Queries" in sql.conf
sql
# See "Authentication Logging Queries" in sql.conf
sql

Web UI

Go to the web config at: http://x.x.x.x

This will prompt for some .htaccess credentials you can find in the PDF.

Click on the "daloRADIUS platform" link.

Log in as the administrator again here.

Go into Management ->Nas.

Create a new nas for the IP address of each access point you intend to use. You can use the nas type of "other", and it's simpler to re-use the same secret as in the client.conf. Leave the port as zero (it's not a TCP port as far as I can tell).

Testing

At this point you should be able to try and log in.

Process/Merges/TestPlan/indicator-network (last edited 2016-08-18 11:43:11 by localhost)