Update tests and Constructor to new APIs
[ldk-java] / src / test / java / org / ldk / ManualMsgHandlingPeerTest.java
1 package org.ldk;
2
3 import org.junit.jupiter.api.Test;
4 import org.ldk.impl.bindings;
5 import org.ldk.enums.*;
6
7 public class ManualMsgHandlingPeerTest {
8     @Test
9     void test_message_handler() {
10         long logger = bindings.LDKLogger_new((String arg)->{
11             System.out.println(arg);
12         });
13         long chan_handler = bindings.LDKChannelMessageHandler_new(new bindings.LDKChannelMessageHandler() {
14             @Override
15             public void handle_open_channel(byte[] their_node_id, long their_features, long msg) {
16
17             }
18
19             @Override
20             public void handle_accept_channel(byte[] their_node_id, long their_features, long msg) {
21
22             }
23
24             @Override
25             public void handle_funding_created(byte[] their_node_id, long msg) {
26
27             }
28
29             @Override
30             public void handle_funding_signed(byte[] their_node_id, long msg) {
31
32             }
33
34             @Override
35             public void handle_funding_locked(byte[] their_node_id, long msg) {
36
37             }
38
39             @Override
40             public void handle_shutdown(byte[] their_node_id, long their_features, long msg) {
41
42             }
43
44             @Override
45             public void handle_closing_signed(byte[] their_node_id, long msg) {
46
47             }
48
49             @Override
50             public void handle_update_add_htlc(byte[] their_node_id, long msg) {
51
52             }
53
54             @Override
55             public void handle_update_fulfill_htlc(byte[] their_node_id, long msg) {
56
57             }
58
59             @Override
60             public void handle_update_fail_htlc(byte[] their_node_id, long msg) {
61
62             }
63
64             @Override
65             public void handle_update_fail_malformed_htlc(byte[] their_node_id, long msg) {
66
67             }
68
69             @Override
70             public void handle_commitment_signed(byte[] their_node_id, long msg) {
71
72             }
73
74             @Override
75             public void handle_revoke_and_ack(byte[] their_node_id, long msg) {
76
77             }
78
79             @Override
80             public void handle_update_fee(byte[] their_node_id, long msg) {
81
82             }
83
84             @Override
85             public void handle_announcement_signatures(byte[] their_node_id, long msg) {
86
87             }
88
89             @Override
90             public void peer_disconnected(byte[] their_node_id, boolean no_connection_possible) {
91
92             }
93
94             @Override
95             public void peer_connected(byte[] their_node_id, long msg) {
96
97             }
98
99             @Override
100             public void handle_channel_reestablish(byte[] their_node_id, long msg) {
101
102             }
103
104             @Override
105             public void handle_channel_update(byte[] their_node_id, long msg) {
106
107             }
108
109             @Override
110             public void handle_error(byte[] their_node_id, long msg) {
111
112             }
113         }, () -> new long[0]);
114         long route_handler = bindings.LDKRoutingMessageHandler_new(new bindings.LDKRoutingMessageHandler() {
115             @Override public long handle_node_announcement(long msg) {
116                 return 0;
117             }
118             @Override public long handle_channel_announcement(long msg) {
119                 return 0;
120             }
121             @Override public long handle_channel_update(long msg) {
122                 return 0;
123             }
124             @Override public void handle_htlc_fail_channel_update(long update) {
125
126             }
127             @Override public long[] get_next_channel_announcements(long starting_point, byte batch_amount) {
128                 return new long[0];
129             }
130             @Override public long[] get_next_node_announcements(byte[] starting_point, byte batch_amount) {
131                 return new long[0];
132             }
133
134             @Override
135             public void sync_routing_table(byte[] their_node_id, long init) {
136
137             }
138
139             @Override
140             public long handle_reply_channel_range(byte[] their_node_id, long msg) {
141                 return 0;
142             }
143
144             @Override
145             public long handle_reply_short_channel_ids_end(byte[] their_node_id, long msg) {
146                 return 0;
147             }
148
149             @Override
150             public long handle_query_channel_range(byte[] their_node_id, long msg) {
151                 return 0;
152             }
153
154             @Override
155             public long handle_query_short_channel_ids(byte[] their_node_id, long msg) {
156                 return 0;
157             }
158         }, () -> new long[0]);
159         long message_handler = bindings.MessageHandler_new(chan_handler, route_handler);
160         byte[] our_node_secret = new byte[32];
161         byte[] random_data = new byte[32];
162         for (byte i = 0; i < 32; i++) { random_data[i] = i; our_node_secret[i] = (byte) (i ^ 0xff); }
163
164         long peer_manager = bindings.PeerManager_new(message_handler, our_node_secret, random_data, logger);
165
166         // Test Level_max() since its the only place we create a java object from a Rust-returned enum.
167         assert bindings.Level_max() == Level.LDKLevel_Trace;
168
169         // Note that we can't rely on finalizer order, so don't bother trying to rely on it here
170         bindings.Logger_free(logger);
171         bindings.ChannelMessageHandler_free(chan_handler);
172         bindings.RoutingMessageHandler_free(route_handler);
173         //bindings.MessageHandler_free(message_handler);
174         bindings.PeerManager_free(peer_manager);
175     }
176 }