@Test public void testDoesNotWaitIfGivenTimeOutEqualToZero() throws InterruptedException { try { future.get(0, TimeUnit.MILLISECONDS); } catch (InterruptedException | ExecutionException e) { throw new RuntimeException(e); } catch (TimeoutException e) { // Expected. } verify(waiter, never()).waitForTimeout(eq(future), anyLong()); } }
private void verifyNoBackingStoreReads() { verify(mBackingStore, times(0)).getChild(anyLong(), anyString()); verify(mBackingStore, times(0)).getChildId(anyLong(), anyString()); verify(mBackingStore, times(0)).getChildren(anyLong()); verify(mBackingStore, times(0)).getChildIds(anyLong()); verify(mBackingStore, times(0)).get(anyLong()); verify(mBackingStore, times(0)).getMutable(anyLong()); } }
@Test public void testUploadHelper() { AtomicInteger uploadCount = new AtomicInteger(0); String path = "some/test/path.json"; ExternalStorageLocation location = new ExternalStorageLocation(); location.setPath(path); when(externalPayloadStorage.getLocation(any(), any(), any())).thenReturn(location); doAnswer(invocation -> { uploadCount.incrementAndGet(); return null; }).when(externalPayloadStorage).upload(anyString(), any(), anyLong()); assertEquals(path, externalPayloadStorageUtils.uploadHelper(new byte[]{}, 10L, ExternalPayloadStorage.PayloadType.TASK_OUTPUT)); assertEquals(1, uploadCount.get()); }
@Test public void bucketWrapperShouldDoNotRecordBucketRemovesIfMoveBucketFails() { doReturn(false).when(delegate).removeBucket(targetMember, bucketId, colocatedRegionBytes); wrapper.removeBucket(targetMember, bucketId, colocatedRegionBytes); // verify the details is not updated with bytes transfered for (PartitionRebalanceDetailsImpl details : rebalanceDetails) { verify(details, times(0)).incTransfers(anyLong(), anyLong()); } // verify we recorded necessary stats verify(stats, times(1)).startBucketRemove(anyInt()); verify(stats, times(1)).endBucketRemove(anyInt(), anyBoolean(), anyLong(), anyLong()); }
@Test(expected = CancellationException.class) public void testThrowsCancellationExceptionIfCancelledWhileWaiting() throws ExecutionException, InterruptedException { doAnswer( new Answer<Void>() { @Override public Void answer(InvocationOnMock invocationOnMock) { future.cancel(false); return null; } }) .when(waiter) .waitForTimeout(eq(future), anyLong()); future.get(); }
mock(InternalWindowFunction.class); when(mockAssigner.assignWindows(anyInt(), anyLong(), anyAssignerContext())) .thenReturn(Arrays.asList(new TimeWindow(2, 4))); return TriggerResult.PURGE; }).when(mockTrigger).onElement(Matchers.<Integer>anyObject(), anyLong(), anyTimeWindow(), anyTriggerContext()); verify(mockWindowFunction, never()) .process(anyInt(), anyTimeWindow(), anyInternalWindowContext(), anyIntIterable(), WindowOperatorContractTest.<List<Integer>>anyCollector());
private static <T> void shouldContinueOnEventTime(Trigger<T, TimeWindow> mockTrigger) throws Exception { when(mockTrigger.onEventTime(anyLong(), anyTimeWindow(), anyTriggerContext())).thenReturn(TriggerResult.CONTINUE); }
private StepMockHelper<DatabaseLookupMeta, DatabaseLookupData> createMockHelper() { StepMockHelper<DatabaseLookupMeta, DatabaseLookupData> mockHelper = new StepMockHelper<DatabaseLookupMeta, DatabaseLookupData>( "test DatabaseLookup", DatabaseLookupMeta.class, DatabaseLookupData.class ); when( mockHelper.logChannelInterfaceFactory.create( any(), any( LoggingObjectInterface.class ) ) ) .thenReturn( mockHelper.logChannelInterface ); when( mockHelper.trans.isRunning() ).thenReturn( true ); RowMeta inputRowMeta = new RowMeta(); RowSet rowSet = mock( RowSet.class ); when( rowSet.getRowWait( anyLong(), any( TimeUnit.class ) ) ).thenReturn( new Object[ 0 ] ).thenReturn( null ); when( rowSet.getRowMeta() ).thenReturn( inputRowMeta ); when( mockHelper.trans.findRowSet( anyString(), anyInt(), anyString(), anyInt() ) ).thenReturn( rowSet ); when( mockHelper.transMeta.findNextSteps( Matchers.any( StepMeta.class ) ) ) .thenReturn( Collections.singletonList( mock( StepMeta.class ) ) ); when( mockHelper.transMeta.findPreviousSteps( any( StepMeta.class ), anyBoolean() ) ) .thenReturn( Collections.singletonList( mock( StepMeta.class ) ) ); return mockHelper; }
private static <T> void shouldContinueOnElement(Trigger<T, TimeWindow> mockTrigger) throws Exception { when(mockTrigger.onElement(Matchers.<T>anyObject(), anyLong(), anyTimeWindow(), anyTriggerContext())).thenReturn(TriggerResult.CONTINUE); }
private void seekAndAssert(long seekPos) throws IOException { Assert.assertEquals(verifyInputStream.getPos(), testInputStream.getPos()); long delta = seekPos - testInputStream.getPos(); testInputStream.seek(seekPos); if (delta > 0L && delta <= HadoopDataInputStream.MIN_SKIP_BYTES) { verify(verifyInputStream, atLeastOnce()).skip(anyLong()); verify(verifyInputStream, never()).seek(anyLong()); } else if (delta != 0L) { verify(verifyInputStream, atLeastOnce()).seek(seekPos); verify(verifyInputStream, never()).skip(anyLong()); } else { verify(verifyInputStream, never()).seek(anyLong()); verify(verifyInputStream, never()).skip(anyLong()); } Assert.assertEquals(seekPos, verifyInputStream.getPos()); reset(verifyInputStream); }
@Override public OperatorStateBackend createOperatorStateBackend(Environment env, String operatorIdentifier) throws Exception { OperatorStateBackend operatorStateBackend = mock(OperatorStateBackend.class); when(operatorStateBackend.snapshot(anyLong(), anyLong(), any(CheckpointStreamFactory.class), any(CheckpointOptions.class))) .thenReturn(new FutureTask<>(new BlockingCallable())); return operatorStateBackend; } }
@SuppressWarnings("unchecked") @Test public void testUploadWorkflowPayload() throws IOException { AtomicInteger uploadCount = new AtomicInteger(0); InputStream stream = ExternalPayloadStorageUtilsTest.class.getResourceAsStream("/payload.json"); Map<String, Object> payload = objectMapper.readValue(stream, Map.class); when(externalPayloadStorage.getLocation(ExternalPayloadStorage.Operation.WRITE, ExternalPayloadStorage.PayloadType.WORKFLOW_OUTPUT, "")).thenReturn(location); doAnswer(invocation -> { uploadCount.incrementAndGet(); return null; }).when(externalPayloadStorage).upload(anyString(), any(), anyLong()); Workflow workflow = new Workflow(); workflow.setOutput(payload); externalPayloadStorageUtils.verifyAndUpload(workflow, ExternalPayloadStorage.PayloadType.WORKFLOW_OUTPUT); assertNull(workflow.getOutput()); assertEquals(1, uploadCount.get()); assertNotNull(workflow.getExternalOutputPayloadStoragePath()); }
@Test public void bucketWrapperShouldDelegateRemoveBucketToEnclosedOperator() { wrapper.removeBucket(targetMember, bucketId, colocatedRegionBytes); // verify the delegate is invoked verify(delegate, times(1)).removeBucket(targetMember, bucketId, colocatedRegionBytes); // verify we recorded necessary stats verify(stats, times(1)).startBucketRemove(anyInt()); verify(stats, times(1)).endBucketRemove(anyInt(), anyBoolean(), anyLong(), anyLong()); }
@Test(expected = InterruptedException.class) public void testThrowsInterruptedExceptionIfThreadInterruptedWhenDoneWaiting() throws InterruptedException, ExecutionException { doAnswer( new Answer<Void>() { @Override public Void answer(InvocationOnMock invocationOnMock) { Thread.currentThread().interrupt(); return null; } }) .when(waiter) .waitForTimeout(eq(future), anyLong()); future.get(); }
@Test public void eviction() { for (int id = 100; id < 100 + CACHE_SIZE * 2; id++) { MutableInodeFile child = MutableInodeFile.create(id, TEST_INODE_ID, "child" + id, 0, CreateFileContext.defaults()); mStore.writeInode(child); mStore.addChild(TEST_INODE_ID, child); } for (int id = 100; id < 100 + CACHE_SIZE * 2; id++) { assertTrue(mStore.getChild(TEST_INODE_DIR, "child" + id).isPresent()); } verify(mBackingStore, Mockito.atLeastOnce()).getMutable(anyLong()); }
mock(InternalWindowFunction.class); when(mockAssigner.assignWindows(anyInt(), anyLong(), anyAssignerContext())) .thenReturn(Arrays.asList(new TimeWindow(2, 4))); return TriggerResult.PURGE; }).when(mockTrigger).onElement(Matchers.<Integer>anyObject(), anyLong(), anyTimeWindow(), anyTriggerContext()); verify(mockWindowFunction, never()) .process(anyInt(), anyTimeWindow(), anyInternalWindowContext(), anyIntIterable(), WindowOperatorContractTest.<List<Integer>>anyCollector());
private static <T> void shouldFireAndPurgeOnEventTime(Trigger<T, TimeWindow> mockTrigger) throws Exception { when(mockTrigger.onEventTime(anyLong(), anyTimeWindow(), anyTriggerContext())).thenReturn(TriggerResult.FIRE_AND_PURGE); }