private void performTestUsing(boolean disposeEagerly) { final Resource resource = mock(Resource.class); when(resource.getTextFromWeb()).thenReturn("Hello world!"); Callable<Resource> resourceFactory = new Callable<Resource>() { @Override public Resource call() { return resource; } }; Function<Resource, Observable<String>> observableFactory = new Function<Resource, Observable<String>>() { @Override public Observable<String> apply(Resource res) { return Observable.fromArray(res.getTextFromWeb().split(" ")); } }; Observer<String> observer = TestHelper.mockObserver(); Observable<String> o = Observable.using(resourceFactory, observableFactory, new DisposeAction(), disposeEagerly); o.subscribe(observer); InOrder inOrder = inOrder(observer); inOrder.verify(observer, times(1)).onNext("Hello"); inOrder.verify(observer, times(1)).onNext("world!"); inOrder.verify(observer, times(1)).onComplete(); inOrder.verifyNoMoreInteractions(); // The resouce should be closed verify(resource, times(1)).dispose(); }
private void verifyResult(Single<Boolean> o, boolean result) { SingleObserver<Boolean> observer = TestHelper.mockSingleObserver(); o.subscribe(observer); InOrder inOrder = inOrder(observer); inOrder.verify(observer, times(1)).onSuccess(result); inOrder.verifyNoMoreInteractions(); }
@Test public void testSecondFails() { s1.onNext("a"); s1.onNext("b"); s2.onError(new RuntimeException("Forced failure")); inOrder.verify(subscriber, times(1)).onError(any(RuntimeException.class)); s2.onNext("1"); s2.onNext("2"); inOrder.verify(subscriber, never()).onComplete(); inOrder.verify(subscriber, never()).onNext(any(String.class)); inOrder.verifyNoMoreInteractions(); }
@Test public void testAdvancesDecoderBeforeAttemptingToGetFirstFrame() { when(gifEncoder.start(any(OutputStream.class))).thenReturn(true); when(decoder.getFrameCount()).thenReturn(1); when(decoder.getNextFrame()).thenReturn(Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888)); encoder.encode(resource, file, options); InOrder order = inOrder(decoder); order.verify(decoder).advance(); order.verify(decoder).getNextFrame(); }
doAnswer( new Answer<Void>() { @Override InOrder order = inOrder(mockMemberComms, spySub); order.verify(spySub).acquireBarrier(); order.verify(mockMemberComms, never()).sendMemberAcquired(eq(spySub)); order.verify(spySub, never()).insideBarrier(); order.verify(mockMemberComms, never()).sendMemberCompleted(eq(spySub), eq(data)); order.verify(spySub).cancel(anyString(), any()); order.verify(spySub).cleanup(any());
/** * Test the normal sub procedure execution case. */ @Test public void testSimpleRun() throws Exception { member = buildCohortMember(); EmptySubprocedure subproc = new EmptySubprocedure(member, mockListener); EmptySubprocedure spy = spy(subproc); when(mockBuilder.buildSubprocedure(op, data)).thenReturn(spy); // when we get a prepare, then start the commit phase addCommitAnswer(); // run the operation // build a new operation Subprocedure subproc1 = member.createSubprocedure(op, data); member.submitSubprocedure(subproc1); // and wait for it to finish subproc.waitForLocallyCompleted(); // make sure everything ran in order InOrder order = inOrder(mockMemberComms, spy); order.verify(spy).acquireBarrier(); order.verify(mockMemberComms).sendMemberAcquired(eq(spy)); order.verify(spy).insideBarrier(); order.verify(mockMemberComms).sendMemberCompleted(eq(spy), eq(data)); order.verify(mockMemberComms, never()).sendMemberAborted(eq(spy), any()); }
@Test public void shouldAcquireEntityWriteLockBeforeAddingLabelToNode() throws Exception { // given when( nodeCursor.next() ).thenReturn( true ); when( nodeCursor.labels() ).thenReturn( LabelSet.NONE ); // when operations.nodeAddLabel( 123L, 456 ); // then order.verify( locks ).acquireExclusive( LockTracer.NONE, ResourceTypes.NODE, 123L ); order.verify( txState ).nodeDoAddLabel( 456, 123L ); }
@Test public void testSetsDataOnParserBeforeParsingHeader() { ByteBuffer data = ByteBuffer.allocate(1); when(gifDrawable.getBuffer()).thenReturn(data); GifHeader header = mock(GifHeader.class); when(parser.parseHeader()).thenReturn(header); encoder.encode(resource, file, options); InOrder order = inOrder(parser, decoder); order.verify(parser).setData(eq(data)); order.verify(parser).parseHeader(); order.verify(decoder).setData(header, data); }
public void runCoordinatedOperation(Procedure spy, AcquireBarrierAnswer prepareOperation, BarrierAnswer commitOperation, String... cohort) throws Exception { List<String> expected = Arrays.asList(cohort); when(coordinator.createProcedure(any(), eq(procName), eq(procData), anyListOf(String.class))) .thenReturn(spy); // use the passed controller responses doAnswer(prepareOperation).when(controller).sendGlobalBarrierAcquire(spy, procData, expected); doAnswer(commitOperation).when(controller) .sendGlobalBarrierReached(eq(spy), anyListOf(String.class)); // run the operation Procedure task = coordinator.startProcedure(spy.getErrorMonitor(), procName, procData, expected); // and wait for it to finish task.waitForCompleted(); // make sure we mocked correctly prepareOperation.ensureRan(); // we never got an exception InOrder inorder = inOrder(spy, controller); inorder.verify(spy).sendGlobalBarrierStart(); inorder.verify(controller).sendGlobalBarrierAcquire(task, procData, expected); inorder.verify(spy).sendGlobalBarrierReached(); inorder.verify(controller).sendGlobalBarrierReached(eq(task), anyListOf(String.class)); }
@Test public void testHappyPath() throws IOException { InOrder inOrder = Mockito.inOrder(mMockEventReporter); hookAlmostRealRequestWillBeSent(mMockEventReporter); ByteArrayOutputStream capturedOutput = Response filteredResponse = mInterceptor.intercept( new SimpleTestChain(request, reply, mock(Connection.class))); inOrder.verify(mMockEventReporter).isEnabled(); inOrder.verify(mMockEventReporter) .requestWillBeSent(any(NetworkEventReporter.InspectorRequest.class)); inOrder.verify(mMockEventReporter) .dataSent( anyString(), eq(requestText.length()), eq(requestText.length())); inOrder.verify(mMockEventReporter) .responseHeadersReceived(any(NetworkEventReporter.InspectorResponse.class)); String interceptedOutput = capturedOutput.toString(); inOrder.verify(mMockEventReporter).dataReceived(anyString(), anyInt(), anyInt()); inOrder.verify(mMockEventReporter).responseReadFinished(anyString()); inOrder.verifyNoMoreInteractions();
@Test public void mustDeleteLogFilesThatCanBePruned() { when( factory.strategyFromConfigValue( eq( fs ), eq( logFiles ), eq( clock ), anyString() ) ) .thenReturn( upTo -> LongStream.range( 3, upTo ) ); LogPruning pruning = new LogPruningImpl( fs, logFiles,logProvider,factory, clock, config ); pruning.pruneLogs( 5 ); InOrder order = inOrder( fs ); order.verify( fs ).deleteFile( new File( "3" ) ); order.verify( fs ).deleteFile( new File( "4" ) ); // Log file 5 is not deleted; it's the lowest version expected to remain after pruning. verifyNoMoreInteractions( fs ); }
@Test public void testSizeCallbacksAreCalledInOrderPreDraw() { SizeReadyCallback[] cbs = new SizeReadyCallback[25]; for (int i = 0; i < cbs.length; i++) { cbs[i] = mock(SizeReadyCallback.class); target.getSize(cbs[i]); } int width = 100, height = 111; parent.getLayoutParams().width = width; parent.getLayoutParams().height = height; activity.visible(); view.getViewTreeObserver().dispatchOnPreDraw(); InOrder order = inOrder((Object[]) cbs); for (SizeReadyCallback cb : cbs) { order.verify(cb).onSizeReady(eq(width), eq(height)); } }
@Test public void testSecondInfiniteThenFirstCompletes() { s2.onNext("1"); s2.onNext("2"); s1.onNext("a"); inOrder.verify(observer, times(1)).onNext("a-1"); s1.onNext("b"); inOrder.verify(observer, times(1)).onNext("b-2"); s1.onComplete(); inOrder.verify(observer, times(1)).onComplete(); inOrder.verifyNoMoreInteractions(); }
InOrder inOrder = Mockito.inOrder(messages, messageListRequest, get); inOrder.verify(messages).list(GoogleMailExporter.USER); inOrder.verify(messageListRequest).setMaxResults(GoogleMailExporter.PAGE_SIZE); verify(messageListRequest, never()).setPageToken(Matchers.anyString()); inOrder.verify(messages).get(GoogleMailExporter.USER, MESSAGE_ID); inOrder.verify(get).setFormat("raw"); inOrder.verify(get).execute();
@Test public void testDoesNotGetMoreThanOncePerSize() { Bitmap bitmap = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_4444); PreFillType size = new PreFillType.Builder(bitmap.getWidth(), bitmap.getHeight()).setConfig(bitmap.getConfig()) .build(); final int numBitmaps = 5; Map<PreFillType, Integer> allocationOrder = new HashMap<>(); allocationOrder.put(size, numBitmaps); getHandler(allocationOrder).run(); InOrder order = inOrder(pool); order.verify(pool).getDirty(eq(bitmap.getWidth()), eq(bitmap.getHeight()), eq(bitmap.getConfig())); // TODO(b/20335397): This code was relying on Bitmap equality which Robolectric removed // order.verify(pool, times(numBitmaps)).put(eq(bitmap)); }
@Test public void simpleTest() { final WaitStrategy underTest = new WaitAllStrategy() .withStrategy(strategy1) .withStrategy(strategy2); doNothing().when(strategy1).waitUntilReady(eq(container)); doNothing().when(strategy2).waitUntilReady(eq(container)); underTest.waitUntilReady(container); InOrder inOrder = inOrder(strategy1, strategy2); inOrder.verify(strategy1).waitUntilReady(any()); inOrder.verify(strategy2).waitUntilReady(any()); }
@Test public void testAdditionalIncidentsAndFailedJobsOption() { given().queryParam("incidents", "true").queryParam("failedJobs", "true") .then().expect() .statusCode(Status.OK.getStatusCode()) .when().get(PROCESS_DEFINITION_STATISTICS_URL); InOrder inOrder = Mockito.inOrder(processDefinitionStatisticsQueryMock); inOrder.verify(processDefinitionStatisticsQueryMock).includeFailedJobs(); inOrder.verify(processDefinitionStatisticsQueryMock).includeIncidents(); inOrder.verify(processDefinitionStatisticsQueryMock).list(); }
@Test public void testDecisionDefinitionRetrievalByEmptyList() { given() .queryParam("decisionDefinitionIdIn", "") .then().expect() .statusCode(Status.OK.getStatusCode()) .when() .get(DECISION_DEFINITION_QUERY_URL); // assert query invocation InOrder inOrder = Mockito.inOrder(mockedQuery); inOrder.verify(mockedQuery, never()).decisionDefinitionIdIn(Matchers.<String[]>anyVararg()); inOrder.verify(mockedQuery).list(); }
@Test public void testGetReport() { given() .then().expect() .statusCode(Status.OK.getStatusCode()) .contentType(ContentType.JSON) .when().get(HISTORIC_REPORT_URL); InOrder inOrder = Mockito.inOrder(historicCaseInstanceReport); inOrder.verify(historicCaseInstanceReport).list(); verifyNoMoreInteractions(historicCaseInstanceReport); }