mirror of
https://github.com/aljazceru/lnd-manageJ.git
synced 2026-01-21 15:04:22 +01:00
add MPP sender with payment loop
This commit is contained in:
committed by
Carsten Otto
parent
7bfcbf7333
commit
215e0bc23b
@@ -2,25 +2,34 @@ package de.cotto.lndmanagej.controller;
|
||||
|
||||
import de.cotto.lndmanagej.controller.dto.MultiPathPaymentDto;
|
||||
import de.cotto.lndmanagej.model.Coins;
|
||||
import de.cotto.lndmanagej.model.HexString;
|
||||
import de.cotto.lndmanagej.pickhardtpayments.MultiPathPaymentSender;
|
||||
import de.cotto.lndmanagej.pickhardtpayments.MultiPathPaymentSplitter;
|
||||
import de.cotto.lndmanagej.pickhardtpayments.model.PaymentStatus;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
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 org.springframework.http.HttpStatus;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
import static de.cotto.lndmanagej.model.PubkeyFixtures.PUBKEY;
|
||||
import static de.cotto.lndmanagej.model.PubkeyFixtures.PUBKEY_2;
|
||||
import static de.cotto.lndmanagej.pickhardtpayments.PickhardtPaymentsConfiguration.DEFAULT_FEE_RATE_WEIGHT;
|
||||
import static de.cotto.lndmanagej.pickhardtpayments.model.MultiPathPaymentFixtures.MULTI_PATH_PAYMENT;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.lenient;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
class PickhardtPaymentsControllerTest {
|
||||
|
||||
private static final String PAYMENT_REQUEST = "xxx";
|
||||
private static final String STREAM_RESPONSE = "beep beep boop!";
|
||||
@InjectMocks
|
||||
private PickhardtPaymentsController controller;
|
||||
|
||||
@@ -30,20 +39,30 @@ class PickhardtPaymentsControllerTest {
|
||||
@Mock
|
||||
private MultiPathPaymentSender multiPathPaymentSender;
|
||||
|
||||
@Mock
|
||||
private PaymentStatusStream paymentStatusStream;
|
||||
|
||||
private final PaymentStatus paymentStatus = new PaymentStatus(HexString.EMPTY);
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
lenient().when(paymentStatusStream.getFor(any()))
|
||||
.thenReturn(outputStream -> outputStream.write(STREAM_RESPONSE.getBytes(StandardCharsets.UTF_8)));
|
||||
}
|
||||
|
||||
@Test
|
||||
void payPaymentRequest() {
|
||||
when(multiPathPaymentSender.payPaymentRequest(PAYMENT_REQUEST, DEFAULT_FEE_RATE_WEIGHT))
|
||||
.thenReturn(MULTI_PATH_PAYMENT);
|
||||
assertThat(controller.payPaymentRequest(PAYMENT_REQUEST))
|
||||
.isEqualTo(MultiPathPaymentDto.fromModel(MULTI_PATH_PAYMENT));
|
||||
.thenReturn(paymentStatus);
|
||||
assertThat(controller.payPaymentRequest(PAYMENT_REQUEST).getStatusCode())
|
||||
.isEqualTo(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test
|
||||
void payPaymentRequest_with_fee_rate_weight() {
|
||||
when(multiPathPaymentSender.payPaymentRequest(PAYMENT_REQUEST, 456))
|
||||
.thenReturn(MULTI_PATH_PAYMENT);
|
||||
assertThat(controller.payPaymentRequest(PAYMENT_REQUEST, 456))
|
||||
.isEqualTo(MultiPathPaymentDto.fromModel(MULTI_PATH_PAYMENT));
|
||||
when(multiPathPaymentSender.payPaymentRequest(PAYMENT_REQUEST, 456)).thenReturn(paymentStatus);
|
||||
assertThat(controller.payPaymentRequest(PAYMENT_REQUEST, 456).getStatusCode())
|
||||
.isEqualTo(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user