feat: establish Android project foundation #2

Merged
KremeCN merged 4 commits from feat/project-foundation into main 2026-08-22 22:41:16 +08:00
2 changed files with 15 additions and 1 deletions
Showing only changes of commit cbc2dc7ec5 - Show all commits
@@ -13,7 +13,9 @@ value class DeviceName(val value: String)
value class Username(val value: String)
@JvmInline
value class Password(val value: String)
value class Password(val value: String) {
override fun toString(): String = "Password(***)"
}
enum class ProviderType {
ABOX,
@@ -1,6 +1,7 @@
package com.flagship.abox.manager.domain
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
import org.junit.Test
@@ -20,4 +21,15 @@ class DomainResultTest {
assertTrue(result is DomainResult.Failure)
assertEquals("20504", (result as DomainResult.Failure).error.externalCode)
}
@Test
fun credentialStringsDoNotExposePassword() {
val plaintext = "secret-password"
val password = Password(plaintext)
val credentials = LoginCredentials(Username("demo"), password)
assertFalse(password.toString().contains(plaintext))
assertFalse(credentials.toString().contains(plaintext))
assertTrue(credentials.toString().contains("Password(***)"))
}
}