@Test public void testAPIRequests() throws Exception { auth = new AuthenticationFacade(); setupFacade = new SetupFacade(); messageFacade = new SecureMessageFacade(); TestOBSApplication.injectMocks(setupFacade); TestOBSApplication.injectMocks(auth); TestOBSApplication.injectMocks(messageFacade); TestOBSApplication.injectMocks(setupFacade.getRestClient()); setupFacade.init(tokenConfiguration); setupFacade.login( "Asdf1234", new Callback() { @Override public void onTaskCompleted(Object result) { Log.d("HDB: onTaskCompleted", "Login Successful"); messageFacade.getMessages( new Callback<GetSecureMessagesResponse>() { @Override public void onTaskCompleted(GetSecureMessagesResponse result) { Log.d("HDB: SecureMessageFacadeTest.onTaskCompleted", result.toString()); for (SecureMessage msg : result .getMessages() .subList( 0, result.getMessages().size() < 10 ? result.getMessages().size() : 10)) { Log.d( "HDB: Message", "Fr: " + msg.getOriginatingCompanyCode() + "." + msg.getOriginatingUsername() + ", Subject: " + msg.getSubject() + ", Date: " + msg.getDate()); } Log.d("HDB: onTaskCompleted", result.toString()); Robolectric.runBackgroundTasks(); Robolectric.runUiThreadTasks(); } @Override public void onTaskFailure(String Reason) {} }); Robolectric.runBackgroundTasks(); Robolectric.runUiThreadTasks(); } @Override public void onTaskFailure(String Reason) { Log.e("onTaskFailure", "Login Failed"); } }); Robolectric.runBackgroundTasks(); Robolectric.runUiThreadTasks(); Robolectric.runBackgroundTasks(); Robolectric.runUiThreadTasks(); Robolectric.runBackgroundTasks(); Robolectric.runUiThreadTasks(); }