public async Task CheckAndMutateRowAsync()
        {
            Mock <Bigtable.BigtableClient> mockGrpcClient  = new Mock <Bigtable.BigtableClient>(MockBehavior.Strict);
            CheckAndMutateRowRequest       expectedRequest = new CheckAndMutateRowRequest
            {
                TableNameAsTableName = new TableName("[PROJECT]", "[INSTANCE]", "[TABLE]"),
                RowKey          = ByteString.CopyFromUtf8("122"),
                PredicateFilter = new RowFilter(),
                TrueMutations   = { },
                FalseMutations  = { },
            };
            CheckAndMutateRowResponse expectedResponse = new CheckAndMutateRowResponse
            {
                PredicateMatched = true,
            };

            mockGrpcClient.Setup(x => x.CheckAndMutateRowAsync(expectedRequest, It.IsAny <CallOptions>()))
            .Returns(new Grpc.Core.AsyncUnaryCall <CheckAndMutateRowResponse>(Task.FromResult(expectedResponse), null, null, null, null));
            BigtableServiceApiClient client           = new BigtableServiceApiClientImpl(mockGrpcClient.Object, null);
            TableName                 tableName       = new TableName("[PROJECT]", "[INSTANCE]", "[TABLE]");
            ByteString                rowKey          = ByteString.CopyFromUtf8("122");
            RowFilter                 predicateFilter = new RowFilter();
            IEnumerable <Mutation>    trueMutations   = new List <Mutation>();
            IEnumerable <Mutation>    falseMutations  = new List <Mutation>();
            CheckAndMutateRowResponse response        = await client.CheckAndMutateRowAsync(tableName, rowKey, predicateFilter, trueMutations, falseMutations);

            Assert.Same(expectedResponse, response);
            mockGrpcClient.VerifyAll();
        }
        public async Task CheckAndMutateRow_AppProfileId_From_Client()
        {
            var appProfileIdOnClient = "csharp";
            var request = new CheckAndMutateRowRequest
            {
                TableNameAsTableName = new TableName("project", "instance", "table"),
                RowKey         = ByteString.CopyFromUtf8("abc"),
                FalseMutations = { new Mutation() },
                TrueMutations  = { new Mutation() }
            };
            var request2 = new CheckAndMutateRowRequest(request);
            Mock <BigtableServiceApiClient> mockGrpcClient =
                new Mock <BigtableServiceApiClient>(MockBehavior.Strict);

            mockGrpcClient
            .Setup(x => x.CheckAndMutateRow(request, It.IsAny <CallSettings>()))
            .Returns(new CheckAndMutateRowResponse());
            mockGrpcClient
            .Setup(x => x.CheckAndMutateRowAsync(request, It.IsAny <CallSettings>()))
            .ReturnsAsync(new CheckAndMutateRowResponse());
            BigtableClient client = new BigtableClientImpl(mockGrpcClient.Object, appProfileIdOnClient);

            client.CheckAndMutateRow(request);
            await client.CheckAndMutateRowAsync(request2);

            Assert.Equal(appProfileIdOnClient, request.AppProfileId);
            Assert.Equal(appProfileIdOnClient, request2.AppProfileId);
        }
        public async stt::Task CheckAndMutateRow2ResourceNamesAsync()
        {
            moq::Mock <Bigtable.BigtableClient> mockGrpcClient = new moq::Mock <Bigtable.BigtableClient>(moq::MockBehavior.Strict);
            CheckAndMutateRowRequest            request        = new CheckAndMutateRowRequest
            {
                TableNameAsTableName = TableName.FromProjectInstanceTable("[PROJECT]", "[INSTANCE]", "[TABLE]"),
                RowKey          = proto::ByteString.CopyFromUtf8("row_key7adfb7cb"),
                TrueMutations   = { new Mutation(), },
                FalseMutations  = { new Mutation(), },
                PredicateFilter = new RowFilter(),
                AppProfileId    = "app_profile_id57fb0442",
            };
            CheckAndMutateRowResponse expectedResponse = new CheckAndMutateRowResponse
            {
                PredicateMatched = true,
            };

            mockGrpcClient.Setup(x => x.CheckAndMutateRowAsync(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(new grpccore::AsyncUnaryCall <CheckAndMutateRowResponse>(stt::Task.FromResult(expectedResponse), null, null, null, null));
            BigtableClient            client = new BigtableClientImpl(mockGrpcClient.Object, null);
            CheckAndMutateRowResponse responseCallSettings = await client.CheckAndMutateRowAsync(request.TableNameAsTableName, request.RowKey, request.PredicateFilter, request.TrueMutations, request.FalseMutations, request.AppProfileId, gaxgrpc::CallSettings.FromCancellationToken(st::CancellationToken.None));

            xunit::Assert.Same(expectedResponse, responseCallSettings);
            CheckAndMutateRowResponse responseCancellationToken = await client.CheckAndMutateRowAsync(request.TableNameAsTableName, request.RowKey, request.PredicateFilter, request.TrueMutations, request.FalseMutations, request.AppProfileId, st::CancellationToken.None);

            xunit::Assert.Same(expectedResponse, responseCancellationToken);
            mockGrpcClient.VerifyAll();
        }
Пример #4
0
        public async Task CheckAndMutateRow_With_AppProfileId()
        {
            var appProfileIdOnClient    = "csharp";
            var appProfileIdOnRequest   = "other";
            var requestWithAppProfileId = new CheckAndMutateRowRequest
            {
                TableNameAsTableName = new TableName("project", "instance", "table"),
                RowKey         = ByteString.CopyFromUtf8("abc"),
                FalseMutations = { new Mutation() },
                TrueMutations  = { new Mutation() },
                AppProfileId   = appProfileIdOnRequest
            };
            var client = BigtableClient.Create(NotImplementedCallInvoker.Instance,
                                               new BigtableServiceApiSettings {
                AppProfileId = appProfileIdOnClient
            });

            Assert.Throws <NotImplementedException>(() => client.CheckAndMutateRow(requestWithAppProfileId));
            Assert.NotEqual(appProfileIdOnClient, requestWithAppProfileId.AppProfileId);
            Assert.Equal(appProfileIdOnRequest, requestWithAppProfileId.AppProfileId);
            await Assert.ThrowsAsync <NotImplementedException>(() => client.CheckAndMutateRowAsync(requestWithAppProfileId));

            Assert.NotEqual(appProfileIdOnClient, requestWithAppProfileId.AppProfileId);
            Assert.Equal(appProfileIdOnRequest, requestWithAppProfileId.AppProfileId);
        }
        private CheckAndMutateRowRequest ToMutateRowIfNotExistsRequest(IPersistentRepresentation persistent, ActorSystem system)
        {
            var request = new CheckAndMutateRowRequest();

            request.TableNameAsTableName = _tableName;
            var payload = PersistentToBytes(persistent, system);

            request.PredicateFilter = RowFilters.PassAllFilter();
            request.RowKey          = ByteString.CopyFromUtf8(ToRowKeyString(persistent.PersistenceId, persistent.SequenceNr));
            request.FalseMutations.Add(Mutations.SetCell(_family, PayloadColumnQualifier, payload, new BigtableVersion(-1)));
            return(request);
        }
 /// <summary>Snippet for CheckAndMutateRow</summary>
 public void CheckAndMutateRow_RequestObject()
 {
     // Snippet: CheckAndMutateRow(CheckAndMutateRowRequest,CallSettings)
     // Create client
     BigtableServiceApiClient bigtableServiceApiClient = BigtableServiceApiClient.Create();
     // Initialize request argument(s)
     CheckAndMutateRowRequest request = new CheckAndMutateRowRequest
     {
         TableNameAsTableName = new TableName("[PROJECT]", "[INSTANCE]", "[TABLE]"),
         RowKey = ByteString.Empty,
     };
     // Make the request
     CheckAndMutateRowResponse response = bigtableServiceApiClient.CheckAndMutateRow(request);
     // End snippet
 }
Пример #7
0
 /// <summary>Snippet for CheckAndMutateRowAsync</summary>
 public async Task CheckAndMutateRowAsync_RequestObject()
 {
     // Snippet: CheckAndMutateRowAsync(CheckAndMutateRowRequest,CallSettings)
     // Additional: CheckAndMutateRowAsync(CheckAndMutateRowRequest,CancellationToken)
     // Create client
     BigtableServiceApiClient bigtableServiceApiClient = await BigtableServiceApiClient.CreateAsync();
     // Initialize request argument(s)
     CheckAndMutateRowRequest request = new CheckAndMutateRowRequest
     {
         TableNameAsTableName = new TableName("[PROJECT]", "[INSTANCE]", "[TABLE]"),
         RowKey = ByteString.Empty,
     };
     // Make the request
     CheckAndMutateRowResponse response = await bigtableServiceApiClient.CheckAndMutateRowAsync(request);
     // End snippet
 }
 /// <summary>Snippet for CheckAndMutateRow</summary>
 /// <remarks>
 /// This snippet has been automatically generated for illustrative purposes only.
 /// It may require modifications to work in your environment.
 /// </remarks>
 public void CheckAndMutateRowRequestObject()
 {
     // Create client
     BigtableClient bigtableClient = BigtableClient.Create();
     // Initialize request argument(s)
     CheckAndMutateRowRequest request = new CheckAndMutateRowRequest
     {
         TableNameAsTableName = TableName.FromProjectInstanceTable("[PROJECT]", "[INSTANCE]", "[TABLE]"),
         RowKey          = ByteString.Empty,
         TrueMutations   = { new Mutation(), },
         FalseMutations  = { new Mutation(), },
         PredicateFilter = new RowFilter(),
         AppProfileId    = "",
     };
     // Make the request
     CheckAndMutateRowResponse response = bigtableClient.CheckAndMutateRow(request);
 }
Пример #9
0
        public async Task CheckAndMutateRowAsync_RequestObject()
        {
            // Snippet: CheckAndMutateRowAsync(CheckAndMutateRowRequest,CallSettings)
            // Create client
            BigtableClient bigtableClient = await BigtableClient.CreateAsync();

            // Initialize request argument(s)
            CheckAndMutateRowRequest request = new CheckAndMutateRowRequest
            {
                TableName = new TableName("[PROJECT]", "[INSTANCE]", "[TABLE]").ToString(),
                RowKey    = ByteString.CopyFromUtf8(""),
            };
            // Make the request
            CheckAndMutateRowResponse response = await bigtableClient.CheckAndMutateRowAsync(request);

            // End snippet
        }
Пример #10
0
        public void CheckAndMutateRow_AppProfileId()
        {
            var request = new CheckAndMutateRowRequest();

            Assert.Empty(request.AppProfileId);

            request.AppProfileId = "abc";
            Assert.Equal("abc", request.AppProfileId);

            request = new CheckAndMutateRowRequest {
                AppProfileId = "xyz"
            };
            Assert.Equal("xyz", request.AppProfileId);

            request.AppProfileId = string.Empty;
            Assert.Empty(request.AppProfileId);
        }
Пример #11
0
        public async Task <bool> WriteWhenAsync(string tableName, byte[] key, RowFilter filter, IEnumerable <Mutation> whenFilterIsTrue, IEnumerable <Mutation> whenFilterIsFalse, CancellationToken cancellationToken = default(CancellationToken))
        {
            cancellationToken = cancellationToken == default(CancellationToken) ? CancellationToken.None : cancellationToken;

            var request = new CheckAndMutateRowRequest
            {
                RowKey          = key.ToByteString(),
                TableName       = tableName.ToTableId(ClusterId),
                PredicateFilter = filter,
                TrueMutations   = { whenFilterIsTrue },
                FalseMutations  = { whenFilterIsFalse }
            };
            var response = await _client.CheckAndMutateRowAsync(request, cancellationToken : cancellationToken);

            await Task.Yield();

            return(response.PredicateMatched);
        }
        public async Task CheckAndMutateRow_AppProfileId_From_Client()
        {
            var appProfileIdOnClient = "csharp";
            var request = new CheckAndMutateRowRequest
            {
                TableNameAsTableName = new TableName("project", "instance", "table"),
                RowKey         = ByteString.CopyFromUtf8("abc"),
                FalseMutations = { new Mutation() },
                TrueMutations  = { new Mutation() }
            };
            var request2 = new CheckAndMutateRowRequest(request);
            var client   = CreateClient(NotImplementedCallInvoker.Instance, appProfileIdOnClient);

            Assert.Throws <NotImplementedException>(() => client.CheckAndMutateRow(request));
            await Assert.ThrowsAsync <NotImplementedException>(() => client.CheckAndMutateRowAsync(request2));

            Assert.Equal(appProfileIdOnClient, request.AppProfileId);
            Assert.Equal(appProfileIdOnClient, request2.AppProfileId);
        }
 /// <summary>Snippet for CheckAndMutateRow</summary>
 public void CheckAndMutateRow_RequestObject()
 {
     // Snippet: CheckAndMutateRow(CheckAndMutateRowRequest, CallSettings)
     // Create client
     BigtableServiceApiClient bigtableServiceApiClient = BigtableServiceApiClient.Create();
     // Initialize request argument(s)
     CheckAndMutateRowRequest request = new CheckAndMutateRowRequest
     {
         TableNameAsTableName = new TableName("[PROJECT]", "[INSTANCE]", "[TABLE]"),
         RowKey          = ByteString.Empty,
         TrueMutations   = { new Mutation(), },
         FalseMutations  = { new Mutation(), },
         PredicateFilter = new RowFilter(),
         AppProfileId    = "",
     };
     // Make the request
     CheckAndMutateRowResponse response = bigtableServiceApiClient.CheckAndMutateRow(request);
     // End snippet
 }
        public async Task CheckAndMutateRowAsync2()
        {
            Mock <Bigtable.BigtableClient> mockGrpcClient = new Mock <Bigtable.BigtableClient>(MockBehavior.Strict);
            CheckAndMutateRowRequest       request        = new CheckAndMutateRowRequest
            {
                TableNameAsTableName = new TableName("[PROJECT]", "[INSTANCE]", "[TABLE]"),
                RowKey = ByteString.CopyFromUtf8("122"),
            };
            CheckAndMutateRowResponse expectedResponse = new CheckAndMutateRowResponse
            {
                PredicateMatched = true,
            };

            mockGrpcClient.Setup(x => x.CheckAndMutateRowAsync(request, It.IsAny <CallOptions>()))
            .Returns(new Grpc.Core.AsyncUnaryCall <CheckAndMutateRowResponse>(Task.FromResult(expectedResponse), null, null, null, null));
            BigtableServiceApiClient  client   = new BigtableServiceApiClientImpl(mockGrpcClient.Object, null);
            CheckAndMutateRowResponse response = await client.CheckAndMutateRowAsync(request);

            Assert.Same(expectedResponse, response);
            mockGrpcClient.VerifyAll();
        }
Пример #15
0
        /// <summary>Snippet for CheckAndMutateRowAsync</summary>
        public async Task CheckAndMutateRowRequestObjectAsync()
        {
            // Snippet: CheckAndMutateRowAsync(CheckAndMutateRowRequest, CallSettings)
            // Additional: CheckAndMutateRowAsync(CheckAndMutateRowRequest, CancellationToken)
            // Create client
            BigtableClient bigtableClient = await BigtableClient.CreateAsync();

            // Initialize request argument(s)
            CheckAndMutateRowRequest request = new CheckAndMutateRowRequest
            {
                TableNameAsTableName = TableName.FromProjectInstanceTable("[PROJECT]", "[INSTANCE]", "[TABLE]"),
                RowKey          = ByteString.Empty,
                TrueMutations   = { new Mutation(), },
                FalseMutations  = { new Mutation(), },
                PredicateFilter = new RowFilter(),
                AppProfileId    = "",
            };
            // Make the request
            CheckAndMutateRowResponse response = await bigtableClient.CheckAndMutateRowAsync(request);

            // End snippet
        }
        public void CheckAndMutateRow1ResourceNames()
        {
            moq::Mock <Bigtable.BigtableClient> mockGrpcClient = new moq::Mock <Bigtable.BigtableClient>(moq::MockBehavior.Strict);
            CheckAndMutateRowRequest            request        = new CheckAndMutateRowRequest
            {
                TableNameAsTableName = TableName.FromProjectInstanceTable("[PROJECT]", "[INSTANCE]", "[TABLE]"),
                RowKey          = proto::ByteString.CopyFromUtf8("row_key7adfb7cb"),
                TrueMutations   = { new Mutation(), },
                FalseMutations  = { new Mutation(), },
                PredicateFilter = new RowFilter(),
            };
            CheckAndMutateRowResponse expectedResponse = new CheckAndMutateRowResponse
            {
                PredicateMatched = true,
            };

            mockGrpcClient.Setup(x => x.CheckAndMutateRow(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(expectedResponse);
            BigtableClient            client   = new BigtableClientImpl(mockGrpcClient.Object, null);
            CheckAndMutateRowResponse response = client.CheckAndMutateRow(request.TableNameAsTableName, request.RowKey, request.PredicateFilter, request.TrueMutations, request.FalseMutations);

            xunit::Assert.Same(expectedResponse, response);
            mockGrpcClient.VerifyAll();
        }
        public void CheckAndMutateRowRequestObject()
        {
            moq::Mock <Bigtable.BigtableClient> mockGrpcClient = new moq::Mock <Bigtable.BigtableClient>(moq::MockBehavior.Strict);
            CheckAndMutateRowRequest            request        = new CheckAndMutateRowRequest
            {
                TableNameAsTableName = new gcbcv::TableName("[PROJECT]", "[INSTANCE]", "[TABLE]"),
                RowKey          = proto::ByteString.CopyFromUtf8("row_key7adfb7cb"),
                TrueMutations   = { new Mutation(), },
                FalseMutations  = { new Mutation(), },
                PredicateFilter = new RowFilter(),
                AppProfileId    = "app_profile_id57fb0442",
            };
            CheckAndMutateRowResponse expectedResponse = new CheckAndMutateRowResponse
            {
                PredicateMatched = true,
            };

            mockGrpcClient.Setup(x => x.CheckAndMutateRow(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(expectedResponse);
            BigtableServiceApiClient  client   = new BigtableServiceApiClientImpl(mockGrpcClient.Object, null);
            CheckAndMutateRowResponse response = client.CheckAndMutateRow(request);

            xunit::Assert.Same(expectedResponse, response);
            mockGrpcClient.VerifyAll();
        }
 public override Task <CheckAndMutateRowResponse> CheckAndMutateRowAsync(CheckAndMutateRowRequest request, CallSettings callSettings = null) =>
 throw new RequestMadeException();