diff --git a/MarketDataService/src/main/java/com/joe/trading/marketdataservice/model/MarketData.java b/MarketDataService/src/main/java/com/joe/trading/marketdataservice/model/MarketData.java index 259d259..f0a0828 100755 --- a/MarketDataService/src/main/java/com/joe/trading/marketdataservice/model/MarketData.java +++ b/MarketDataService/src/main/java/com/joe/trading/marketdataservice/model/MarketData.java @@ -34,6 +34,10 @@ public class MarketData implements Serializable { private String EXCHANGE; + public MarketData(String ticker){ + this.TICKER = ticker; + } + @Override public String toString() { return "MarketData{" + diff --git a/MarketDataService/src/test/java/com/joe/trading/marketdataservice/services/MarketDataServiceTest.java b/MarketDataService/src/test/java/com/joe/trading/marketdataservice/services/MarketDataServiceTest.java index cd3dd6a..028d2e9 100755 --- a/MarketDataService/src/test/java/com/joe/trading/marketdataservice/services/MarketDataServiceTest.java +++ b/MarketDataService/src/test/java/com/joe/trading/marketdataservice/services/MarketDataServiceTest.java @@ -154,7 +154,7 @@ void testInitialSubscriptionCheck(){ @Test void buildInitialCacheEntryTest() throws JsonProcessingException { - List marketDataList = Arrays.asList(new MarketData(), new MarketData()); + List marketDataList = Arrays.asList(new MarketData("IBM"), new MarketData("AAPL")); Object[] marketDataArray = marketDataList.toArray(); when(restTemplate.getForEntity(anyString(), eq(Object[].class))) diff --git a/MarketDataService/src/test/java/com/joe/trading/marketdataservice/services/orderbook/OrderBookServiceTest.java b/MarketDataService/src/test/java/com/joe/trading/marketdataservice/services/orderbook/OrderBookServiceTest.java index 74ae9b1..de9381f 100755 --- a/MarketDataService/src/test/java/com/joe/trading/marketdataservice/services/orderbook/OrderBookServiceTest.java +++ b/MarketDataService/src/test/java/com/joe/trading/marketdataservice/services/orderbook/OrderBookServiceTest.java @@ -37,11 +37,11 @@ public void setUp(){ void testPublishOrderBook() throws JsonProcessingException { doNothing().when(natsService).publish(any(), any()); - List orderBooks = new ArrayList<>(); - orderBooks.add(new OrderBook()); - orderBooks.add(new OrderBook()); + List orderBooks = new ArrayList<>(); + orderBooks.add(new com.joe.trading.shared.dtos.OrderBook()); + orderBooks.add(new com.joe.trading.shared.dtos.OrderBook()); - OrderBook[] orderBookArray = new OrderBook[orderBooks.size()]; + com.joe.trading.shared.dtos.OrderBook[] orderBookArray = new com.joe.trading.shared.dtos.OrderBook[orderBooks.size()]; int count = 0; while (count < orderBooks.size()){ @@ -49,12 +49,12 @@ void testPublishOrderBook() throws JsonProcessingException { count += 1;; } - when(restTemplate.getForEntity(anyString(), eq(OrderBook[].class))) + when(restTemplate.getForEntity(anyString(), eq(com.joe.trading.shared.dtos.OrderBook[].class))) .thenReturn(ResponseEntity.ok(orderBookArray)); orderBookService.publishOrderBook(); - verify(natsService, times(8)).publish(any(), any()); + verify(natsService, times(32)).publish(any(), any()); } } diff --git a/OrderProcessingService/src/main/java/com/joe/trading/order_processing/nats/NatsSubscriber.java b/OrderProcessingService/src/main/java/com/joe/trading/order_processing/nats/NatsSubscriber.java index 8b4ce67..25373f4 100755 --- a/OrderProcessingService/src/main/java/com/joe/trading/order_processing/nats/NatsSubscriber.java +++ b/OrderProcessingService/src/main/java/com/joe/trading/order_processing/nats/NatsSubscriber.java @@ -137,6 +137,10 @@ private List updateInternalOrders(String cacheKey, String key, List orderBooksForKey = books.stream() .map(orderBookMapper::mapToOrderBook).toList(); + if (openOrders == null){ + return orderBooksForKey; + } + orderBooksForKey.forEach(book -> { if (openOrders.contains(book.getId())){ internalOrders.add(book);