add incoming-fee-rate and outgoing-fee-rate endpoints

This commit is contained in:
Carsten Otto
2021-11-12 14:47:26 +01:00
parent b8f9af1d72
commit 6cbced801a
16 changed files with 420 additions and 7 deletions

View File

@@ -0,0 +1,23 @@
package de.cotto.lndmanagej.controller;
import org.junit.jupiter.api.Test;
import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID;
import static org.assertj.core.api.Assertions.assertThat;
class ChannelIdConverterTest {
@Test
void convert() {
assertThat(new ChannelIdConverter().convert(CHANNEL_ID.toString())).isEqualTo(CHANNEL_ID);
}
@Test
void convert_from_compact_form_with_x() {
assertThat(new ChannelIdConverter().convert("712345x123x1")).isEqualTo(CHANNEL_ID);
}
@Test
void convert_from_compact_form() {
assertThat(new ChannelIdConverter().convert("712345:123:1")).isEqualTo(CHANNEL_ID);
}
}

View File

@@ -3,6 +3,7 @@ package de.cotto.lndmanagej.controller;
import de.cotto.lndmanagej.model.ChannelFixtures;
import de.cotto.lndmanagej.model.LocalChannel;
import de.cotto.lndmanagej.service.ChannelService;
import de.cotto.lndmanagej.service.FeeService;
import de.cotto.lndmanagej.service.NodeService;
import de.cotto.lndmanagej.service.OwnNodeService;
import org.junit.jupiter.api.Test;
@@ -40,6 +41,9 @@ class LegacyControllerTest {
@Mock
private OwnNodeService ownNodeService;
@Mock
private FeeService feeService;
@Test
void getAlias() {
when(nodeService.getAlias(PUBKEY)).thenReturn(ALIAS);
@@ -93,4 +97,16 @@ class LegacyControllerTest {
when(channelService.getOpenChannels()).thenReturn(Set.of(LOCAL_CHANNEL, LOCAL_CHANNEL_2));
assertThat(legacyController.getPeerPubkeys()).isEqualTo(PUBKEY_2.toString());
}
@Test
void getIncomingFeeRate() {
when(feeService.getIncomingFeeRate(CHANNEL_ID)).thenReturn(123L);
assertThat(legacyController.getIncomingFeeRate(CHANNEL_ID)).isEqualTo(123);
}
@Test
void getOutgoingFeeRate() {
when(feeService.getOutgoingFeeRate(CHANNEL_ID)).thenReturn(123L);
assertThat(legacyController.getOutgoingFeeRate(CHANNEL_ID)).isEqualTo(123);
}
}

View File

@@ -0,0 +1,48 @@
package de.cotto.lndmanagej.service;
import de.cotto.lndmanagej.grpc.GrpcFees;
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 java.util.Optional;
import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
import static org.mockito.Mockito.when;
@ExtendWith(MockitoExtension.class)
class FeeServiceTest {
@InjectMocks
private FeeService feeService;
@Mock
private GrpcFees grpcFees;
@Test
void getIncomingFeeRate() {
when(grpcFees.getIncomingFeeRate(CHANNEL_ID)).thenReturn(Optional.of(123L));
assertThat(feeService.getIncomingFeeRate(CHANNEL_ID)).isEqualTo(123);
}
@Test
void getIncomingFeeRate_empty() {
when(grpcFees.getIncomingFeeRate(CHANNEL_ID)).thenReturn(Optional.empty());
assertThatIllegalStateException().isThrownBy(() -> feeService.getIncomingFeeRate(CHANNEL_ID));
}
@Test
void getOutgoingFeeRate() {
when(grpcFees.getOutgoingFeeRate(CHANNEL_ID)).thenReturn(Optional.of(123L));
assertThat(feeService.getOutgoingFeeRate(CHANNEL_ID)).isEqualTo(123);
}
@Test
void getOutgoingFeeRate_empty() {
when(grpcFees.getOutgoingFeeRate(CHANNEL_ID)).thenReturn(Optional.empty());
assertThatIllegalStateException().isThrownBy(() -> feeService.getOutgoingFeeRate(CHANNEL_ID));
}
}