[[https://wiki.ubuntu.com/Process/Merges/Checklists/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.