public void DocumentMask() { var mask = new DocumentMask { fieldPaths = new string[] { "a", "b", "c" } }; var fields = JsonMapper.ToJson(mask); Assert.That(fields, Is.EqualTo(@"{""fieldPaths"":[""a"",""b"",""c""]}")); }
/// <summary>Snippet for UpdateDocument</summary> public void UpdateDocument() { // Snippet: UpdateDocument(Document,DocumentMask,CallSettings) // Create client FirestoreClient firestoreClient = FirestoreClient.Create(); // Initialize request argument(s) Document document = new Document(); DocumentMask updateMask = new DocumentMask(); // Make the request Document response = firestoreClient.UpdateDocument(document, updateMask); // End snippet }
/// <summary>Snippet for UpdateDocumentAsync</summary> public async Task UpdateDocumentAsync() { // Snippet: UpdateDocumentAsync(Document,DocumentMask,CallSettings) // Additional: UpdateDocumentAsync(Document,DocumentMask,CancellationToken) // Create client FirestoreClient firestoreClient = await FirestoreClient.CreateAsync(); // Initialize request argument(s) Document document = new Document(); DocumentMask updateMask = new DocumentMask(); // Make the request Document response = await firestoreClient.UpdateDocumentAsync(document, updateMask); // End snippet }
public async Task UpdateDocumentAsync() { Mock <Firestore.FirestoreClient> mockGrpcClient = new Mock <Firestore.FirestoreClient>(MockBehavior.Strict); UpdateDocumentRequest expectedRequest = new UpdateDocumentRequest { Document = new Document(), UpdateMask = new DocumentMask(), }; Document expectedResponse = new Document { Name = "name3373707", }; mockGrpcClient.Setup(x => x.UpdateDocumentAsync(expectedRequest, It.IsAny <CallOptions>())) .Returns(new Grpc.Core.AsyncUnaryCall <Document>(Task.FromResult(expectedResponse), null, null, null, null)); FirestoreClient client = new FirestoreClientImpl(mockGrpcClient.Object, null); Document document = new Document(); DocumentMask updateMask = new DocumentMask(); Document response = await client.UpdateDocumentAsync(document, updateMask); Assert.Same(expectedResponse, response); mockGrpcClient.VerifyAll(); }
public void UpdateDocument() { Mock <Firestore.FirestoreClient> mockGrpcClient = new Mock <Firestore.FirestoreClient>(MockBehavior.Strict); UpdateDocumentRequest expectedRequest = new UpdateDocumentRequest { Document = new Document(), UpdateMask = new DocumentMask(), }; Document expectedResponse = new Document { Name = "name3373707", }; mockGrpcClient.Setup(x => x.UpdateDocument(expectedRequest, It.IsAny <CallOptions>())) .Returns(expectedResponse); FirestoreClient client = new FirestoreClientImpl(mockGrpcClient.Object, null); Document document = new Document(); DocumentMask updateMask = new DocumentMask(); Document response = client.UpdateDocument(document, updateMask); Assert.Same(expectedResponse, response); mockGrpcClient.VerifyAll(); }
public async Task FSWrite() { try { FirestoreTestUtils.ColoredConsoleWrite(ConsoleColor.Green, "\n:: Streaming Writes to a Document ::\n"); FirestoreTestUtils.ColoredConsoleWrite(ConsoleColor.White, "\nEnter Document Id: "); String docId = Console.ReadLine(); FirestoreTestUtils.ColoredConsoleWrite(ConsoleColor.Green, "\nStreaming writes to "); FirestoreTestUtils.ColoredConsoleWrite(ConsoleColor.White, docId); FirestoreTestUtils.ColoredConsoleWrite(ConsoleColor.Green, "...\n"); Document updatedDoc = GetDocument(docId); MapField <string, Value> fields; if (updatedDoc == null) { updatedDoc = new Document(); updatedDoc.Name = Parent + "/documents/GrpcTestData/" + docId; fields = new MapField <string, Value>(); } else { FirestoreTestUtils.ColoredConsoleWrite(ConsoleColor.White, "\nAvailable fields in this document to update:\n"); Utils.ProcessFields(updatedDoc); fields = updatedDoc.Fields; } String streamId = ""; Google.Protobuf.ByteString streamToken = null; using (var writeCall = FsClient.Write()) { var writeRequest = new WriteRequest(); writeRequest.Database = Parent; await writeCall.RequestStream.WriteAsync(writeRequest); await writeCall.ResponseStream.MoveNext(); var responseStr = writeCall.ResponseStream.Current; streamId = responseStr.StreamId; streamToken = responseStr.StreamToken; var responseReaderTask = Task.Run(async() => { while (await writeCall.ResponseStream.MoveNext()) { var response = writeCall.ResponseStream.Current; var writeResults = response.WriteResults; foreach (var writeResult in writeResults) { FirestoreTestUtils.ColoredConsoleWrite(ConsoleColor.White, "\nWrite result:" + writeResult.ToString()); } } }); var currentWrite = new Write(); var docMask = new DocumentMask(); // update/create fields while (true) { FirestoreTestUtils.ColoredConsoleWrite(ConsoleColor.White, "\nEnter Field Name (blank when finished): "); string fieldName = Console.ReadLine(); if (fieldName == "") { break; } else { FirestoreTestUtils.ColoredConsoleWrite(ConsoleColor.White, "\nEnter Field Value: "); var fieldInValue = Console.ReadLine(); Utils.AddField(fields, fieldName, fieldInValue); docMask.FieldPaths.Add(fieldName); } } writeRequest.Database = Parent; currentWrite.Update = updatedDoc; currentWrite.UpdateMask = docMask; writeRequest.StreamId = streamId; writeRequest.StreamToken = streamToken; writeRequest.Writes.Add(currentWrite); await writeCall.RequestStream.WriteAsync(writeRequest); await writeCall.RequestStream.CompleteAsync(); await responseReaderTask; } } catch (Grpc.Core.RpcException e) { Console.WriteLine("RPC failed", e); throw; } FirestoreTestUtils.ColoredConsoleWrite(ConsoleColor.Green, "\nSuccessfully streamed updates to the document!\n"); }