@Test public void shouldSuccessfullyCreateRequestWithFullDate() { final LocalDate date = LocalDate.of(2017, 5, 5); final RestRequest<List<HistoricalDailyStats>> request = new HistoricalDailyStatsRequestBuilder() .withDate(date) .build(); assertThat(request.getMethodType()).isEqualTo(MethodType.GET); assertThat(request.getPath()).isEqualTo("/stats/historical/daily"); assertThat(request.getResponseType()).isEqualTo(new GenericType<List<HistoricalDailyStats>>() {}); assertThat(request.getPathParams()).isEmpty(); assertThat(request.getQueryParams()).contains(entry("date", "20170505")); }
@Test public void shouldSuccessfullyCreateRequestWithYearMonthDate() { final YearMonth yearMonth = YearMonth.of(2017, 5); final RestRequest<List<HistoricalDailyStats>> request = new HistoricalDailyStatsRequestBuilder() .withDate(yearMonth) .build(); assertThat(request.getMethodType()).isEqualTo(MethodType.GET); assertThat(request.getPath()).isEqualTo("/stats/historical/daily"); assertThat(request.getResponseType()).isEqualTo(new GenericType<List<HistoricalDailyStats>>() {}); assertThat(request.getPathParams()).isEmpty(); assertThat(request.getQueryParams()).contains(entry("date", "201705")); }
@Test public void historicalDailyServiceTest() { stubFor(get(urlEqualTo("/stats/historical/daily?date=201605")) .withHeader("Accept", equalTo("application/json")) .willReturn(aResponse() .withStatus(200) .withHeader("Accept", "application/json") .withHeader("Content-Type", "application/json") .withBodyFile("rest/stats/HistoricalDailyResponse.json"))); final List<HistoricalDailyStats> historicalDailyStatsList = iexTradingClient.executeRequest( new HistoricalDailyStatsRequestBuilder() .withDate(YearMonth.of(2016, 5)) .build()); final HistoricalDailyStats historicalDailyStats = historicalDailyStatsList.get(0); assertThat(historicalDailyStats.getDate()).isEqualTo(LocalDate.of(2016, 5, 31)); assertThat(historicalDailyStats.getVolume()).isEqualTo(BigDecimal.valueOf(116043638L)); assertThat(historicalDailyStats.getRoutedVolume()).isEqualTo(BigDecimal.valueOf(40746597L)); assertThat(historicalDailyStats.getMarketShare()).isEqualTo(BigDecimal.valueOf(0.01401)); assertThat(historicalDailyStats.isHalfday()).isFalse(); assertThat(historicalDailyStats.getLitVolume()).isEqualTo(BigDecimal.valueOf(12835219)); }