Fixes throw vs null test cases and nsec hallucinations
This commit is contained in:
+27
-24
@@ -23,6 +23,7 @@ package com.vitorpamplona.quartz.nip47WalletConnect
|
|||||||
import com.vitorpamplona.quartz.nip01Core.core.OptimizedJsonMapper
|
import com.vitorpamplona.quartz.nip01Core.core.OptimizedJsonMapper
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
|
import kotlin.test.assertFailsWith
|
||||||
import kotlin.test.assertIs
|
import kotlin.test.assertIs
|
||||||
import kotlin.test.assertNotNull
|
import kotlin.test.assertNotNull
|
||||||
import kotlin.test.assertNull
|
import kotlin.test.assertNull
|
||||||
@@ -35,16 +36,16 @@ class NotificationTest {
|
|||||||
val notification = OptimizedJsonMapper.fromJsonTo<Notification>(json)
|
val notification = OptimizedJsonMapper.fromJsonTo<Notification>(json)
|
||||||
assertIs<PaymentReceivedNotification>(notification)
|
assertIs<PaymentReceivedNotification>(notification)
|
||||||
assertNotNull(notification.notification)
|
assertNotNull(notification.notification)
|
||||||
assertEquals("incoming", notification.notification?.type)
|
assertEquals("incoming", notification.notification.type)
|
||||||
assertEquals("lnbc50n1...", notification.notification?.invoice)
|
assertEquals("lnbc50n1...", notification.notification.invoice)
|
||||||
assertEquals("coffee", notification.notification?.description)
|
assertEquals("coffee", notification.notification.description)
|
||||||
assertEquals("abc", notification.notification?.preimage)
|
assertEquals("abc", notification.notification.preimage)
|
||||||
assertEquals("hash123", notification.notification?.payment_hash)
|
assertEquals("hash123", notification.notification.payment_hash)
|
||||||
assertEquals(5000L, notification.notification?.amount)
|
assertEquals(5000L, notification.notification.amount)
|
||||||
assertEquals(10L, notification.notification?.fees_paid)
|
assertEquals(10L, notification.notification.fees_paid)
|
||||||
assertEquals(1693876497L, notification.notification?.created_at)
|
assertEquals(1693876497L, notification.notification.created_at)
|
||||||
assertEquals(1694876497L, notification.notification?.expires_at)
|
assertEquals(1694876497L, notification.notification.expires_at)
|
||||||
assertEquals(1694876500L, notification.notification?.settled_at)
|
assertEquals(1694876500L, notification.notification.settled_at)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -54,11 +55,11 @@ class NotificationTest {
|
|||||||
val notification = OptimizedJsonMapper.fromJsonTo<Notification>(json)
|
val notification = OptimizedJsonMapper.fromJsonTo<Notification>(json)
|
||||||
assertIs<PaymentSentNotification>(notification)
|
assertIs<PaymentSentNotification>(notification)
|
||||||
assertNotNull(notification.notification)
|
assertNotNull(notification.notification)
|
||||||
assertEquals("outgoing", notification.notification?.type)
|
assertEquals("outgoing", notification.notification.type)
|
||||||
assertEquals("lnbc100n1...", notification.notification?.invoice)
|
assertEquals("lnbc100n1...", notification.notification.invoice)
|
||||||
assertEquals("def456", notification.notification?.preimage)
|
assertEquals("def456", notification.notification.preimage)
|
||||||
assertEquals(10000L, notification.notification?.amount)
|
assertEquals(10000L, notification.notification.amount)
|
||||||
assertEquals(50L, notification.notification?.fees_paid)
|
assertEquals(50L, notification.notification.fees_paid)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -68,13 +69,13 @@ class NotificationTest {
|
|||||||
val notification = OptimizedJsonMapper.fromJsonTo<Notification>(json)
|
val notification = OptimizedJsonMapper.fromJsonTo<Notification>(json)
|
||||||
assertIs<HoldInvoiceAcceptedNotification>(notification)
|
assertIs<HoldInvoiceAcceptedNotification>(notification)
|
||||||
assertNotNull(notification.notification)
|
assertNotNull(notification.notification)
|
||||||
assertEquals("incoming", notification.notification?.type)
|
assertEquals("incoming", notification.notification.type)
|
||||||
assertEquals("lnbc200n1...", notification.notification?.invoice)
|
assertEquals("lnbc200n1...", notification.notification.invoice)
|
||||||
assertEquals("hash789", notification.notification?.payment_hash)
|
assertEquals("hash789", notification.notification.payment_hash)
|
||||||
assertEquals(20000L, notification.notification?.amount)
|
assertEquals(20000L, notification.notification.amount)
|
||||||
assertEquals(800000L, notification.notification?.settle_deadline)
|
assertEquals(800000L, notification.notification.settle_deadline)
|
||||||
assertEquals(1693876497L, notification.notification?.created_at)
|
assertEquals(1693876497L, notification.notification.created_at)
|
||||||
assertEquals(1694876497L, notification.notification?.expires_at)
|
assertEquals(1694876497L, notification.notification.expires_at)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -89,9 +90,11 @@ class NotificationTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Throws(IllegalArgumentException::class)
|
||||||
fun testUnknownNotificationTypeReturnsNull() {
|
fun testUnknownNotificationTypeReturnsNull() {
|
||||||
val json = """{"notification_type":"unknown_type","notification":{}}"""
|
val json = """{"notification_type":"unknown_type","notification":{}}"""
|
||||||
val notification = runCatching { OptimizedJsonMapper.fromJsonTo<Notification>(json) }.getOrNull()
|
assertFailsWith<IllegalArgumentException> {
|
||||||
assertNull(notification)
|
OptimizedJsonMapper.fromJsonTo<Notification>(json)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -28,7 +28,7 @@ import kotlin.test.assertFalse
|
|||||||
import kotlin.test.assertTrue
|
import kotlin.test.assertTrue
|
||||||
|
|
||||||
class NwcInfoEventTest {
|
class NwcInfoEventTest {
|
||||||
private val signer = DeterministicSigner("nsec1w4uucmeyyng0kegm7486r23sv4majkmvqsj6eypprq0xttxss55s5mgg9t".nsecToKeyPair())
|
private val signer = DeterministicSigner("nsec10g0wheggqn9dawlc0yuv6adnat6n09anr7eyykevw2dm8xa5fffs0wsdsr".nsecToKeyPair())
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testBuildInfoEvent() {
|
fun testBuildInfoEvent() {
|
||||||
|
|||||||
+4
-2
@@ -23,6 +23,7 @@ package com.vitorpamplona.quartz.nip47WalletConnect
|
|||||||
import com.vitorpamplona.quartz.nip01Core.core.OptimizedJsonMapper
|
import com.vitorpamplona.quartz.nip01Core.core.OptimizedJsonMapper
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
|
import kotlin.test.assertFailsWith
|
||||||
import kotlin.test.assertIs
|
import kotlin.test.assertIs
|
||||||
import kotlin.test.assertNotNull
|
import kotlin.test.assertNotNull
|
||||||
import kotlin.test.assertNull
|
import kotlin.test.assertNull
|
||||||
@@ -396,7 +397,8 @@ class RequestTest {
|
|||||||
@Test
|
@Test
|
||||||
fun testUnknownMethodReturnsNull() {
|
fun testUnknownMethodReturnsNull() {
|
||||||
val json = """{"method":"unknown_method","params":{}}"""
|
val json = """{"method":"unknown_method","params":{}}"""
|
||||||
val request = OptimizedJsonMapper.fromJsonTo<Request>(json)
|
assertFailsWith<IllegalArgumentException> {
|
||||||
assertNull(request)
|
OptimizedJsonMapper.fromJsonTo<Request>(json)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+5
@@ -20,6 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
package com.vitorpamplona.quartz.nip01Core.core
|
package com.vitorpamplona.quartz.nip01Core.core
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.RuntimeJsonMappingException
|
||||||
import com.vitorpamplona.quartz.nip01Core.jackson.JacksonMapper
|
import com.vitorpamplona.quartz.nip01Core.jackson.JacksonMapper
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.commands.toClient.Message
|
import com.vitorpamplona.quartz.nip01Core.relay.commands.toClient.Message
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.commands.toRelay.Command
|
import com.vitorpamplona.quartz.nip01Core.relay.commands.toRelay.Command
|
||||||
@@ -78,6 +79,10 @@ actual object OptimizedJsonMapper {
|
|||||||
JacksonMapper.fromJsonTo<T>(json)
|
JacksonMapper.fromJsonTo<T>(json)
|
||||||
} catch (e: com.fasterxml.jackson.core.JsonParseException) {
|
} catch (e: com.fasterxml.jackson.core.JsonParseException) {
|
||||||
throw IllegalArgumentException(e.message, e)
|
throw IllegalArgumentException(e.message, e)
|
||||||
|
} catch (e: com.fasterxml.jackson.core.JsonProcessingException) {
|
||||||
|
throw IllegalArgumentException(e.message, e)
|
||||||
|
} catch (e: RuntimeJsonMappingException) {
|
||||||
|
throw IllegalArgumentException(e.message, e)
|
||||||
}
|
}
|
||||||
|
|
||||||
actual fun toJson(value: OptimizedSerializable): String = JacksonMapper.toJson(value)
|
actual fun toJson(value: OptimizedSerializable): String = JacksonMapper.toJson(value)
|
||||||
|
|||||||
Reference in New Issue
Block a user