summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/build.gradle8
-rw-r--r--app/src/androidTest/java/se/leap/bitmaskclient/test/testConfigurationWizard.java2
-rw-r--r--app/src/androidTest/java/se/leap/bitmaskclient/test/testDashboard.java76
-rw-r--r--app/src/main/AndroidManifest.xml4
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/EIP.java2
5 files changed, 62 insertions, 30 deletions
diff --git a/app/build.gradle b/app/build.gradle
index a57a2763..c4fdc44b 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -2,13 +2,12 @@ apply plugin: 'android'
android {
compileSdkVersion 19
- buildToolsVersion "19.1.0"
+ buildToolsVersion "20"
defaultConfig {
minSdkVersion 14
targetSdkVersion 19
- testPackageName "se.leap.bitmaskclient.test"
testInstrumentationRunner "android.test.InstrumentationTestRunner"
}
@@ -47,8 +46,9 @@ android {
}
dependencies {
- androidTestCompile 'com.android.support:support-v4:+'
- androidTestCompile 'com.jayway.android.robotium:robotium-solo:4.3.1'
+ // androidTestCompile 'com.android.support:support-v4:20+'
+ // androidTestCompile 'com.android.support:appcompat-v7:20.+'
+ androidTestCompile 'com.jayway.android.robotium:robotium-solo:5.2.1'
compile 'com.intellij:annotations:12.0'
}
diff --git a/app/src/androidTest/java/se/leap/bitmaskclient/test/testConfigurationWizard.java b/app/src/androidTest/java/se/leap/bitmaskclient/test/testConfigurationWizard.java
index 8ddfbc57..229c3452 100644
--- a/app/src/androidTest/java/se/leap/bitmaskclient/test/testConfigurationWizard.java
+++ b/app/src/androidTest/java/se/leap/bitmaskclient/test/testConfigurationWizard.java
@@ -2,7 +2,7 @@ package se.leap.bitmaskclient.test;
import android.test.ActivityInstrumentationTestCase2;
import android.widget.ListView;
-import com.jayway.android.robotium.solo.Solo;
+import com.robotium.solo.Solo;
import java.io.IOException;
import se.leap.bitmaskclient.AboutActivity;
import se.leap.bitmaskclient.ConfigurationWizard;
diff --git a/app/src/androidTest/java/se/leap/bitmaskclient/test/testDashboard.java b/app/src/androidTest/java/se/leap/bitmaskclient/test/testDashboard.java
index bbc3e97d..fdf4f135 100644
--- a/app/src/androidTest/java/se/leap/bitmaskclient/test/testDashboard.java
+++ b/app/src/androidTest/java/se/leap/bitmaskclient/test/testDashboard.java
@@ -7,7 +7,9 @@ import android.content.IntentFilter;
import android.provider.Settings;
import android.test.ActivityInstrumentationTestCase2;
import android.util.Log;
-import com.jayway.android.robotium.solo.Solo;
+import com.robotium.solo.Solo;
+
+import de.blinkt.openvpn.activities.DisconnectVPN;
import se.leap.bitmaskclient.ConfigurationWizard;
import se.leap.bitmaskclient.Dashboard;
import se.leap.bitmaskclient.R;
@@ -38,28 +40,58 @@ public class testDashboard extends ActivityInstrumentationTestCase2<Dashboard> {
* I cannot automate that dialog.
*/
public void testOnOffOpenVpn() {
- solo.clickOnView(solo.getView(R.id.eipSwitch));
- if(!solo.waitForText(getActivity().getString(R.string.eip_status_start_pending)))
- fail();
- if(!solo.waitForText(getActivity().getString(R.string.state_auth)))
- fail();
- if(!solo.waitForText(getActivity().getString(R.string.eip_state_connected), 1, 30*1000))
- fail();
-
- solo.clickOnView(solo.getView(R.id.eipSwitch));
- if(!solo.waitForText(getActivity().getString(R.string.eip_state_not_connected)))
- fail();
-
- /*ConnectionManager.setMobileDataEnabled(false, solo.getCurrentActivity().getApplicationContext());
-
- solo.clickOnView(solo.getView(R.id.eipSwitch));
- if(!solo.waitForText(getActivity().getString(R.string.eip_status_start_pending)))
- fail();
- if(!solo.waitForText(getActivity().getString(R.string.state_nonetwork)))
- fail();
- */
+ solo.clickOnView(solo.getView(R.id.eipSwitch));
+ testEipTurningOn();
+
+ solo.clickOnView(solo.getView(R.id.eipSwitch));
+ testEipTurningOff();
+
+ solo.clickOnView(solo.getView(R.id.eipSwitch));
+ testEipTurningOn();
+
+ solo.clickOnView(solo.getView(R.id.eipSwitch));
+ testEipTurningOff();
+
+ solo.clickOnView(solo.getView(R.id.eipSwitch));
+ testEipTurningOn();
+
+ solo.clickOnView(solo.getView(R.id.eipSwitch));
+ testEipTurningOff();
+
+ solo.clickOnView(solo.getView(R.id.eipSwitch));
+ testEipTurningOn();
+
+ testEipIsOnNoNetwork();
+
}
-
+
+ private void testEipTurningOn() {
+ if(!solo.waitForText(getActivity().getString(R.string.state_auth)))
+ fail();
+ if(!solo.waitForText(getActivity().getString(R.string.eip_state_connected), 1, 30*1000))
+ fail();
+ solo.sleep(2*1000);
+ }
+
+ private void testEipTurningOff() {
+ sayOkToDisconnect();
+ if(!solo.waitForText(getActivity().getString(R.string.eip_state_not_connected)))
+ fail();
+ solo.sleep(2*1000);
+ }
+
+ private void sayOkToDisconnect() {
+ if(!solo.waitForActivity(DisconnectVPN.class))
+ fail();
+ solo.clickOnText(getActivity().getString(android.R.string.yes));
+ }
+
+ private void testEipIsOnNoNetwork() {
+ ConnectionManager.setMobileDataEnabled(false, solo.getCurrentActivity().getApplicationContext());
+ if(!solo.waitForText(getActivity().getString(R.string.eip_state_not_connected), 1, 15*1000))
+ fail();
+ }
+
public void testLogInAndOut() {
long miliseconds_to_log_in = 40 * 1000;
solo.clickOnActionBarItem(R.id.login_button);
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f73d59cb..a90d6396 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -17,8 +17,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="se.leap.bitmaskclient"
- android:versionCode="84"
- android:versionName="0.5.3" >
+ android:versionCode="86"
+ android:versionName="0.5.4" >
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
diff --git a/app/src/main/java/se/leap/bitmaskclient/EIP.java b/app/src/main/java/se/leap/bitmaskclient/EIP.java
index 0b43f9e1..7374d5ed 100644
--- a/app/src/main/java/se/leap/bitmaskclient/EIP.java
+++ b/app/src/main/java/se/leap/bitmaskclient/EIP.java
@@ -445,7 +445,7 @@ public final class EIP extends IntentService {
} catch (JSONException e) {
Log.v(TAG,"Couldn't read gateway name for profile creation! Returning original name = " + mName);
e.printStackTrace();
- return mName;
+ return (mName != null) ? mName : "";
}
}