aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/AsymmetricOperationTests.java
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2015-06-20 22:29:03 +0200
committerVincent Breitmoser <valodim@mugenguild.com>2015-06-20 22:29:03 +0200
commit2e8ae577b5357b388c7055946950cf90e206145c (patch)
tree03c2ed6092cb5e4cbeb170113af0cdef8b3cad94 /OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/AsymmetricOperationTests.java
parent0be790dcad21dc950e803f71185f78ed2e505985 (diff)
downloadopen-keychain-2e8ae577b5357b388c7055946950cf90e206145c.tar.gz
open-keychain-2e8ae577b5357b388c7055946950cf90e206145c.tar.bz2
open-keychain-2e8ae577b5357b388c7055946950cf90e206145c.zip
instrument: check for encrypt/sign status icons
Diffstat (limited to 'OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/AsymmetricOperationTests.java')
-rw-r--r--OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/AsymmetricOperationTests.java25
1 files changed, 24 insertions, 1 deletions
diff --git a/OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/AsymmetricOperationTests.java b/OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/AsymmetricOperationTests.java
index 778406d2a..246e2dd52 100644
--- a/OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/AsymmetricOperationTests.java
+++ b/OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/AsymmetricOperationTests.java
@@ -38,11 +38,13 @@ import static android.support.test.espresso.Espresso.onView;
import static android.support.test.espresso.Espresso.pressBack;
import static android.support.test.espresso.action.ViewActions.click;
import static android.support.test.espresso.action.ViewActions.typeText;
+import static android.support.test.espresso.assertion.ViewAssertions.doesNotExist;
import static android.support.test.espresso.assertion.ViewAssertions.matches;
import static android.support.test.espresso.contrib.DrawerActions.openDrawer;
import static android.support.test.espresso.matcher.ViewMatchers.hasDescendant;
import static android.support.test.espresso.matcher.ViewMatchers.isAssignableFrom;
import static android.support.test.espresso.matcher.ViewMatchers.isDescendantOfA;
+import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
import static android.support.test.espresso.matcher.ViewMatchers.withId;
import static android.support.test.espresso.matcher.ViewMatchers.withText;
import static org.hamcrest.CoreMatchers.allOf;
@@ -51,11 +53,13 @@ import static org.sufficientlysecure.keychain.TestHelpers.importKeysFromResource
import static org.sufficientlysecure.keychain.TestHelpers.randomString;
import static org.sufficientlysecure.keychain.actions.CustomActions.tokenEncryptViewAddToken;
import static org.sufficientlysecure.keychain.matcher.CustomMatchers.isRecyclerItemView;
+import static org.sufficientlysecure.keychain.matcher.CustomMatchers.withDisplayedChild;
import static org.sufficientlysecure.keychain.matcher.CustomMatchers.withEncryptionStatus;
import static org.sufficientlysecure.keychain.matcher.CustomMatchers.withKeyItemId;
import static org.sufficientlysecure.keychain.matcher.CustomMatchers.withSignatureMyKey;
import static org.sufficientlysecure.keychain.matcher.CustomMatchers.withSignatureNone;
+
@RunWith(AndroidJUnit4.class)
@LargeTest
public class AsymmetricOperationTests {
@@ -95,7 +99,9 @@ public class AsymmetricOperationTests {
{ // encrypt
// the EncryptKeyCompletionView is tested individually
+ onView(withId(R.id.result_encryption_icon)).check(matches(withDisplayedChild(0)));
onView(withId(R.id.recipient_list)).perform(tokenEncryptViewAddToken(0x9D604D2F310716A3L));
+ onView(withId(R.id.result_encryption_icon)).check(matches(withDisplayedChild(1)));
onView(withId(R.id.encrypt_text_text)).perform(typeText(cleartext));
@@ -133,6 +139,9 @@ public class AsymmetricOperationTests {
.perform(click());
onView(withId(R.id.view_key_action_encrypt_text)).perform(click());
+ // make sure the encrypt is correctly set
+ onView(withId(R.id.result_encryption_icon)).check(matches(withDisplayedChild(1)));
+
onView(withId(R.id.encrypt_text_text)).perform(typeText(cleartext));
onView(withId(R.id.encrypt_copy)).perform(click());
@@ -185,11 +194,12 @@ public class AsymmetricOperationTests {
onView(withId(R.id.encrypt_copy)).perform(click());
checkSnackbar(Style.ERROR, R.string.error_empty_text);
- // navigate to edit key dialog
+ onView(withId(R.id.result_signature_icon)).check(matches(withDisplayedChild(0)));
onView(withId(R.id.sign)).perform(click());
onData(withKeyItemId(0x9D604D2F310716A3L))
.inAdapterView(isAssignableFrom(AdapterView.class))
.perform(click());
+ onView(withId(R.id.result_signature_icon)).check(matches(withDisplayedChild(1)));
onView(withId(R.id.encrypt_text_text)).perform(typeText(cleartext));
@@ -213,6 +223,19 @@ public class AsymmetricOperationTests {
hasDescendant(withText(R.string.filename_unknown))))
.check(matches(allOf(withEncryptionStatus(false), withSignatureMyKey())));
+ // open context menu
+ onView(allOf(isDescendantOfA(isRecyclerItemView(R.id.decrypted_files_list,
+ hasDescendant(withText(R.string.filename_unknown)))),
+ withId(R.id.context_menu))).perform(click());
+
+ // "delete file" shouldn't be there
+ onView(withText(R.string.btn_delete_original)).check(doesNotExist());
+
+ // check if log looks ok
+ onView(withText(R.string.view_log)).perform(click());
+ onView(withText(R.string.msg_dc_clear_signature_ok)).check(matches(isDisplayed()));
+ pressBack();
+
}
}