add "is closed" to channel details

This commit is contained in:
Carsten Otto
2021-11-23 23:03:51 +01:00
parent 6d3b463e70
commit 29aef8d083
12 changed files with 59 additions and 0 deletions

View File

@@ -31,6 +31,11 @@ public abstract class ClosedChannel extends ClosedOrClosingChannel {
return closeInitiator;
}
@Override
public boolean isClosed() {
return true;
}
@Override
@SuppressWarnings("CPD-START")
public boolean equals(Object other) {

View File

@@ -24,6 +24,11 @@ public final class ForceClosingChannel extends ClosedOrClosingChannel {
return htlcOutpoints;
}
@Override
public boolean isClosed() {
return true;
}
@Override
@SuppressWarnings("CPD-START")
public boolean equals(Object other) {

View File

@@ -38,6 +38,10 @@ public class LocalChannel extends Channel {
return false;
}
public boolean isClosed() {
return false;
}
@Override
@SuppressWarnings("CPD-START")
public boolean equals(Object other) {

View File

@@ -67,6 +67,11 @@ class BreachForceClosedChannelTest {
assertThat(FORCE_CLOSED_CHANNEL_BREACH.getCloseInitiator()).isEqualTo(CloseInitiator.REMOTE);
}
@Test
void isClosed() {
assertThat(FORCE_CLOSED_CHANNEL_BREACH.isClosed()).isTrue();
}
@Test
void testEquals() {
EqualsVerifier.forClass(BreachForceClosedChannel.class).usingGetClass().verify();

View File

@@ -70,6 +70,11 @@ class CoopClosedChannelTest {
assertThat(CLOSED_CHANNEL.getCloseInitiator()).isEqualTo(CloseInitiator.REMOTE);
}
@Test
void isClosed() {
assertThat(CLOSED_CHANNEL.isClosed()).isTrue();
}
@Test
void testEquals() {
EqualsVerifier.forClass(CoopClosedChannel.class).usingGetClass().verify();

View File

@@ -69,6 +69,11 @@ class ForceClosedChannelTest {
assertThat(FORCE_CLOSED_CHANNEL_REMOTE.getCloseInitiator()).isEqualTo(CloseInitiator.REMOTE);
}
@Test
void isClosed() {
assertThat(FORCE_CLOSED_CHANNEL_REMOTE.isClosed()).isTrue();
}
@Test
void testEquals() {
EqualsVerifier.forClass(ForceClosedChannel.class).usingGetClass().verify();

View File

@@ -59,6 +59,11 @@ class ForceClosingChannelTest {
assertThat(FORCE_CLOSING_CHANNEL.getHtlcOutpoints()).isEqualTo(HTLC_OUTPOINTS);
}
@Test
void isClosed() {
assertThat(FORCE_CLOSING_CHANNEL.isClosed()).isTrue();
}
@Test
void testEquals() {
EqualsVerifier.forClass(ForceClosingChannel.class).usingGetClass().verify();

View File

@@ -71,6 +71,11 @@ class LocalOpenChannelTest {
assertThat(LOCAL_OPEN_CHANNEL.isPrivateChannel()).isFalse();
}
@Test
void isClosed() {
assertThat(LOCAL_OPEN_CHANNEL.isClosed()).isFalse();
}
@Test
void isPrivateChannel_true() {
assertThat(LOCAL_OPEN_CHANNEL_PRIVATE.isPrivateChannel()).isTrue();

View File

@@ -48,6 +48,11 @@ class WaitingCloseChannelTest {
assertThat(WAITING_CLOSE_CHANNEL.isActive()).isFalse();
}
@Test
void isClosed() {
assertThat(WAITING_CLOSE_CHANNEL.isClosed()).isFalse();
}
@Test
void testEquals() {
EqualsVerifier.forClass(WaitingCloseChannel.class).usingGetClass().verify();

View File

@@ -74,6 +74,7 @@ class ChannelDetailsControllerIT {
.andExpect(jsonPath("$.openHeight", is(CHANNEL_ID.getBlockHeight())))
.andExpect(jsonPath("$.private", is(true)))
.andExpect(jsonPath("$.active", is(true)))
.andExpect(jsonPath("$.closed", is(false)))
.andExpect(jsonPath("$.onChainCosts.openCosts", is("1000")))
.andExpect(jsonPath("$.onChainCosts.closeCosts", is("2000")))
.andExpect(jsonPath("$.balance.localBalance", is("2000")))

View File

@@ -17,6 +17,7 @@ public record ChannelDetailsDto(
String capacity,
@JsonProperty("private") boolean privateChannel,
boolean active,
boolean closed,
BalanceInformationDto balance,
OnChainCostsDto onChainCosts
) {
@@ -37,6 +38,7 @@ public record ChannelDetailsDto(
String.valueOf(localChannel.getCapacity().satoshis()),
localChannel.isPrivateChannel(),
localChannel.isActive(),
localChannel.isClosed(),
BalanceInformationDto.createFrom(balanceInformation),
onChainCosts
);

View File

@@ -84,6 +84,18 @@ class ChannelDetailsDtoTest {
assertThat(CHANNEL_DETAILS_DTO.active()).isFalse();
}
@Test
void closed_true() {
assertThat(CHANNEL_DETAILS_DTO.closed()).isTrue();
}
@Test
void closed_false() {
ChannelDetailsDto dto =
new ChannelDetailsDto(LOCAL_OPEN_CHANNEL, ALIAS, BALANCE_INFORMATION, ON_CHAIN_COSTS);
assertThat(dto.closed()).isFalse();
}
@Test
void balance() {
assertThat(CHANNEL_DETAILS_DTO.balance()).isEqualTo(BalanceInformationDto.createFrom(BALANCE_INFORMATION));