use of com.google.logging.v2.ListLogEntriesRequest in project google-cloud-java by GoogleCloudPlatform.
the class LoggingImplTest method testListLogEntriesAsyncNextPage.
@Test
public void testListLogEntriesAsyncNextPage() {
String cursor1 = "cursor";
EasyMock.replay(rpcFactoryMock);
logging = options.getService();
ListLogEntriesRequest request1 = ListLogEntriesRequest.newBuilder().addProjectIds(PROJECT).build();
ListLogEntriesRequest request2 = ListLogEntriesRequest.newBuilder().addProjectIds(PROJECT).setPageToken(cursor1).build();
List<LogEntry> descriptorList1 = ImmutableList.of(LOG_ENTRY1, LOG_ENTRY2);
List<LogEntry> descriptorList2 = ImmutableList.of(LOG_ENTRY1);
ListLogEntriesResponse response1 = ListLogEntriesResponse.newBuilder().setNextPageToken(cursor1).addAllEntries(Lists.transform(descriptorList1, LogEntry.toPbFunction(PROJECT))).build();
String cursor2 = "nextCursor";
ListLogEntriesResponse response2 = ListLogEntriesResponse.newBuilder().setNextPageToken(cursor2).addAllEntries(Lists.transform(descriptorList2, LogEntry.toPbFunction(PROJECT))).build();
ApiFuture<ListLogEntriesResponse> futureResponse1 = ApiFutures.immediateFuture(response1);
ApiFuture<ListLogEntriesResponse> futureResponse2 = ApiFutures.immediateFuture(response2);
EasyMock.expect(loggingRpcMock.list(request1)).andReturn(futureResponse1);
EasyMock.expect(loggingRpcMock.list(request2)).andReturn(futureResponse2);
EasyMock.replay(loggingRpcMock);
Page<LogEntry> page = logging.listLogEntries();
assertEquals(cursor1, page.getNextPageToken());
assertArrayEquals(descriptorList1.toArray(), Iterables.toArray(page.getValues(), LogEntry.class));
page = page.getNextPage();
assertEquals(cursor2, page.getNextPageToken());
assertArrayEquals(descriptorList2.toArray(), Iterables.toArray(page.getValues(), LogEntry.class));
}
use of com.google.logging.v2.ListLogEntriesRequest in project google-cloud-java by GoogleCloudPlatform.
the class LocalLoggingImpl method listLogEntries.
@Override
public void listLogEntries(ListLogEntriesRequest request, StreamObserver<ListLogEntriesResponse> responseObserver) {
List<LogEntry> entries = new ArrayList<>();
for (ByteString proj : request.getProjectIdsList().asByteStringList()) {
String prefix = "projects/" + proj.toStringUtf8() + "/";
for (Map.Entry<String, List<LogEntry>> entry : logs.entrySet()) {
if (entry.getKey().startsWith(prefix)) {
entries.addAll(entry.getValue());
}
}
}
responseObserver.onNext(ListLogEntriesResponse.newBuilder().addAllEntries(entries).build());
responseObserver.onCompleted();
}
use of com.google.logging.v2.ListLogEntriesRequest in project google-cloud-java by GoogleCloudPlatform.
the class LoggingImplTest method testListLogEntriesAyncEmpty.
@Test
public void testListLogEntriesAyncEmpty() throws ExecutionException, InterruptedException {
String cursor = "cursor";
EasyMock.replay(rpcFactoryMock);
logging = options.getService();
ListLogEntriesRequest request = ListLogEntriesRequest.newBuilder().addProjectIds(PROJECT).build();
List<LogEntry> entriesList = ImmutableList.of();
ListLogEntriesResponse response = ListLogEntriesResponse.newBuilder().setNextPageToken(cursor).addAllEntries(Lists.transform(entriesList, LogEntry.toPbFunction(PROJECT))).build();
ApiFuture<ListLogEntriesResponse> futureResponse = ApiFutures.immediateFuture(response);
EasyMock.expect(loggingRpcMock.list(request)).andReturn(futureResponse);
EasyMock.replay(loggingRpcMock);
AsyncPage<LogEntry> page = logging.listLogEntriesAsync().get();
assertEquals(cursor, page.getNextPageToken());
assertArrayEquals(entriesList.toArray(), Iterables.toArray(page.getValues(), LogEntry.class));
}
use of com.google.logging.v2.ListLogEntriesRequest in project google-cloud-java by GoogleCloudPlatform.
the class LoggingImplTest method testListLogEntriesWithOptions.
@Test
public void testListLogEntriesWithOptions() {
String cursor = "cursor";
EasyMock.replay(rpcFactoryMock);
logging = options.getService();
ListLogEntriesRequest request = ListLogEntriesRequest.newBuilder().addProjectIds(PROJECT).setOrderBy("timestamp desc").setFilter("logName:syslog").build();
List<LogEntry> entriesList = ImmutableList.of(LOG_ENTRY1, LOG_ENTRY2);
ListLogEntriesResponse response = ListLogEntriesResponse.newBuilder().setNextPageToken(cursor).addAllEntries(Lists.transform(entriesList, LogEntry.toPbFunction(PROJECT))).build();
ApiFuture<ListLogEntriesResponse> futureResponse = ApiFutures.immediateFuture(response);
EasyMock.expect(loggingRpcMock.list(request)).andReturn(futureResponse);
EasyMock.replay(loggingRpcMock);
Page<LogEntry> page = logging.listLogEntries(EntryListOption.filter("logName:syslog"), EntryListOption.sortOrder(SortingField.TIMESTAMP, Logging.SortingOrder.DESCENDING));
assertEquals(cursor, page.getNextPageToken());
assertArrayEquals(entriesList.toArray(), Iterables.toArray(page.getValues(), LogEntry.class));
}
use of com.google.logging.v2.ListLogEntriesRequest in project google-cloud-java by GoogleCloudPlatform.
the class LoggingImplTest method testListLogEntriesAsyncWithOptions.
@Test
public void testListLogEntriesAsyncWithOptions() throws ExecutionException, InterruptedException {
String cursor = "cursor";
EasyMock.replay(rpcFactoryMock);
logging = options.getService();
ListLogEntriesRequest request = ListLogEntriesRequest.newBuilder().addProjectIds(PROJECT).setOrderBy("timestamp desc").setFilter("logName:syslog").build();
List<LogEntry> entriesList = ImmutableList.of(LOG_ENTRY1, LOG_ENTRY2);
ListLogEntriesResponse response = ListLogEntriesResponse.newBuilder().setNextPageToken(cursor).addAllEntries(Lists.transform(entriesList, LogEntry.toPbFunction(PROJECT))).build();
ApiFuture<ListLogEntriesResponse> futureResponse = ApiFutures.immediateFuture(response);
EasyMock.expect(loggingRpcMock.list(request)).andReturn(futureResponse);
EasyMock.replay(loggingRpcMock);
AsyncPage<LogEntry> page = logging.listLogEntriesAsync(EntryListOption.filter("logName:syslog"), EntryListOption.sortOrder(SortingField.TIMESTAMP, Logging.SortingOrder.DESCENDING)).get();
assertEquals(cursor, page.getNextPageToken());
assertArrayEquals(entriesList.toArray(), Iterables.toArray(page.getValues(), LogEntry.class));
}
Aggregations