

























@@ -204,17 +204,18 @@ class GatewayConfigResolverTest {
204204 }
205205206206 @Test
207-fun resolveScannedSetupCodeAcceptsRawSetupCode() {
207+fun resolveScannedSetupCodeResultAcceptsRawSetupCode() {
208208val setupCode =
209209 encodeSetupCode("""{"url":"wss://gateway.example:18789","bootstrapToken":"bootstrap-1"}""")
210210211-val resolved = resolveScannedSetupCode(setupCode)
211+val resolved = resolveScannedSetupCodeResult(setupCode)
212212213- assertEquals(setupCode, resolved)
213+ assertEquals(setupCode, resolved.setupCode)
214+ assertNull(resolved.error)
214215 }
215216216217 @Test
217-fun resolveScannedSetupCodeAcceptsQrJsonPayload() {
218+fun resolveScannedSetupCodeResultAcceptsQrJsonPayload() {
218219val setupCode =
219220 encodeSetupCode("""{"url":"wss://gateway.example:18789","bootstrapToken":"bootstrap-1"}""")
220221val qrJson =
@@ -227,49 +228,55 @@ class GatewayConfigResolverTest {
227228 }
228229 """.trimIndent()
229230230-val resolved = resolveScannedSetupCode(qrJson)
231+val resolved = resolveScannedSetupCodeResult(qrJson)
231232232- assertEquals(setupCode, resolved)
233+ assertEquals(setupCode, resolved.setupCode)
234+ assertNull(resolved.error)
233235 }
234236235237 @Test
236-fun resolveScannedSetupCodeRejectsInvalidInput() {
237-val resolved = resolveScannedSetupCode("not-a-valid-setup-code")
238- assertNull(resolved)
238+fun resolveScannedSetupCodeResultRejectsInvalidInput() {
239+val resolved = resolveScannedSetupCodeResult("not-a-valid-setup-code")
240+ assertNull(resolved.setupCode)
241+ assertEquals(GatewayEndpointValidationError.INVALID_URL, resolved.error)
239242 }
240243241244 @Test
242-fun resolveScannedSetupCodeRejectsJsonWithInvalidSetupCode() {
245+fun resolveScannedSetupCodeResultRejectsJsonWithInvalidSetupCode() {
243246val qrJson = """{"setupCode":"invalid"}"""
244-val resolved = resolveScannedSetupCode(qrJson)
245- assertNull(resolved)
247+val resolved = resolveScannedSetupCodeResult(qrJson)
248+ assertNull(resolved.setupCode)
249+ assertEquals(GatewayEndpointValidationError.INVALID_URL, resolved.error)
246250 }
247251248252 @Test
249-fun resolveScannedSetupCodeRejectsJsonWithNonStringSetupCode() {
253+fun resolveScannedSetupCodeResultRejectsJsonWithNonStringSetupCode() {
250254val qrJson = """{"setupCode":{"nested":"value"}}"""
251-val resolved = resolveScannedSetupCode(qrJson)
252- assertNull(resolved)
255+val resolved = resolveScannedSetupCodeResult(qrJson)
256+ assertNull(resolved.setupCode)
257+ assertEquals(GatewayEndpointValidationError.INVALID_URL, resolved.error)
253258 }
254259255260 @Test
256-fun resolveScannedSetupCodeRejectsNonLoopbackCleartextGateway() {
261+fun resolveScannedSetupCodeResultRejectsNonLoopbackCleartextGateway() {
257262val setupCode =
258263 encodeSetupCode("""{"url":"ws://attacker.example:18789","bootstrapToken":"bootstrap-1"}""")
259264260-val resolved = resolveScannedSetupCode(setupCode)
265+val resolved = resolveScannedSetupCodeResult(setupCode)
261266262- assertNull(resolved)
267+ assertNull(resolved.setupCode)
268+ assertEquals(GatewayEndpointValidationError.INSECURE_REMOTE_URL, resolved.error)
263269 }
264270265271 @Test
266-fun resolveScannedSetupCodeAcceptsPrivateLanCleartextGateway() {
272+fun resolveScannedSetupCodeResultAcceptsPrivateLanCleartextGateway() {
267273val setupCode =
268274 encodeSetupCode("""{"url":"ws://192.168.31.100:18789","bootstrapToken":"bootstrap-1"}""")
269275270-val resolved = resolveScannedSetupCode(setupCode)
276+val resolved = resolveScannedSetupCodeResult(setupCode)
271277272- assertEquals(setupCode, resolved)
278+ assertEquals(setupCode, resolved.setupCode)
279+ assertNull(resolved.error)
273280 }
274281275282 @Test
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。