diff --git a/backend/src/main/java/de/cotto/lndmanagej/service/NodeWarningsService.java b/backend/src/main/java/de/cotto/lndmanagej/service/NodeWarningsService.java index 663ec42b..882ea610 100644 --- a/backend/src/main/java/de/cotto/lndmanagej/service/NodeWarningsService.java +++ b/backend/src/main/java/de/cotto/lndmanagej/service/NodeWarningsService.java @@ -42,7 +42,6 @@ public class NodeWarningsService { public Map getNodeWarnings() { return channelService.getOpenChannels().parallelStream() .map(LocalChannel::getRemotePubkey) - .sorted() .map(pubkey -> new AbstractMap.SimpleEntry<>(pubkey, getNodeWarnings(pubkey))) .filter(this::hasWarnings) .map(entry -> new AbstractMap.SimpleEntry<>(nodeService.getNode(entry.getKey()), entry.getValue())) diff --git a/backend/src/test/java/de/cotto/lndmanagej/service/warnings/NodeWarningsServiceTest.java b/backend/src/test/java/de/cotto/lndmanagej/service/warnings/NodeWarningsServiceTest.java index 1bda7f07..9e6f6223 100644 --- a/backend/src/test/java/de/cotto/lndmanagej/service/warnings/NodeWarningsServiceTest.java +++ b/backend/src/test/java/de/cotto/lndmanagej/service/warnings/NodeWarningsServiceTest.java @@ -96,12 +96,4 @@ class NodeWarningsServiceTest { NODE_3, new NodeWarnings(NODE_ONLINE_CHANGES_WARNING) )); } - - @Test - void getNodeWarnings_ordered_by_pubkey() { - when(channelService.getOpenChannels()).thenReturn(Set.of(LOCAL_OPEN_CHANNEL, LOCAL_OPEN_CHANNEL_TO_NODE_3)); - when(provider1.getNodeWarnings(PUBKEY_3)).thenReturn(Stream.of(NODE_NO_FLOW_WARNING)); - when(provider2.getNodeWarnings(PUBKEY_2)).thenReturn(Stream.of(NODE_ONLINE_PERCENTAGE_WARNING)); - assertThat(nodeWarningsService.getNodeWarnings()).containsOnlyKeys(NODE_2, NODE_3); - } } \ No newline at end of file diff --git a/web/src/main/java/de/cotto/lndmanagej/controller/WarningsController.java b/web/src/main/java/de/cotto/lndmanagej/controller/WarningsController.java index e70cca96..b3085e16 100644 --- a/web/src/main/java/de/cotto/lndmanagej/controller/WarningsController.java +++ b/web/src/main/java/de/cotto/lndmanagej/controller/WarningsController.java @@ -17,6 +17,8 @@ import org.springframework.web.bind.annotation.RestController; import java.util.List; +import static java.util.Map.Entry.comparingByKey; + @RestController @RequestMapping("/api/") @Import(ObjectMapperConfiguration.class) @@ -37,6 +39,7 @@ public class WarningsController { @GetMapping("/warnings") public NodesWithWarningsDto getWarnings() { List list = nodeWarningsService.getNodeWarnings().entrySet().stream() + .sorted(comparingByKey()) .map(entry -> getWarningsDto(entry.getKey(), entry.getValue())) .toList(); return new NodesWithWarningsDto(list); diff --git a/web/src/test/java/de/cotto/lndmanagej/controller/WarningsControllerTest.java b/web/src/test/java/de/cotto/lndmanagej/controller/WarningsControllerTest.java index 39aad9b1..de77959c 100644 --- a/web/src/test/java/de/cotto/lndmanagej/controller/WarningsControllerTest.java +++ b/web/src/test/java/de/cotto/lndmanagej/controller/WarningsControllerTest.java @@ -56,4 +56,11 @@ class WarningsControllerTest { new NodeWithWarningsDto(descriptions2, ALIAS_2, PUBKEY_2) ))); } + + @Test + void getWarnings_sorted_by_pubkey() { + when(nodeWarningsService.getNodeWarnings()).thenReturn(Map.of(NODE_2, NODE_WARNINGS_2, NODE, NODE_WARNINGS)); + assertThat(warningsController.getWarnings().nodesWithWarnings()).map(NodeWithWarningsDto::pubkey) + .containsExactly(PUBKEY, PUBKEY_2); + } } \ No newline at end of file