private void auctionAsyncRequestSample() { final SocketRequest<DeepAsyncResponse<Auction>> request = new AuctionAsyncRequestBuilder() .withSymbol("AAPL") .build(); iexTradingClient.subscribe(request, AUCTION_CONSUMER); }
@Test public void shouldSuccessfullyCreateRequest() { final String symbol = "IBM"; final SocketRequest<DeepAsyncResponse<Auction>> request = new AuctionAsyncRequestBuilder() .withSymbol(symbol) .build(); assertThat(request.getPath()).isEqualTo("/deep"); final DeepAsyncRequest param = (DeepAsyncRequest) request.getParam(); assertThat(param.getSymbols()).containsExactly(symbol); assertThat(param.getChannels()).containsExactly(DeepChannel.AUCTION); }
@Test public void auctionAsyncServiceTest() { stubFor(socket) .withResponseFile("/marketdata/AuctionAsyncResponse.json"); final Consumer<DeepAsyncResponse<Auction>> consumer = spy(Consumer.class); iexTradingClient.subscribe(new AuctionAsyncRequestBuilder() .withSymbol("AAPL") .build(), consumer); verify(consumer).accept(dataCaptor.capture()); final DeepAsyncResponse<Auction> response = dataCaptor.getValue(); assertThat(response.getSymbol()).isEqualTo("AAPL"); assertThat(response.getMessageType()).isEqualTo(DeepMessageType.AUCTION); assertThat(response.getSeq()).isEqualTo(1L); final Auction data = response.getData(); assertThat(data.getAuctionType()).isEqualTo(AuctionType.Open); assertThat(data.getPairedShares()).isEqualTo(BigDecimal.valueOf(3600)); assertThat(data.getImbalanceShares()).isEqualTo(BigDecimal.valueOf(600)); assertThat(data.getReferencePrice()).isEqualTo(BigDecimal.valueOf(1.05)); assertThat(data.getIndicativePrice()).isEqualTo(BigDecimal.valueOf(1.05)); assertThat(data.getAuctionBookPrice()).isEqualTo(BigDecimal.valueOf(1.05)); assertThat(data.getCollarReferencePrice()).isEqualTo(BigDecimal.valueOf(1.05)); assertThat(data.getLowerCollarPrice()).isEqualTo(BigDecimal.valueOf(0.5)); assertThat(data.getUpperCollarPrice()).isEqualTo(BigDecimal.valueOf(1.6)); assertThat(data.getExtensionNumber()).isEqualTo(BigDecimal.ZERO); assertThat(data.getStartTime()).isEqualTo(LocalTime.of(9, 30, 0)); assertThat(data.getLastUpdate()).isEqualTo(1506706199025L); }