private void tradeRequestSample() { final Map<String, List<Trade>> trade = iexTradingClient.executeRequest(new TradeRequestBuilder() .withSymbol("AAPL") .build()); System.out.println(trade); }
@Override public RestRequest<Map<String, List<Trade>>> build() { return RestRequestBuilder.<Map<String, List<Trade>>>builder() .withPath("/deep/trades").get() .withResponse(new GenericType<Map<String, List<Trade>>>() {}) .addQueryParam(getSymbols()) .addQueryParam(getFilterParams()) .build(); } }
@Test public void tradeAcceptanceTest() { final Map<String, List<Trade>> trade = iexTradingClient.executeRequest(new TradeRequestBuilder() .withSymbol("AAPL") .build()); }
@Test public void shouldSuccessfullyCreateRequest() { final String symbol = "IBM"; final RestRequest<Map<String, List<Trade>>> request = new TradeRequestBuilder() .withSymbol(symbol) .build(); assertThat(request.getMethodType()).isEqualTo(MethodType.GET); assertThat(request.getPath()).isEqualTo("/deep/trades"); assertThat(request.getResponseType()).isEqualTo(new GenericType<Map<String, List<Trade>>>() {}); assertThat(request.getPathParams()).isEmpty(); assertThat(request.getQueryParams()).contains(entry("symbols", symbol)); }
@Test public void tradesServiceTest() { stubFor(get(urlEqualTo("/deep/trades?symbols=SNAP")) .withHeader("Accept", equalTo("application/json")) .willReturn(aResponse() .withStatus(200) .withHeader("Accept", "application/json") .withHeader("Content-Type", "application/json") .withBodyFile("rest/marketdata/TradesResponse.json"))); final Map<String, List<Trade>> tradeMap = iexTradingClient.executeRequest(new TradeRequestBuilder() .withSymbol("SNAP") .build()); final List<Trade> tradeList = tradeMap.get("SNAP"); final Trade trade = tradeList.get(0); assertThat(trade.getPrice()).isEqualTo(BigDecimal.valueOf(12.835)); assertThat(trade.getSize()).isEqualTo(BigDecimal.valueOf(100)); assertThat(trade.getTradeId()).isEqualTo(364415895L); assertThat(trade.isISO()).isFalse(); assertThat(trade.isOddLot()).isFalse(); assertThat(trade.isOutsideRegularHours()).isFalse(); assertThat(trade.isSinglePriceCross()).isFalse(); assertThat(trade.isTradeThroughExempt()).isFalse(); assertThat(trade.getTimestamp()).isEqualTo(1510961576182L); }