diff options
Diffstat (limited to 'app/src/androidTest/java/se/leap/bitmaskclient/test/testVpnFragment.java')
-rw-r--r-- | app/src/androidTest/java/se/leap/bitmaskclient/test/testVpnFragment.java | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/app/src/androidTest/java/se/leap/bitmaskclient/test/testVpnFragment.java b/app/src/androidTest/java/se/leap/bitmaskclient/test/testVpnFragment.java new file mode 100644 index 00000000..d23be601 --- /dev/null +++ b/app/src/androidTest/java/se/leap/bitmaskclient/test/testVpnFragment.java @@ -0,0 +1,87 @@ +package se.leap.bitmaskclient.test; + +public class testVpnFragment extends BaseTestDashboard { + + @Override + protected void setUp() throws Exception { + super.setUp(); + Screenshot.initialize(solo); + } + + /** + * This test will fail if Android does not trust VPN connection. + * I cannot automate that dialog. + */ + public void testOnOffOpenVpn() { + Screenshot.take("Initial UI"); + vpn_controller.clickVpnButton(); + Screenshot.setTimeToSleep(5); + Screenshot.takeWithSleep("Turning VPN on"); + vpn_controller.turningEipOn(); + Screenshot.setTimeToSleep(0.5); + Screenshot.takeWithSleep("VPN turned on"); + + vpn_controller.clickVpnButton(); + vpn_controller.turningEipOff(); + Screenshot.take("VPN turned off"); + + vpn_controller.clickVpnButton(); + vpn_controller.turningEipOn(); + + vpn_controller.clickVpnButton(); + vpn_controller.turningEipOff(); + + /*clickVpnButton();; + turningEipOn(); + + turnNetworkOff(); + restartAdbServer(); // This doesn't work + */ + + } + + /** + * Run only if the trust this app dialog has not been checked. + * You must pay attention to the screen, because you need to cancel de dialog twice (block vpn and normal vpn) + */ + public void testOnFailed() { + /* TODO Do not rely on the Android's vpn trust dialog + vpn_controller.clickVpnButton(); + assertTrue("Have you checked the trust vpn dialog?", solo.waitForActivity(LogWindow.class)); + solo.goBack(); + assertTrue(vpn_controller.iconShowsDisconnected()); + */ + } + + public void testVpnEveryProvider() { + testDemoBitmaskNet(); + testRiseupNet(); + testCalyxNet(); + } + + private void testDemoBitmaskNet() { + testProvider("demo.bitmask.net"); + } + + private void testRiseupNet() { + testProvider("riseup.net"); + } + + private void testCalyxNet() { + testProvider("calyx.net"); + } + + private void testProvider(String provider) { + changeProviderAndLogIn(provider); + vpn_controller.sleepSeconds(1); + vpn_controller.turnVpnOndAndOff(provider); + vpn_controller.sleepSeconds(1); + } + + public void testVpnIconIsDisplayed() { + assertTrue(isShownWithinConfinesOfVisibleScreen(vpn_controller.getVpnWholeIcon())); + } + public void testVpnButtonIsDisplayed() { + assertTrue(isShownWithinConfinesOfVisibleScreen(vpn_controller.getVpnButton())); + } +} |