diff --git a/application/src/main/java/de/cotto/lndmanagej/controller/LegacyController.java b/application/src/main/java/de/cotto/lndmanagej/controller/LegacyController.java index 3721811a..56e3aa13 100644 --- a/application/src/main/java/de/cotto/lndmanagej/controller/LegacyController.java +++ b/application/src/main/java/de/cotto/lndmanagej/controller/LegacyController.java @@ -48,6 +48,7 @@ public class LegacyController { .map(LocalChannel::getRemotePubkey) .map(Pubkey::toString) .sorted() + .distinct() .collect(Collectors.joining(NEWLINE)); } diff --git a/application/src/test/java/de/cotto/lndmanagej/controller/LegacyControllerTest.java b/application/src/test/java/de/cotto/lndmanagej/controller/LegacyControllerTest.java index cc90267d..5b27a048 100644 --- a/application/src/test/java/de/cotto/lndmanagej/controller/LegacyControllerTest.java +++ b/application/src/test/java/de/cotto/lndmanagej/controller/LegacyControllerTest.java @@ -17,6 +17,7 @@ import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID; import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID_2; import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID_3; import static de.cotto.lndmanagej.model.LocalChannelFixtures.LOCAL_CHANNEL; +import static de.cotto.lndmanagej.model.LocalChannelFixtures.LOCAL_CHANNEL_2; import static de.cotto.lndmanagej.model.LocalChannelFixtures.LOCAL_CHANNEL_3; import static de.cotto.lndmanagej.model.NodeFixtures.ALIAS; import static de.cotto.lndmanagej.model.PubkeyFixtures.PUBKEY; @@ -79,4 +80,17 @@ class LegacyControllerTest { when(channelService.getOpenChannels()).thenReturn(Set.of(LOCAL_CHANNEL, channel2)); assertThat(legacyController.getPeerPubkeys()).isEqualTo(PUBKEY_2 + "\n" + PUBKEY_3); } + + @Test + void getPeerPubkeys_sorted() { + LocalChannel channel2 = new LocalChannel(ChannelFixtures.create(PUBKEY, PUBKEY_3, CHANNEL_ID_2), PUBKEY); + when(channelService.getOpenChannels()).thenReturn(Set.of(channel2, LOCAL_CHANNEL)); + assertThat(legacyController.getPeerPubkeys()).isEqualTo(PUBKEY_2 + "\n" + PUBKEY_3); + } + + @Test + void getPeerPubkeys_without_duplicates() { + when(channelService.getOpenChannels()).thenReturn(Set.of(LOCAL_CHANNEL, LOCAL_CHANNEL_2)); + assertThat(legacyController.getPeerPubkeys()).isEqualTo(PUBKEY_2.toString()); + } } \ No newline at end of file