add node warnings functionality (at the moment: only online percentage)

This commit is contained in:
Carsten Otto
2021-12-27 20:18:05 +01:00
parent 5fa0851bd7
commit de40c32f63
21 changed files with 317 additions and 8 deletions

View File

@@ -0,0 +1,30 @@
package de.cotto.lndmanagej.controller;
import de.cotto.lndmanagej.controller.dto.NodeWarningsDto;
import de.cotto.lndmanagej.service.NodeWarningsService;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
import static de.cotto.lndmanagej.model.NodeWarningsFixtures.NODE_WARNINGS;
import static de.cotto.lndmanagej.model.PubkeyFixtures.PUBKEY;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.when;
@ExtendWith(MockitoExtension.class)
class WarningsControllerTest {
@InjectMocks
private WarningsController warningsController;
@Mock
private NodeWarningsService nodeWarningsService;
@Test
void getWarningsForNode() {
when(nodeWarningsService.getNodeWarnings(PUBKEY)).thenReturn(NODE_WARNINGS);
assertThat(warningsController.getWarningsForNode(PUBKEY))
.isEqualTo(NodeWarningsDto.createFromModel(NODE_WARNINGS));
}
}

View File

@@ -12,6 +12,7 @@ import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID_4;
import static de.cotto.lndmanagej.model.FeeReportFixtures.FEE_REPORT;
import static de.cotto.lndmanagej.model.NodeDetailsFixtures.NODE_DETAILS;
import static de.cotto.lndmanagej.model.NodeFixtures.ALIAS;
import static de.cotto.lndmanagej.model.NodeWarningsFixtures.NODE_WARNINGS;
import static de.cotto.lndmanagej.model.OnChainCostsFixtures.ON_CHAIN_COSTS;
import static de.cotto.lndmanagej.model.OnlineReportFixtures.ONLINE_REPORT;
import static de.cotto.lndmanagej.model.PubkeyFixtures.PUBKEY;
@@ -32,7 +33,8 @@ class NodeDetailsDtoTest {
BalanceInformationDto.createFromModel(BALANCE_INFORMATION_2),
OnlineReportDto.createFromModel(ONLINE_REPORT),
FeeReportDto.createFromModel(FEE_REPORT),
RebalanceReportDto.createFromModel(REBALANCE_REPORT)
RebalanceReportDto.createFromModel(REBALANCE_REPORT),
NODE_WARNINGS.warnings()
);
assertThat(NodeDetailsDto.createFromModel(NODE_DETAILS)).isEqualTo(expected);
}

View File

@@ -0,0 +1,14 @@
package de.cotto.lndmanagej.controller.dto;
import org.junit.jupiter.api.Test;
import static de.cotto.lndmanagej.model.NodeWarningsFixtures.NODE_WARNINGS;
import static org.assertj.core.api.Assertions.assertThat;
class NodeWarningsDtoTest {
@Test
void createFromModel() {
assertThat(NodeWarningsDto.createFromModel(NODE_WARNINGS))
.isEqualTo(new NodeWarningsDto(NODE_WARNINGS.warnings()));
}
}