private <Resource> List<Integer> getTargetsSizes( RequestBuilder<Resource> requestBuilder, VerificationMode mode) { ArgumentCaptor<Integer> integerArgumentCaptor = ArgumentCaptor.forClass(Integer.class); ArgumentCaptor<Target<Resource>> targetArgumentCaptor = cast(ArgumentCaptor.forClass(Target.class)); SizeReadyCallback cb = mock(SizeReadyCallback.class); verify(requestBuilder, mode).into(targetArgumentCaptor.capture()); for (Target<Resource> target : targetArgumentCaptor.getAllValues()) { target.getSize(cb); } verify(cb, mode).onSizeReady(integerArgumentCaptor.capture(), integerArgumentCaptor.capture()); return integerArgumentCaptor.getAllValues(); }
private List<ProjectAnalysis> extractPayloadFactoryArguments(int time) { ArgumentCaptor<ProjectAnalysis> projectAnalysisCaptor = ArgumentCaptor.forClass(ProjectAnalysis.class); verify(webhookPayloadFactory, Mockito.times(time)).create(projectAnalysisCaptor.capture()); return projectAnalysisCaptor.getAllValues(); }
@Test public void getPersonalNamespaces_shouldProvideListOfAllFoldersSentFromResponses() throws Exception { configureHttpResponses(UNAUTHORIZED_401_RESPONSE, OK_200_RESPONSE, createOkPropfindResponse(), createOkSearchResponse()); List<? extends Folder> folders = webDavStore.getPersonalNamespaces(); List<HttpGeneric> requests = requestCaptor.getAllValues(); assertEquals(3, folders.size()); }
@Test public void checkSettings_withInitialUnauthorizedResponse_shouldPerformBasicAuthentication() throws Exception { configureHttpResponses(UNAUTHORIZED_401_RESPONSE, OK_200_RESPONSE); webDavStore.checkSettings(); List<HttpGeneric> requests = requestCaptor.getAllValues(); assertEquals(2, requests.size()); assertEquals("GET", requests.get(0).getMethod()); assertEquals("GET", requests.get(1).getMethod()); assertEquals("Basic " + Base64.encode("user:password"), requests.get(1).getHeaders("Authorization")[0].getValue()); }
@Test public void putInCache() throws Exception { myCache.putInCache(acl); verify(cache, times(2)).put(element.capture()); assertThat(element.getValue().getKey()).isEqualTo(acl.getId()); assertThat(element.getValue().getObjectValue()).isEqualTo(acl); assertThat(element.getAllValues().get(0).getKey()).isEqualTo( acl.getObjectIdentity()); assertThat(element.getAllValues().get(0).getObjectValue()).isEqualTo(acl); }
@Test public void getPersonalNamespaces_shouldRequestFolderList() throws Exception { configureHttpResponses(UNAUTHORIZED_401_RESPONSE, OK_200_RESPONSE, createOkPropfindResponse(), createOkSearchResponse()); webDavStore.getPersonalNamespaces(); List<HttpGeneric> requests = requestCaptor.getAllValues(); assertEquals(4, requests.size()); // AUTH + SPECIALFOLDERS + 1 assertEquals("SEARCH", requests.get(3).getMethod()); }
private Optional<Cookie> findCookie(String name) { verify(response).addCookie(cookieArgumentCaptor.capture()); return cookieArgumentCaptor.getAllValues().stream() .filter(cookie -> name.equals(cookie.getName())) .findFirst(); }
private Map<String, Object> getDelta(int times) { verify(this.boundHashOperations, times(times)).putAll(this.delta.capture()); return this.delta.getAllValues().get(times - 1); } }
@Test public void getPersonalNamespaces_shouldRequestSpecialFolders() throws Exception { configureHttpResponses(UNAUTHORIZED_401_RESPONSE, OK_200_RESPONSE, createOkPropfindResponse(), createOkSearchResponse()); webDavStore.getPersonalNamespaces(); List<HttpGeneric> requests = requestCaptor.getAllValues(); assertEquals(4, requests.size()); // AUTH + 2 assertEquals("PROPFIND", requests.get(2).getMethod()); //Special Folders }
@Test public void readsOlderStoreVersionCorrectly() throws Exception { prepareNeoStoreFile( StandardV2_3.RECORD_FORMATS.storeVersion() ); execute( databaseDirectory.toString() ); verify( out, times( 3 ) ).accept( outCaptor.capture() ); assertEquals( Arrays.asList( "Store format version: v0.A.6", "Store format introduced in: 2.3.0", "Store format superseded in: 3.0.0" ), outCaptor.getAllValues() ); }
@Test public void successfulAuthentication() { when(db.retrieveUserByName("auser", OriginKeys.UAA)).thenReturn(user); Authentication result = mgr.authenticate(createAuthRequest("auser", "password")); assertNotNull(result); assertEquals("auser", result.getName()); assertEquals("auser", ((UaaPrincipal) result.getPrincipal()).getName()); assertThat(((UaaAuthentication)result).getAuthenticationMethods(), containsInAnyOrder("pwd")); List<ApplicationEvent> events = eventCaptor.getAllValues(); assertThat(events.get(0), instanceOf(IdentityProviderAuthenticationSuccessEvent.class)); assertEquals("auser", ((IdentityProviderAuthenticationSuccessEvent)events.get(0)).getUser().getUsername()); }
@Test public void readWriteIntervalCalculation() throws Exception { this.messageHandler.setHeartbeatValue(new long[] {1, 1}); this.messageHandler.setTaskScheduler(this.taskScheduler); this.messageHandler.start(); ArgumentCaptor<Runnable> taskCaptor = ArgumentCaptor.forClass(Runnable.class); verify(this.taskScheduler).scheduleWithFixedDelay(taskCaptor.capture(), eq(1L)); Runnable heartbeatTask = taskCaptor.getValue(); assertNotNull(heartbeatTask); String id = "sess1"; TestPrincipal user = new TestPrincipal("joe"); Message<String> connectMessage = createConnectMessage(id, user, new long[] {10000, 10000}); this.messageHandler.handleMessage(connectMessage); Thread.sleep(10); heartbeatTask.run(); verify(this.clientOutChannel, times(1)).send(this.messageCaptor.capture()); List<Message<?>> messages = this.messageCaptor.getAllValues(); assertEquals(1, messages.size()); assertEquals(SimpMessageType.CONNECT_ACK, messages.get(0).getHeaders().get(SimpMessageHeaderAccessor.MESSAGE_TYPE_HEADER)); }
@Test public void onCreate() { helper.onCreate(db); ArgumentCaptor<String> captor = ArgumentCaptor.forClass(String.class); verify(db, times(4)).execSQL(captor.capture()); List<String> values = captor.getAllValues(); assertThat(values.size()).isEqualTo(4); assertThat(values.get(3)).isEqualTo("CREATE TABLE IF NOT EXISTS " + TASK_FILE_DIRTY_TABLE_NAME + "( " + ID + " INTEGER PRIMARY KEY)"); }
@Test @SuppressWarnings("unchecked") public void shouldDeleteTopicListWithPattern() { //Given: givenTopicsExistInKafka("K_Fo", "K_Foo", "K_Fooo", "NotMatched"); givenSinkTopicsExistInMetastore("K_Fo", "K_Foo", "K_Fooo", "NotMatched"); final ArgumentCaptor<Collection> argumentCaptor = ArgumentCaptor.forClass(Collection.class); // When: clusterTerminator.terminateCluster(ImmutableList.of("K_Fo.*")); // Then: verify(kafkaTopicClient, times(2)).deleteTopics(argumentCaptor.capture()); final Set<String> expectedArgs = ImmutableSet.of("K_Foo", "K_Fooo", "K_Fo"); assertThat(argumentCaptor.getAllValues().get(0).size(), equalTo(expectedArgs.size())); assertTrue(expectedArgs.containsAll(argumentCaptor.getAllValues().get(0))); }
@Test public void testOnePortAndSearchArchivedIsTrueAndFileOffsetIs1() throws IOException { LogviewerLogSearchHandler handler = getStubbedSearchHandler(); handler.deepSearchLogsForTopology("", null, "search", "20", "6700", "1", "0", true, null, null); ArgumentCaptor<List> files = ArgumentCaptor.forClass(List.class); ArgumentCaptor<Integer> numMatches = ArgumentCaptor.forClass(Integer.class); ArgumentCaptor<Integer> fileOffset = ArgumentCaptor.forClass(Integer.class); ArgumentCaptor<Integer> offset = ArgumentCaptor.forClass(Integer.class); ArgumentCaptor<String> search = ArgumentCaptor.forClass(String.class); verify(handler, times(1)).findNMatches(files.capture(), numMatches.capture(), fileOffset.capture(), offset.capture(), search.capture()); verify(handler, times(2)).logsForPort(isNull(), any(File.class)); assertEquals(logFiles, files.getAllValues().get(0)); assertEquals(Integer.valueOf(20), numMatches.getAllValues().get(0)); assertEquals(Integer.valueOf(1), fileOffset.getAllValues().get(0)); assertEquals(Integer.valueOf(0), offset.getAllValues().get(0)); assertEquals("search", search.getAllValues().get(0)); }
@Test public void testOnePortAndSearchArchivedIsTrueAndNotFileOffset() throws IOException { LogviewerLogSearchHandler handler = getStubbedSearchHandler(); handler.deepSearchLogsForTopology("", null, "search", "20", "6700", "0", "0", true, null, null); ArgumentCaptor<List> files = ArgumentCaptor.forClass(List.class); ArgumentCaptor<Integer> numMatches = ArgumentCaptor.forClass(Integer.class); ArgumentCaptor<Integer> fileOffset = ArgumentCaptor.forClass(Integer.class); ArgumentCaptor<Integer> offset = ArgumentCaptor.forClass(Integer.class); ArgumentCaptor<String> search = ArgumentCaptor.forClass(String.class); verify(handler, times(1)).findNMatches(files.capture(), numMatches.capture(), fileOffset.capture(), offset.capture(), search.capture()); verify(handler, times(2)).logsForPort(isNull(), any(File.class)); assertEquals(logFiles, files.getAllValues().get(0)); assertEquals(Integer.valueOf(20), numMatches.getAllValues().get(0)); assertEquals(Integer.valueOf(0), fileOffset.getAllValues().get(0)); assertEquals(Integer.valueOf(0), offset.getAllValues().get(0)); assertEquals("search", search.getAllValues().get(0)); }
@Test public void testOnePortAndSearchArchivedIsFalseAndFileOffsetIs1() throws IOException { LogviewerLogSearchHandler handler = getStubbedSearchHandler(); handler.deepSearchLogsForTopology("", null, "search", "20", "6700", "1", "0", false, null, null); ArgumentCaptor<List> files = ArgumentCaptor.forClass(List.class); ArgumentCaptor<Integer> numMatches = ArgumentCaptor.forClass(Integer.class); ArgumentCaptor<Integer> fileOffset = ArgumentCaptor.forClass(Integer.class); ArgumentCaptor<Integer> offset = ArgumentCaptor.forClass(Integer.class); ArgumentCaptor<String> search = ArgumentCaptor.forClass(String.class); verify(handler, times(1)).findNMatches(files.capture(), numMatches.capture(), fileOffset.capture(), offset.capture(), search.capture()); verify(handler, times(2)).logsForPort(isNull(), any(File.class)); // File offset should be zero, since search-archived is false. assertEquals(Collections.singletonList(logFiles.get(0)), files.getAllValues().get(0)); assertEquals(Integer.valueOf(20), numMatches.getAllValues().get(0)); assertEquals(Integer.valueOf(0), fileOffset.getAllValues().get(0)); assertEquals(Integer.valueOf(0), offset.getAllValues().get(0)); assertEquals("search", search.getAllValues().get(0)); }
@Test public void shouldAddHttpSocketConnector() throws Exception { ArgumentCaptor<Connector> captor = ArgumentCaptor.forClass(Connector.class); jetty9Server.configure(); verify(server, times(2)).addConnector(captor.capture()); List<Connector> connectors = captor.getAllValues(); Connector plainConnector = connectors.get(0); assertThat(plainConnector instanceof ServerConnector, is(true)); ServerConnector connector = (ServerConnector) plainConnector; assertThat(connector.getServer(), is(server)); assertThat(connector.getConnectionFactories().size(), is(1)); ConnectionFactory connectionFactory = connector.getConnectionFactories().iterator().next(); assertThat(connectionFactory instanceof HttpConnectionFactory, is(true)); }
@Test public void readsLatestStoreVersionCorrectly() throws Exception { RecordFormats currentFormat = RecordFormatSelector.defaultFormat(); prepareNeoStoreFile( currentFormat.storeVersion() ); execute( databaseDirectory.toString() ); verify( out, times( 2 ) ).accept( outCaptor.capture() ); assertEquals( Arrays.asList( String.format( "Store format version: %s", currentFormat.storeVersion() ), String.format( "Store format introduced in: %s", currentFormat.introductionVersion() ) ), outCaptor.getAllValues() ); }
@Test public void testEmit() throws Exception { Window<?, ?> window = TumblingWindows.of(BaseWindowedBolt.Count.of(2)); setUpWindowedProcessorBolt(new AggregateProcessor<>(new Count<>()), window); bolt.execute(getMockTupleWindow(mockTuple1, mockTuple2, mockTuple3)); ArgumentCaptor<Values> values = ArgumentCaptor.forClass(Values.class); ArgumentCaptor<String> os = ArgumentCaptor.forClass(String.class); Mockito.verify(mockOutputCollector, Mockito.times(2)).emit(os.capture(), values.capture()); assertEquals("outputstream", os.getAllValues().get(0)); assertEquals(new Values(3L), values.getAllValues().get(0)); assertEquals("outputstream__punctuation", os.getAllValues().get(1)); assertEquals(new Values(WindowNode.PUNCTUATION), values.getAllValues().get(1)); }