Skip to content

Commit

Permalink
[kraken] Add integration tests
Browse files Browse the repository at this point in the history
  • Loading branch information
bigscoop committed Aug 26, 2024
1 parent 6db82a3 commit 23a72b6
Showing 1 changed file with 70 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
package org.knowm.xchange.kraken.service;


import static org.assertj.core.api.Assertions.assertThat;

import java.io.IOException;
import java.util.List;
import org.junit.Test;
import org.knowm.xchange.ExchangeFactory;
import org.knowm.xchange.currency.CurrencyPair;
import org.knowm.xchange.dto.Order.OrderType;
import org.knowm.xchange.dto.marketdata.OrderBook;
import org.knowm.xchange.dto.marketdata.Ticker;
import org.knowm.xchange.kraken.KrakenExchange;

public class KrakenMarketDataServiceIntegration {

KrakenExchange exchange = ExchangeFactory.INSTANCE.createExchange(KrakenExchange.class);

@Test
public void valid_tickers() throws IOException {
List<Ticker> tickers = exchange.getMarketDataService().getTickers(null);
assertThat(tickers).isNotEmpty();

assertThat(tickers).allSatisfy(ticker -> {
assertThat(ticker.getInstrument()).isNotNull();
assertThat(ticker.getLast()).isNotNull();
if (ticker.getBid().signum() > 0 && ticker.getAsk().signum() > 0) {
assertThat(ticker.getBid()).isLessThan(ticker.getAsk());
}
});
}


@Test
public void valid_single_ticker() throws IOException {
Ticker ticker = exchange.getMarketDataService().getTicker(CurrencyPair.BTC_USDT);

assertThat(ticker.getInstrument()).isEqualTo(CurrencyPair.BTC_USDT);
assertThat(ticker.getLast()).isNotNull();

if (ticker.getBid().signum() > 0 && ticker.getAsk().signum() > 0) {
assertThat(ticker.getBid()).isLessThan(ticker.getAsk());
}

}


@Test
public void valid_orderbook() throws IOException {
OrderBook orderBook = exchange.getMarketDataService().getOrderBook(CurrencyPair.BTC_USDT);

assertThat(orderBook.getBids()).isNotEmpty();
assertThat(orderBook.getAsks()).isNotEmpty();

assertThat(orderBook.getAsks().get(0).getLimitPrice()).isGreaterThan(orderBook.getBids().get(0).getLimitPrice());

assertThat(orderBook.getBids()).allSatisfy(limitOrder -> {
assertThat(limitOrder.getInstrument()).isEqualTo(CurrencyPair.BTC_USDT);
assertThat(limitOrder.getType()).isEqualTo(OrderType.BID);
});

assertThat(orderBook.getAsks()).allSatisfy(limitOrder -> {
assertThat(limitOrder.getInstrument()).isEqualTo(CurrencyPair.BTC_USDT);
assertThat(limitOrder.getType()).isEqualTo(OrderType.ASK);
});

}

}

0 comments on commit 23a72b6

Please sign in to comment.