mirror of
https://github.com/aljazceru/lnd-manageJ.git
synced 2026-01-28 02:14:40 +01:00
get available local balance
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
package de.cotto.lndmanagej.controller;
|
||||
|
||||
import de.cotto.lndmanagej.model.Channel;
|
||||
import de.cotto.lndmanagej.model.ChannelFixtures;
|
||||
import de.cotto.lndmanagej.model.Coins;
|
||||
import de.cotto.lndmanagej.model.LocalChannel;
|
||||
import de.cotto.lndmanagej.service.BalanceService;
|
||||
import de.cotto.lndmanagej.service.ChannelService;
|
||||
import de.cotto.lndmanagej.service.FeeService;
|
||||
import de.cotto.lndmanagej.service.NodeService;
|
||||
@@ -53,6 +55,9 @@ class LegacyControllerTest {
|
||||
@Mock
|
||||
private FeeService feeService;
|
||||
|
||||
@Mock
|
||||
private BalanceService balanceService;
|
||||
|
||||
@Test
|
||||
void getAlias() {
|
||||
when(nodeService.getAlias(PUBKEY)).thenReturn(ALIAS);
|
||||
@@ -131,14 +136,16 @@ class LegacyControllerTest {
|
||||
|
||||
@Test
|
||||
void getPeerPubkeys() {
|
||||
LocalChannel channel2 = new LocalChannel(ChannelFixtures.create(PUBKEY, PUBKEY_3, CHANNEL_ID_2), PUBKEY);
|
||||
Channel channel = ChannelFixtures.create(PUBKEY, PUBKEY_3, CHANNEL_ID_2);
|
||||
LocalChannel channel2 = new LocalChannel(channel, PUBKEY, Coins.NONE, Coins.NONE);
|
||||
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);
|
||||
Channel channel = ChannelFixtures.create(PUBKEY, PUBKEY_3, CHANNEL_ID_2);
|
||||
LocalChannel channel2 = new LocalChannel(channel, PUBKEY, Coins.NONE, Coins.NONE);
|
||||
when(channelService.getOpenChannels()).thenReturn(Set.of(channel2, LOCAL_CHANNEL));
|
||||
assertThat(legacyController.getPeerPubkeys()).isEqualTo(PUBKEY_2 + "\n" + PUBKEY_3);
|
||||
}
|
||||
@@ -172,4 +179,10 @@ class LegacyControllerTest {
|
||||
when(feeService.getOutgoingBaseFee(CHANNEL_ID)).thenReturn(Coins.ofMilliSatoshis(10L));
|
||||
assertThat(legacyController.getOutgoingBaseFee(CHANNEL_ID)).isEqualTo(10);
|
||||
}
|
||||
|
||||
@Test
|
||||
void getAvailableLocalBalance() {
|
||||
when(balanceService.getAvailableLocalBalance(CHANNEL_ID)).thenReturn(Coins.ofSatoshis(123L));
|
||||
assertThat(legacyController.getAvailableLocalBalance(CHANNEL_ID)).isEqualTo(123);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
package de.cotto.lndmanagej.service;
|
||||
|
||||
import de.cotto.lndmanagej.grpc.GrpcChannels;
|
||||
import de.cotto.lndmanagej.model.Coins;
|
||||
import de.cotto.lndmanagej.model.LocalChannel;
|
||||
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.ChannelFixtures.CHANNEL;
|
||||
import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID;
|
||||
import static de.cotto.lndmanagej.model.LocalChannelFixtures.LOCAL_BALANCE;
|
||||
import static de.cotto.lndmanagej.model.LocalChannelFixtures.LOCAL_CHANNEL;
|
||||
import static de.cotto.lndmanagej.model.LocalChannelFixtures.RESERVE_LOCAL;
|
||||
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 BalanceServiceTest {
|
||||
@InjectMocks
|
||||
private BalanceService balanceService;
|
||||
|
||||
@Mock
|
||||
private GrpcChannels grpcChannels;
|
||||
|
||||
@Test
|
||||
void getLocalBalance() {
|
||||
when(grpcChannels.getChannel(CHANNEL_ID)).thenReturn(Optional.of(LOCAL_CHANNEL));
|
||||
assertThat(balanceService.getLocalBalance(CHANNEL_ID)).isEqualTo(LOCAL_BALANCE);
|
||||
}
|
||||
|
||||
@Test
|
||||
void getLocalBalance_no_channel() {
|
||||
when(grpcChannels.getChannel(CHANNEL_ID)).thenReturn(Optional.empty());
|
||||
assertThat(balanceService.getLocalBalance(CHANNEL_ID)).isEqualTo(Coins.NONE);
|
||||
}
|
||||
|
||||
@Test
|
||||
void getLocalReserve() {
|
||||
when(grpcChannels.getChannel(CHANNEL_ID)).thenReturn(Optional.of(LOCAL_CHANNEL));
|
||||
assertThat(balanceService.getLocalReserve(CHANNEL_ID)).isEqualTo(RESERVE_LOCAL);
|
||||
}
|
||||
|
||||
@Test
|
||||
void getAvailableLocalBalance() {
|
||||
when(grpcChannels.getChannel(CHANNEL_ID)).thenReturn(Optional.of(LOCAL_CHANNEL));
|
||||
assertThat(balanceService.getAvailableLocalBalance(CHANNEL_ID))
|
||||
.isEqualTo(LOCAL_BALANCE.subtract(RESERVE_LOCAL));
|
||||
}
|
||||
|
||||
@Test
|
||||
void getAvailableLocalBalance_negative() {
|
||||
LocalChannel localChannel = new LocalChannel(CHANNEL, PUBKEY, Coins.ofSatoshis(99), Coins.ofSatoshis(100));
|
||||
when(grpcChannels.getChannel(CHANNEL_ID)).thenReturn(Optional.of(localChannel));
|
||||
assertThat(balanceService.getAvailableLocalBalance(CHANNEL_ID)).isEqualTo(Coins.NONE);
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,9 @@
|
||||
package de.cotto.lndmanagej.service;
|
||||
|
||||
import de.cotto.lndmanagej.grpc.GrpcChannels;
|
||||
import de.cotto.lndmanagej.model.Channel;
|
||||
import de.cotto.lndmanagej.model.ChannelFixtures;
|
||||
import de.cotto.lndmanagej.model.Coins;
|
||||
import de.cotto.lndmanagej.model.LocalChannel;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
@@ -37,7 +39,8 @@ class ChannelServiceTest {
|
||||
|
||||
@Test
|
||||
void getOpenChannelsWith_ignores_channel_to_other_node() {
|
||||
LocalChannel localChannel2 = new LocalChannel(ChannelFixtures.create(PUBKEY, PUBKEY_3, CHANNEL_ID_2), PUBKEY);
|
||||
Channel channel = ChannelFixtures.create(PUBKEY, PUBKEY_3, CHANNEL_ID_2);
|
||||
LocalChannel localChannel2 = new LocalChannel(channel, PUBKEY, Coins.NONE, Coins.NONE);
|
||||
when(grpcChannels.getChannels()).thenReturn(Set.of(LOCAL_CHANNEL, localChannel2, LOCAL_CHANNEL_3));
|
||||
assertThat(channelService.getOpenChannelsWith(PUBKEY_2))
|
||||
.containsExactlyInAnyOrder(LOCAL_CHANNEL, LOCAL_CHANNEL_3);
|
||||
|
||||
Reference in New Issue
Block a user