mirror of
https://github.com/bisq-network/bisq.git
synced 2025-03-03 18:56:59 +01:00
Add canceloffer test
This commit is contained in:
parent
b38507c6e6
commit
91a2e2ce1f
3 changed files with 97 additions and 0 deletions
|
@ -17,6 +17,7 @@
|
|||
|
||||
package bisq.apitest.method;
|
||||
|
||||
import bisq.proto.grpc.CancelOfferRequest;
|
||||
import bisq.proto.grpc.ConfirmPaymentReceivedRequest;
|
||||
import bisq.proto.grpc.ConfirmPaymentStartedRequest;
|
||||
import bisq.proto.grpc.CreatePaymentAccountRequest;
|
||||
|
@ -112,6 +113,10 @@ public class MethodTest extends ApiTestCase {
|
|||
return GetOfferRequest.newBuilder().setId(offerId).build();
|
||||
}
|
||||
|
||||
protected final CancelOfferRequest createCancelOfferRequest(String offerId) {
|
||||
return CancelOfferRequest.newBuilder().setId(offerId).build();
|
||||
}
|
||||
|
||||
protected final TakeOfferRequest createTakeOfferRequest(String offerId, String paymentAccountId) {
|
||||
return TakeOfferRequest.newBuilder().setOfferId(offerId).setPaymentAccountId(paymentAccountId).build();
|
||||
}
|
||||
|
@ -202,6 +207,12 @@ public class MethodTest extends ApiTestCase {
|
|||
return grpcStubs(bisqAppConfig).offersService.getOffer(req).getOffer();
|
||||
}
|
||||
|
||||
@SuppressWarnings("ResultOfMethodCallIgnored")
|
||||
protected final void cancelOffer(BisqAppConfig bisqAppConfig, String offerId) {
|
||||
var req = createCancelOfferRequest(offerId);
|
||||
grpcStubs(bisqAppConfig).offersService.cancelOffer(req);
|
||||
}
|
||||
|
||||
protected final TradeInfo getTrade(BisqAppConfig bisqAppConfig, String tradeId) {
|
||||
var req = createGetTradeRequest(tradeId);
|
||||
return grpcStubs(bisqAppConfig).tradesService.getTrade(req).getTrade();
|
||||
|
|
|
@ -123,6 +123,11 @@ public abstract class AbstractOfferTest extends MethodTest {
|
|||
return aliceStubs.offersService.getOffer(createGetOfferRequest(offerId)).getOffer();
|
||||
}
|
||||
|
||||
@SuppressWarnings("ResultOfMethodCallIgnored")
|
||||
protected final void cancelOffer(GrpcStubs grpcStubs, String offerId) {
|
||||
grpcStubs.offersService.cancelOffer(createCancelOfferRequest(offerId));
|
||||
}
|
||||
|
||||
protected final OfferInfo getMostRecentOffer(GrpcStubs grpcStubs, String direction, String currencyCode) {
|
||||
List<OfferInfo> offerInfoList = getOffersSortedByDate(grpcStubs, direction, currencyCode);
|
||||
if (offerInfoList.isEmpty())
|
||||
|
|
|
@ -0,0 +1,81 @@
|
|||
/*
|
||||
* This file is part of Bisq.
|
||||
*
|
||||
* Bisq is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or (at
|
||||
* your option) any later version.
|
||||
*
|
||||
* Bisq is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
|
||||
* License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with Bisq. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package bisq.apitest.method.offer;
|
||||
|
||||
import bisq.core.btc.wallet.Restrictions;
|
||||
|
||||
import bisq.proto.grpc.CreateOfferRequest;
|
||||
import bisq.proto.grpc.OfferInfo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import org.junit.jupiter.api.MethodOrderer;
|
||||
import org.junit.jupiter.api.Order;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.TestMethodOrder;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
|
||||
@Slf4j
|
||||
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
|
||||
public class CancelOfferTest extends AbstractOfferTest {
|
||||
|
||||
private static final int MAX_OFFERS = 3;
|
||||
|
||||
@Test
|
||||
@Order(1)
|
||||
public void testCancelOffer() {
|
||||
var req = CreateOfferRequest.newBuilder()
|
||||
.setPaymentAccountId(alicesDummyAcct.getId())
|
||||
.setDirection("buy")
|
||||
.setCurrencyCode("cad")
|
||||
.setAmount(10000000)
|
||||
.setMinAmount(10000000)
|
||||
.setUseMarketBasedPrice(true)
|
||||
.setMarketPriceMargin(0.00)
|
||||
.setPrice("0")
|
||||
.setBuyerSecurityDeposit(Restrictions.getDefaultBuyerSecurityDepositAsPercent())
|
||||
.build();
|
||||
|
||||
// Create some offers.
|
||||
for (int i = 1; i <= MAX_OFFERS; i++) {
|
||||
//noinspection ResultOfMethodCallIgnored
|
||||
aliceStubs.offersService.createOffer(req);
|
||||
// Wait for Alice's AddToOfferBook task.
|
||||
// Wait times vary; my logs show >= 2 second delay.
|
||||
sleep(2500);
|
||||
}
|
||||
|
||||
List<OfferInfo> offers = getOffersSortedByDate(aliceStubs, "buy", "cad");
|
||||
assertEquals(MAX_OFFERS, offers.size());
|
||||
|
||||
// Cancel the offers, checking the open offer count after each offer removal.
|
||||
for (int i = 1; i <= MAX_OFFERS; i++) {
|
||||
cancelOffer(aliceStubs, offers.remove(0).getId());
|
||||
assertEquals(MAX_OFFERS - i, getOpenOffersCount(aliceStubs, "buy", "cad"));
|
||||
}
|
||||
|
||||
sleep(1000); // wait for offer removal
|
||||
|
||||
offers = getOffersSortedByDate(aliceStubs, "buy", "cad");
|
||||
assertEquals(0, offers.size());
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue