Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
Riseup's EE certificate expired (EE = End-Entity, the commercial
certificate signed by the issuer), and we weren't able to fetch
provider.json because the pin wasn't valid.
This problem needs to be avoided in the future, using
HKPK (https://tools.ietf.org/html/rfc7469), which Micah's implementing
on Riseup.
Switching from build types from flavors enables us to run tests against
production apk, not just debug. I didn't detect this pinning problem
because tests were run only against the debug apk, which trusted
preseeded providers by default (thus bypassing pinning issue).
|
|
Sometimes, the emulator is so slow (I wish genymotion was open
source...) that even though everything's going OK tests fail because
they don't wait enough.
|
|
testVpnButtonIsDisplayed and testVpnIconIsDisplayed fail because calyx in testVpnEveryProvider fails, but if you run them alone they pass.
|
|
Give more time to provider details fragment to appear, because debugging makes the code run slowly.
|
|
And checks in controllers, so that if a button isn't shown, I throw a
new IllegalStateException. This helps to trace the error.
|
|
|
|
|
|
This way, I can add more easily the tests for errors.
|
|
Next step: beautify.
|
|
Tests click new button, instead of action bar's.
Fixing more bugs...
|
|
I've separated the user session management to it, and encapsulated
ProviderAPICommand into its own class.
Putting the fragment statically in dashboard.xml isn't working, Android
complains about it being duplicated, so I'm going to add it dynamically.
|
|
|
|
Turn on VPN touching that button, and leave the image as a mere indicator.
|
|
|
|
They were relying on status messages, but I've removed that TextView.
|
|
Fixed more tests, broken due to previous pullreqs...
|
|
Thanks to http://stackoverflow.com/questions/3791607/how-can-i-check-if-a-view-is-visible-or-not-in-android/12428208#12428208
|
|
I've done this because of https://leap.se/code/issues/6863#note-2,
testing the previous commit's changes.
|
|
|
|
|
|
Calyx fails.
|
|
|
|
|
|
|
|
testIsValid depends on the speed of Runtime's exec: sometimes it's quick
and passes (because it changes the date correctly) and sometimes is
not. A waitFor doesn't fix the issue, it waits forever.
|
|
|
|
|
|
|
|
|
|
Written basic skeleton for testEIP, renamed testDashboard to start, in
the future, unit tests.
|
|
|
|
ProviderAPI from debug build uses an invalid certificate the first time
it tries to download a new cert, just to test this.
|
|
I simulate removing the network at the end of the test.
Sometimes, the test fails because a openvpn tries to close a bad file
descriptor.
|
|
The tests say they failed, but it's because the adb server is no longer
able to communicate with the emulator due to switching network
connectivity off (and being the adb server connected to a local tcp port
of the emulator, this port dissapears once connectivity is down).
To see if all tests passed, take a look at the logcat.
Once tests are finished, issue "adb kill-server" from the development
machine, and then "adb logcat".
|
|
I've also fixed a simple test that wasn't letting the suite to finish
correctly.
|
|
|
|
The test that checked how many providers were listed was failing
because this test added dev.bm.net, which was already present in the
debug apk, so no new provider was added.
|
|
This return to "app" instead of "bitmask_android" is due to this reading: https://developer.android.com/sdk/installing/studio-build.html#projectStructure
I'll have to tweak the final apk name in build.gradle.
|
|
This way, gradle commands generate apks correctly named.
|
|
|