add /status/open-channels/pubkeys endpoint

This commit is contained in:
Carsten Otto
2021-11-25 19:42:16 +01:00
parent fbdfe5a893
commit 1e101b130b
5 changed files with 102 additions and 2 deletions

View File

@@ -1,6 +1,9 @@
package de.cotto.lndmanagej.controller;
import de.cotto.lndmanagej.controller.dto.PubkeysDto;
import de.cotto.lndmanagej.metrics.Metrics;
import de.cotto.lndmanagej.model.Pubkey;
import de.cotto.lndmanagej.service.ChannelService;
import de.cotto.lndmanagej.service.OwnNodeService;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
@@ -8,6 +11,11 @@ import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
import java.util.List;
import java.util.Set;
import static de.cotto.lndmanagej.model.LocalOpenChannelFixtures.LOCAL_OPEN_CHANNEL;
import static de.cotto.lndmanagej.model.LocalOpenChannelFixtures.LOCAL_OPEN_CHANNEL_TO_NODE_3;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.argThat;
import static org.mockito.Mockito.verify;
@@ -24,6 +32,9 @@ class StatusControllerTest {
@Mock
private Metrics metrics;
@Mock
private ChannelService channelService;
@Test
void isSyncedToChain() {
when(ownNodeService.isSyncedToChain()).thenReturn(true);
@@ -37,4 +48,13 @@ class StatusControllerTest {
when(ownNodeService.isSyncedToChain()).thenReturn(false);
assertThat(statusController.isSyncedToChain()).isFalse();
}
@Test
void getPubkeysForOpenChannels() {
when(channelService.getOpenChannels()).thenReturn(Set.of(LOCAL_OPEN_CHANNEL_TO_NODE_3, LOCAL_OPEN_CHANNEL));
List<Pubkey> expectedPubkeys =
List.of(LOCAL_OPEN_CHANNEL.getRemotePubkey(), LOCAL_OPEN_CHANNEL_TO_NODE_3.getRemotePubkey());
assertThat(statusController.getPubkeysForOpenChannels()).isEqualTo(new PubkeysDto(expectedPubkeys));
verify(metrics).mark(argThat(name -> name.endsWith(".getPubkeysForOpenChannels")));
}
}

View File

@@ -0,0 +1,22 @@
package de.cotto.lndmanagej.controller.dto;
import de.cotto.lndmanagej.model.Pubkey;
import org.junit.jupiter.api.Test;
import java.util.List;
import static de.cotto.lndmanagej.model.LocalOpenChannelFixtures.LOCAL_OPEN_CHANNEL;
import static de.cotto.lndmanagej.model.LocalOpenChannelFixtures.LOCAL_OPEN_CHANNEL_TO_NODE_3;
import static org.assertj.core.api.Assertions.assertThat;
class PubkeysDtoTest {
@Test
void uses_toString_in_order() {
List<Pubkey> expectedPubkeys =
List.of(LOCAL_OPEN_CHANNEL.getRemotePubkey(), LOCAL_OPEN_CHANNEL_TO_NODE_3.getRemotePubkey());
assertThat(new PubkeysDto(expectedPubkeys).pubkeys()).containsExactly(
LOCAL_OPEN_CHANNEL.getRemotePubkey().toString(),
LOCAL_OPEN_CHANNEL_TO_NODE_3.getRemotePubkey().toString()
);
}
}