@Override public void nack() { response.set(AckReply.NACK); } };
@Override public void onSuccess(PublishResponse result) { try { if (result.getMessageIdsCount() != outstandingBatch.size()) { Throwable t = new IllegalStateException( String.format( "The publish result count %s does not match " + "the expected %s results. Please contact Cloud Pub/Sub support " + "if this frequently occurs", result.getMessageIdsCount(), outstandingBatch.size())); for (OutstandingPublish oustandingMessage : outstandingBatch.outstandingPublishes) { oustandingMessage.publishResult.setException(t); } return; } Iterator<OutstandingPublish> messagesResultsIt = outstandingBatch.outstandingPublishes.iterator(); for (String messageId : result.getMessageIdsList()) { messagesResultsIt.next().publishResult.set(messageId); } } finally { messagesWaiter.incrementPendingMessages(-outstandingBatch.size()); } }
@Override public void ack() { response.set(AckReply.ACK); }
@Override public void onEvent( @Nullable QuerySnapshot actualSnapshot, @Nullable FirestoreException error) { try { if (actualSnapshot != null) { Assert.assertNull(error); Assert.assertFalse(expectedSnapshots.isEmpty()); Snapshot expectedSnapshot = expectedSnapshots.remove(0); Assert.assertEquals(convertQuerySnapshot(expectedSnapshot), actualSnapshot); if (expectedSnapshots.isEmpty()) { if (!testCase.getIsError()) { testCaseFinished.set(null); } } } else { // Error case Assert.assertNotNull(error); Assert.assertTrue(expectedSnapshots.isEmpty()); Assert.assertTrue(testCase.getIsError()); testCaseFinished.set(null); } } catch (AssertionError e) { testCaseFinished.setException(e); } } });
@Override public void onComplete() { logger.fine("Streaming pull terminated successfully!"); errorFuture.set(null); } }
@Override public void onComplete() { completionFuture.set(null); } }
@Override public ApiStreamObserver<ListenRequest> answer(InvocationOnMock invocationOnMock) { testCaseStarted.set(null); return noOpRequestObserver; } })
@Override protected void onCompleteImpl() { done.set(null); }
@Override public void cancel() { cancelFuture.set(true); }
@Override public void onCompleted() { tracer.getCurrentSpan().addAnnotation("Firestore.BatchGet: Complete"); List<DocumentSnapshot> documentSnapshots = new ArrayList<>(); for (DocumentReference documentReference : documentReferences) { documentSnapshots.add(resultMap.get(documentReference)); } futureList.set(documentSnapshots); } };
@Override public void onCompleted() { QuerySnapshot querySnapshot = QuerySnapshot.withDocuments(Query.this, this.getReadTime(), documentSnapshots); result.set(querySnapshot); } },
mockRpcResponse.set(null); flushWaiter.join(1000); assertFalse(flushWaiter.isAlive());
@Test public void testFlushStress() throws InterruptedException { SettableApiFuture<WriteLogEntriesResponse> mockRpcResponse = SettableApiFuture.create(); mockRpcResponse.set(null); replay(rpcFactoryMock); logging = options.getService();
@Test public void testLimitAdded() { ReadRowsFirstCallable<Row> callable = new ReadRowsFirstCallable<>(innerCallable); innerResult.set(null); callable.call(Query.create("fake-table")); Truth.assertThat(innerQuery.getValue().toProto(REQUEST_CONTEXT)) .isEqualTo(Query.create("fake-table").limit(1).toProto(REQUEST_CONTEXT)); }
@Test public void responseCorrectlyTransformed() throws Exception { ApiFuture<List<KeyOffset>> result = callable.futureCall("my-table"); inner.response.set( ImmutableList.of( SampleRowKeysResponse.newBuilder() .setRowKey(ByteString.copyFromUtf8("key1")) .setOffsetBytes(100) .build(), SampleRowKeysResponse.newBuilder() .setRowKey(ByteString.copyFromUtf8("")) .setOffsetBytes(1000) .build())); assertThat(result.get(1, TimeUnit.SECONDS)) .isEqualTo( ImmutableList.of( KeyOffset.create(ByteString.copyFromUtf8("key1"), 100), KeyOffset.create(ByteString.EMPTY, 1000))); }
@Test public void bulkMutationsBatchingCloseTest() throws Exception { BulkMutationBatcher batcher = bigtableDataClient.newBulkMutationBatcher(); RowMutation request = RowMutation.create("fake-table", "some-key") .setCell("some-family", "fake-qualifier", "fake-value"); SettableApiFuture<Void> innerResult = SettableApiFuture.create(); Mockito.when(mockBulkMutateRowsBatchingCallable.futureCall(request)).thenReturn(innerResult); batcher.add(request); // Close will timeout while the request is outstanding. Throwable error = null; try { batcher.close(Duration.ofMillis(20)); } catch (Throwable t) { error = t; } assertThat(error).isInstanceOf(TimeoutException.class); // Resolve the request innerResult.set(null); // Now, close will promptly finish batcher.close(Duration.ofMillis(20)); }
@Test public void responseCorrectlyTransformed() throws Exception { ApiFuture<Boolean> result = callable.futureCall( ConditionalRowMutation.create("my-table", "row-key") .then(Mutation.create().deleteRow())); inner.response.set(CheckAndMutateRowResponse.newBuilder().setPredicateMatched(true).build()); assertThat(result.get(1, TimeUnit.SECONDS)).isEqualTo(true); }
@Override public void onEvent(@Nullable QuerySnapshot snapshots, @Nullable FirestoreException e) { if (e != null) { System.err.println("Listen failed:" + e); return; } List<String> cities = new ArrayList<>(); for (DocumentSnapshot doc : snapshots) { if (doc.get("name") != null) { cities.add(doc.getString("name")); } } System.out.println("Current cites in CA: " + cities); // [START_EXCLUDE silent] if (!future.isDone()) { future.set(cities); } // [END_EXCLUDE] } });
@Override public void onEvent(@Nullable DocumentSnapshot snapshot, @Nullable FirestoreException e) { if (e != null) { System.err.println("Listen failed: " + e); return; } if (snapshot != null && snapshot.exists()) { System.out.println("Current data: " + snapshot.getData()); } else { System.out.print("Current data: null"); } // [START_EXCLUDE silent] if (!future.isDone()) { future.set(snapshot.getData()); } // [END_EXCLUDE] } });
@Override public void onEvent(@Nullable QuerySnapshot snapshots, @Nullable FirestoreException e) { if (e != null) { System.err.println("Listen failed: " + e); return; } for (DocumentChange dc : snapshots.getDocumentChanges()) { switch (dc.getType()) { case ADDED: System.out.println("New city: " + dc.getDocument().getData()); break; case MODIFIED: System.out.println("Modified city: " + dc.getDocument().getData()); break; case REMOVED: System.out.println("Removed city: " + dc.getDocument().getData()); break; default: break; } } // [START_EXCLUDE silent] if (!future.isDone()) { future.set(snapshots.getDocumentChanges()); } // [END_EXCLUDE] } });