@Override public void run() { callback.onFailure(e); } });
@Override public void run() { callback.onFailure(e); } });
@Override public void run() { callback.onFailure(e); } });
@Override public void run() { callback.onFailure(e); } });
@Override public void run() { callback.onFailure(e); } });
@Override public void run() { callback.onFailure(e); } });
@Override public void run() { callback.onFailure(e); } });
@Override public void run() { callback.onFailure(e); } });
@Override public void run() { callback.onFailure(e); } });
@Override public void run() { callback.onFailure(e); } });
@Test public void isFirstSpendOrder_False() throws InterruptedException { final CountDownLatch countDownLatch = new CountDownLatch(1); ArgumentCaptor<Callback<Boolean, Void>> isFirstSpendCallback = ArgumentCaptor.forClass(Callback.class); orderRepository.isFirstSpendOrder(new KinCallback<Boolean>() { @Override public void onResponse(Boolean response) { } @Override public void onFailure(KinEcosystemException exception) { countDownLatch.countDown(); assertTrue(exception.getCause() instanceof DataNotAvailableException); } }); verify(local).isFirstSpendOrder(isFirstSpendCallback.capture()); isFirstSpendCallback.getValue().onFailure(null); countDownLatch.await(500, TimeUnit.MICROSECONDS); }
private void getOrder(int pollingIndex) { try { if (pollingIndex < DELAY_SECONDS.length) { Order order = remote.getOrderSync(orderID); if (order == null || order.getStatus() == Status.PENDING) { if(order != null && pollingIndex == DELAYED_ATTEMPTED_NUMBER){ callback.onResponse(order.status(Status.DELAYED)); } sleep(DELAY_SECONDS[pollingIndex] * SEC_IN_MILLI); getOrder(++pollingIndex); } else { callback.onResponse(order); } } else { callback.onFailure(ErrorUtil.createOrderTimeoutException()); } } catch (final InterruptedException e) { callback.onFailure(toApiException(e)); } }
@Test public void createOrder_Failed() { orderRepository.createOrder(offerID, openOrderCallback); verify(remote).createOrder(anyString(), createOrderCapture.capture()); createOrderCapture.getValue().onFailure(getApiException()); assertNull(orderRepository.getOpenOrder().getValue()); verify(openOrderCallback).onFailure(any(KinEcosystemException.class)); verify(openOrderCallback, never()).onResponse(any(OpenOrder.class)); }
@Test public void getOffers_Failed() { KinCallback<OfferList> offerListCallback = mock(KinCallback.class); ArgumentCaptor<Callback<OfferList, ApiException>> getOfferCapture = ArgumentCaptor.forClass(Callback.class); offerRepository.getOffers(offerListCallback); verify(remote).getOffers(getOfferCapture.capture()); getOfferCapture.getValue().onFailure(getApiException()); assertEquals(0, offerRepository.getCachedOfferList().getOffers().size()); verify(offerListCallback).onFailure(any(KinEcosystemException.class)); }
@Test public void cancelOrder_Failed() throws Exception { KinCallback<Void> cancelOrderCallback = mock(KinCallback.class); ArgumentCaptor<Callback<Void, ApiException>> cancelOrderCapture = ArgumentCaptor.forClass(Callback.class); // Create Order orderRepository.createOrder(order.getOfferId(), openOrderCallback); verify(remote).createOrder(anyString(), createOrderCapture.capture()); createOrderCapture.getValue().onResponse(openOrder); assertEquals(openOrder, orderRepository.getOpenOrder().getValue()); // Cancel Order orderRepository.cancelOrder(offerID, orderID, cancelOrderCallback); verify(remote).cancelOrder(anyString(), cancelOrderCapture.capture()); cancelOrderCapture.getValue().onFailure(getApiException()); verify(cancelOrderCallback).onFailure(any(KinEcosystemException.class)); verify(cancelOrderCallback, never()).onResponse(null); }
@Test public void submitOrder_Failed() throws Exception { KinCallback<Order> orderCallback = mock(KinCallback.class); ArgumentCaptor<Callback<Order, ApiException>> submitOrderCapture = ArgumentCaptor.forClass(Callback.class); // Create Order orderRepository.createOrder(order.getOfferId(), openOrderCallback); verify(remote).createOrder(anyString(), createOrderCapture.capture()); createOrderCapture.getValue().onResponse(openOrder); assertEquals(openOrder, orderRepository.getOpenOrder().getValue()); // Submit Order orderRepository.submitOrder(order.getOfferId(), "", order.getOrderId(), orderCallback); verify(remote).submitOrder(anyString(), anyString(), submitOrderCapture.capture()); submitOrderCapture.getValue().onFailure(getApiException()); verify(orderCallback).onFailure(any(KinEcosystemException.class)); verify(orderCallback, never()).onResponse(any(Order.class)); assertEquals(Status.FAILED, orderRepository.getOrderWatcher().getValue().getStatus()); assertNull(orderRepository.getOpenOrder().getValue()); }