diff options
Diffstat (limited to 'app/src/androidTest/legacy/TestEipFragment.java')
-rw-r--r-- | app/src/androidTest/legacy/TestEipFragment.java | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/app/src/androidTest/legacy/TestEipFragment.java b/app/src/androidTest/legacy/TestEipFragment.java new file mode 100644 index 00000000..4227f19a --- /dev/null +++ b/app/src/androidTest/legacy/TestEipFragment.java @@ -0,0 +1,73 @@ +package se.leap.bitmaskclient.test; + +public class TestEipFragment extends BaseTestDashboardFragment { + + /** + * This test will fail if Android does not trust VPN connection. + * I cannot automate that dialog. + */ + public void testOnOffOpenVpn() { + vpn_controller.clickVpnButton(); + Screenshot.setTimeToSleep(2); + 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(); + + } + + /** + * 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() { + checkDemoBitmaskNet(); + checkRiseupNet(); + checkCalyxNet(); + } + + private void checkDemoBitmaskNet() { + checkProvider("demo.bitmask.net"); + } + + private void checkRiseupNet() { + checkProvider("riseup.net"); + } + + private void checkCalyxNet() { + checkProvider("calyx.net"); + } + + private void checkProvider(String provider) { + changeProviderAndLogIn(provider); + vpn_controller.sleepSeconds(1); + vpn_controller.turnVpnOnAndOff(); + vpn_controller.sleepSeconds(1); + } + + public void testVpnIconIsDisplayed() { + assertTrue(isShownWithinConfinesOfVisibleScreen(vpn_controller.getVpnWholeIcon())); + } + public void testVpnButtonIsDisplayed() { + assertTrue(isShownWithinConfinesOfVisibleScreen(vpn_controller.getVpnButton())); + } +} |