diff options
| author | Harsh Shandilya <msfjarvis@gmail.com> | 2020-04-17 00:24:13 +0530 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-04-17 00:24:13 +0530 |
| commit | 4ffd7ed9bffa5139277ffb91de5a69f2b714222c (patch) | |
| tree | bccd7b27685d602da42d03111eeb4a36b1a803c1 /app/src/androidTest/java/com/zeapo/pwdstore/PasswordEntryTest.kt | |
| parent | 8b4751f8250dea3efe04c73a87bdfe2926e2ac3f (diff) | |
| download | HardenedPass-4ffd7ed9bffa5139277ffb91de5a69f2b714222c.tar.gz HardenedPass-4ffd7ed9bffa5139277ffb91de5a69f2b714222c.zip | |
Enable emulator tests (#708)
* github: Enable instrumentation testing in PRs
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Upgrade to Gradle 6.3
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Remove outdated and broken tests, redo PasswordEntryTest in Kotlin
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Remove now unused test assets
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* github: Disable debug APK uploads in PR testing
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Update .github/workflows/pull_request.yml
* Update .github/workflows/pull_request.yml
Switching to Ubuntu fails due to the SDK 29 missing.
Co-authored-by: Fabian Henneke <FabianHenneke@users.noreply.github.com>
Diffstat (limited to 'app/src/androidTest/java/com/zeapo/pwdstore/PasswordEntryTest.kt')
| -rw-r--r-- | app/src/androidTest/java/com/zeapo/pwdstore/PasswordEntryTest.kt | 97 |
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) + } +} |
