33 */
44package org.lightningdevkit.ldknode
55
6- import kotlin.UInt
7- import kotlin.test.Test
8- import kotlin.test.assertEquals
9- import kotlin.test.assertTrue
6+ import androidx.test.ext.junit.runners.AndroidJUnit4
107import kotlin.io.path.createTempDirectory
8+ import kotlin.test.Test
119import org.junit.runner.RunWith
12- import org.lightningdevkit.ldknode.*;
13- import android.content.Context.MODE_PRIVATE
14- import androidx.test.core.app.ApplicationProvider
15- import androidx.test.ext.junit.runners.AndroidJUnit4
16- import com.sun.jna.Pointer
10+ import org.lightningdevkit.ldknode.*
1711
1812@RunWith(AndroidJUnit4 ::class )
1913class AndroidLibTest {
20- @Test fun node_start_stop () {
21- val logWriter1 = CustomLogWriter (CustomLogWriter .LogLevel .TRACE )
22- val logWriter2 = CustomLogWriter (CustomLogWriter .LogLevel .TRACE )
23-
14+ @Test
15+ fun node_start_stop () {
2416 val tmpDir1 = createTempDirectory(" ldk_node" ).toString()
2517 println (" Random dir 1: $tmpDir1 " )
2618 val tmpDir2 = createTempDirectory(" ldk_node" ).toString()
@@ -42,9 +34,6 @@ class AndroidLibTest {
4234 val builder1 = Builder .fromConfig(config1)
4335 val builder2 = Builder .fromConfig(config2)
4436
45- builder1.setCustomLogger(logWriter1)
46- builder2.setCustomLogger(logWriter2)
47-
4837 val node1 = builder1.build()
4938 val node2 = builder2.build()
5039
@@ -63,63 +52,7 @@ class AndroidLibTest {
6352 val address2 = node2.onchain_payment().newOnchainAddress()
6453 println (" Funding address 2: $address2 " )
6554
66- assertTrue(logWriter1.getLogMessages().isNotEmpty())
67- assertTrue(logWriter2.getLogMessages().isNotEmpty())
68-
6955 node1.stop()
7056 node2.stop()
7157 }
7258}
73-
74- class CustomLogWriter (private var currentLogLevel : LogLevel = LogLevel .INFO ) :
75- LogWriter (Pointer .NULL ) {
76- enum class LogLevel {
77- ERROR , WARN , INFO , DEBUG , TRACE , GOSSIP
78- }
79-
80- private val logMessages = mutableListOf<String >()
81-
82- fun setLogLevel (level : LogLevel ) {
83- currentLogLevel = level
84- }
85-
86- fun getLogMessages (): List <String > {
87- return logMessages.toList()
88- }
89-
90- override fun log (record : LogRecord ) {
91- val recordLevel =
92- when (record.level.toString().lowercase()) {
93- " error" -> LogLevel .ERROR
94- " warn" -> LogLevel .WARN
95- " info" -> LogLevel .INFO
96- " debug" -> LogLevel .DEBUG
97- " trace" -> LogLevel .TRACE
98- " gossip" -> LogLevel .GOSSIP
99- else -> LogLevel .INFO
100- }
101-
102- if (isLevelEnabled(recordLevel)) {
103- val logMessage = formatRecord(record)
104- logMessages.add(logMessage)
105- }
106- }
107-
108- private fun formatRecord (record : LogRecord ): String {
109- val timestamp =
110- java.time.LocalDateTime .now()
111- .format(java.time.format.DateTimeFormatter .ofPattern(" yyyy-MM-dd HH:mm:ss" ))
112- return String .format(
113- " %s %-5s [%s:%d] %s\n " ,
114- timestamp,
115- record.level,
116- record.modulePath,
117- record.line,
118- record.args
119- )
120- }
121-
122- private fun isLevelEnabled (level : LogLevel ): Boolean {
123- return level.ordinal <= currentLogLevel.ordinal
124- }
125- }
0 commit comments