private void tradeBreakAsyncRequestSample() { final SocketRequest<DeepAsyncResponse<Trade>> request = new TradeBreakAsyncRequestBuilder() .withSymbol("AAPL") .build(); iexTradingClient.subscribe(request, TRADE_BREAK_CONSUMER); }
@Test public void tradeBreakAsyncServiceTest() { stubFor(socket) .withResponseFile("/marketdata/TradeBreakAsyncResponse.json"); final Consumer<DeepAsyncResponse<Trade>> consumer = spy(Consumer.class); iexTradingClient.subscribe(new TradeBreakAsyncRequestBuilder() .withSymbol("AAPL") .build(), consumer); verify(consumer).accept(dataCaptor.capture()); final DeepAsyncResponse<Trade> response = dataCaptor.getValue(); assertThat(response.getSymbol()).isEqualTo("AAPL"); assertThat(response.getMessageType()).isEqualTo(DeepMessageType.TRADE_BREAK); assertThat(response.getSeq()).isEqualTo(1L); final Trade data = response.getData(); assertThat(data.getPrice()).isEqualTo(BigDecimal.valueOf(156.1)); assertThat(data.getSize()).isEqualTo(BigDecimal.valueOf(100)); assertThat(data.getTradeId()).isEqualTo(517341294L); assertThat(data.isISO()).isFalse(); assertThat(data.isOddLot()).isFalse(); assertThat(data.isOutsideRegularHours()).isFalse(); assertThat(data.isSinglePriceCross()).isFalse(); assertThat(data.isTradeThroughExempt()).isFalse(); assertThat(data.getTimestamp()).isEqualTo(1494619192003L); } }
@Test public void shouldSuccessfullyCreateRequest() { final String symbol = "IBM"; final SocketRequest<DeepAsyncResponse<Trade>> request = new TradeBreakAsyncRequestBuilder() .withSymbol(symbol) .build(); assertThat(request.getPath()).isEqualTo("/deep"); final DeepAsyncRequest param = (DeepAsyncRequest) request.getParam(); assertThat(param.getSymbols()).containsExactly(symbol); assertThat(param.getChannels()).containsExactly(DeepChannel.TRADE_BREAK); }