aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/androidTest/java/com/zeapo/pwdstore/PasswordEntryTest.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/androidTest/java/com/zeapo/pwdstore/PasswordEntryTest.kt')
-rw-r--r--app/src/androidTest/java/com/zeapo/pwdstore/PasswordEntryTest.kt97
1 files changed, 97 insertions, 0 deletions
diff --git a/app/src/androidTest/java/com/zeapo/pwdstore/PasswordEntryTest.kt b/app/src/androidTest/java/com/zeapo/pwdstore/PasswordEntryTest.kt
new file mode 100644
index 00000000..2f7028a4
--- /dev/null
+++ b/app/src/androidTest/java/com/zeapo/pwdstore/PasswordEntryTest.kt
@@ -0,0 +1,97 @@
+/*
+ * Copyright © 2014-2020 The Android Password Store Authors. All Rights Reserved.
+ * SPDX-License-Identifier: GPL-3.0-only
+ */
+package com.zeapo.pwdstore
+
+import kotlin.test.assertEquals
+import kotlin.test.assertFalse
+import kotlin.test.assertNull
+import kotlin.test.assertTrue
+import org.junit.Test
+
+class PasswordEntryTest {
+ @Test fun testGetPassword() {
+ assertEquals("fooooo", PasswordEntry("fooooo\nbla\n").password)
+ assertEquals("fooooo", PasswordEntry("fooooo\nbla").password)
+ assertEquals("fooooo", PasswordEntry("fooooo\n").password)
+ assertEquals("fooooo", PasswordEntry("fooooo").password)
+ assertEquals("", PasswordEntry("\nblubb\n").password)
+ assertEquals("", PasswordEntry("\nblubb").password)
+ assertEquals("", PasswordEntry("\n").password)
+ assertEquals("", PasswordEntry("").password)
+ }
+
+ @Test fun testGetExtraContent() {
+ assertEquals("bla\n", PasswordEntry("fooooo\nbla\n").extraContent)
+ assertEquals("bla", PasswordEntry("fooooo\nbla").extraContent)
+ assertEquals("", PasswordEntry("fooooo\n").extraContent)
+ assertEquals("", PasswordEntry("fooooo").extraContent)
+ assertEquals("blubb\n", PasswordEntry("\nblubb\n").extraContent)
+ assertEquals("blubb", PasswordEntry("\nblubb").extraContent)
+ assertEquals("", PasswordEntry("\n").extraContent)
+ assertEquals("", PasswordEntry("").extraContent)
+ }
+
+ @Test fun testGetUsername() {
+ assertEquals(
+ "username",
+ PasswordEntry("secret\nextra\nlogin: username\ncontent\n").username)
+ assertEquals(
+ "username",
+ PasswordEntry("\nextra\nusername: username\ncontent\n").username)
+ assertEquals(
+ "username", PasswordEntry("\nUSERNaMe: username\ncontent\n").username)
+ assertEquals("username", PasswordEntry("\nLOGiN:username").username)
+ assertNull(PasswordEntry("secret\nextra\ncontent\n").username)
+ }
+
+ @Test fun testHasUsername() {
+ assertTrue(PasswordEntry("secret\nextra\nlogin: username\ncontent\n").hasUsername())
+ assertFalse(PasswordEntry("secret\nextra\ncontent\n").hasUsername())
+ assertFalse(PasswordEntry("secret\nlogin failed\n").hasUsername())
+ assertFalse(PasswordEntry("\n").hasUsername())
+ assertFalse(PasswordEntry("").hasUsername())
+ }
+
+ @Test fun testNoTotpUriPresent() {
+ val entry = PasswordEntry("secret\nextra\nlogin: username\ncontent")
+ assertFalse(entry.hasTotp())
+ assertNull(entry.totpSecret)
+ }
+
+ @Test fun testTotpUriInPassword() {
+ val entry = PasswordEntry("otpauth://totp/test?secret=JBSWY3DPEHPK3PXP")
+ assertTrue(entry.hasTotp())
+ assertEquals("JBSWY3DPEHPK3PXP", entry.totpSecret)
+ }
+
+ @Test fun testTotpUriInContent() {
+ val entry = PasswordEntry(
+ "secret\nusername: test\notpauth://totp/test?secret=JBSWY3DPEHPK3PXP")
+ assertTrue(entry.hasTotp())
+ assertEquals("JBSWY3DPEHPK3PXP", entry.totpSecret)
+ }
+
+ @Test fun testNoHotpUriPresent() {
+ val entry = PasswordEntry("secret\nextra\nlogin: username\ncontent")
+ assertFalse(entry.hasHotp())
+ assertNull(entry.hotpSecret)
+ assertNull(entry.hotpCounter)
+ }
+
+ @Test fun testHotpUriInPassword() {
+ val entry = PasswordEntry("otpauth://hotp/test?secret=JBSWY3DPEHPK3PXP&counter=25")
+ assertTrue(entry.hasHotp())
+ assertEquals("JBSWY3DPEHPK3PXP", entry.hotpSecret)
+ assertEquals(25, entry.hotpCounter)
+ }
+
+ @Test fun testHotpUriInContent() {
+ val entry = PasswordEntry(
+ "secret\nusername: test\notpauth://hotp/test?secret=JBSWY3DPEHPK3PXP&counter=25")
+ assertTrue(entry.hasHotp())
+ assertEquals("JBSWY3DPEHPK3PXP", entry.hotpSecret)
+ assertEquals(25, entry.hotpCounter)
+ }
+}