Exemple #1
0
        public async Task CheckConsistencyAsync()
        {
            Mock <BigtableTableAdmin.BigtableTableAdminClient> mockGrpcClient = new Mock <BigtableTableAdmin.BigtableTableAdminClient>(MockBehavior.Strict);

            mockGrpcClient.Setup(x => x.CreateOperationsClient())
            .Returns(new Mock <Operations.OperationsClient>().Object);
            CheckConsistencyRequest expectedRequest = new CheckConsistencyRequest
            {
                TableName        = new TableName("[PROJECT]", "[INSTANCE]", "[TABLE]"),
                ConsistencyToken = "consistencyToken-1090516718",
            };
            CheckConsistencyResponse expectedResponse = new CheckConsistencyResponse
            {
                Consistent = true,
            };

            mockGrpcClient.Setup(x => x.CheckConsistencyAsync(expectedRequest, It.IsAny <CallOptions>()))
            .Returns(new Grpc.Core.AsyncUnaryCall <CheckConsistencyResponse>(Task.FromResult(expectedResponse), null, null, null, null));
            BigtableTableAdminClient client = new BigtableTableAdminClientImpl(mockGrpcClient.Object, null);
            TableName name                    = new TableName("[PROJECT]", "[INSTANCE]", "[TABLE]");
            string    consistencyToken        = "consistencyToken-1090516718";
            CheckConsistencyResponse response = await client.CheckConsistencyAsync(name, consistencyToken);

            Assert.Same(expectedResponse, response);
            mockGrpcClient.VerifyAll();
        }
        public void ShouldCheckConsistency()
        {
            GetNodeInfoResponse      gni = _iotaApi.IotaClient.GetNodeInfo();
            CheckConsistencyResponse ccr = _iotaApi.IotaClient.CheckConsistency(gni.LatestSolidSubtangleMilestone);

            Assert.IsNotNull(ccr, "CheckConsistencyResponse should not return null on failure");
            Assert.IsTrue(ccr.State, "Latest milestone should always be consistent");
        }
 /// <summary>Snippet for CheckConsistency</summary>
 /// <remarks>
 /// This snippet has been automatically generated for illustrative purposes only.
 /// It may require modifications to work in your environment.
 /// </remarks>
 public void CheckConsistency()
 {
     // Create client
     BigtableTableAdminClient bigtableTableAdminClient = BigtableTableAdminClient.Create();
     // Initialize request argument(s)
     string name             = "projects/[PROJECT]/instances/[INSTANCE]/tables/[TABLE]";
     string consistencyToken = "";
     // Make the request
     CheckConsistencyResponse response = bigtableTableAdminClient.CheckConsistency(name, consistencyToken);
 }
 /// <summary>Snippet for CheckConsistency</summary>
 /// <remarks>
 /// This snippet has been automatically generated for illustrative purposes only.
 /// It may require modifications to work in your environment.
 /// </remarks>
 public void CheckConsistencyResourceNames()
 {
     // Create client
     BigtableTableAdminClient bigtableTableAdminClient = BigtableTableAdminClient.Create();
     // Initialize request argument(s)
     TableName name             = TableName.FromProjectInstanceTable("[PROJECT]", "[INSTANCE]", "[TABLE]");
     string    consistencyToken = "";
     // Make the request
     CheckConsistencyResponse response = bigtableTableAdminClient.CheckConsistency(name, consistencyToken);
 }
Exemple #5
0
 /// <summary>Snippet for CheckConsistency</summary>
 public void CheckConsistency()
 {
     // Snippet: CheckConsistency(TableName,string,CallSettings)
     // Create client
     BigtableTableAdminClient bigtableTableAdminClient = BigtableTableAdminClient.Create();
     // Initialize request argument(s)
     TableName name             = new TableName("[PROJECT]", "[INSTANCE]", "[TABLE]");
     string    consistencyToken = "";
     // Make the request
     CheckConsistencyResponse response = bigtableTableAdminClient.CheckConsistency(name, consistencyToken);
     // End snippet
 }
Exemple #6
0
 /// <summary>Snippet for CheckConsistency</summary>
 /// <remarks>
 /// This snippet has been automatically generated for illustrative purposes only.
 /// It may require modifications to work in your environment.
 /// </remarks>
 public void CheckConsistencyRequestObject()
 {
     // Create client
     BigtableTableAdminClient bigtableTableAdminClient = BigtableTableAdminClient.Create();
     // Initialize request argument(s)
     CheckConsistencyRequest request = new CheckConsistencyRequest
     {
         TableName        = TableName.FromProjectInstanceTable("[PROJECT]", "[INSTANCE]", "[TABLE]"),
         ConsistencyToken = "",
     };
     // Make the request
     CheckConsistencyResponse response = bigtableTableAdminClient.CheckConsistency(request);
 }
Exemple #7
0
 /// <summary>Snippet for CheckConsistency</summary>
 public void CheckConsistency_RequestObject()
 {
     // Snippet: CheckConsistency(CheckConsistencyRequest,CallSettings)
     // Create client
     BigtableTableAdminClient bigtableTableAdminClient = BigtableTableAdminClient.Create();
     // Initialize request argument(s)
     CheckConsistencyRequest request = new CheckConsistencyRequest
     {
         TableName        = new TableName("[PROJECT]", "[INSTANCE]", "[TABLE]"),
         ConsistencyToken = "",
     };
     // Make the request
     CheckConsistencyResponse response = bigtableTableAdminClient.CheckConsistency(request);
     // End snippet
 }
Exemple #8
0
        /// <summary>Snippet for CheckConsistencyAsync</summary>
        public async Task CheckConsistencyAsync()
        {
            // Snippet: CheckConsistencyAsync(TableName,string,CallSettings)
            // Additional: CheckConsistencyAsync(TableName,string,CancellationToken)
            // Create client
            BigtableTableAdminClient bigtableTableAdminClient = await BigtableTableAdminClient.CreateAsync();

            // Initialize request argument(s)
            TableName name             = new TableName("[PROJECT]", "[INSTANCE]", "[TABLE]");
            string    consistencyToken = "";
            // Make the request
            CheckConsistencyResponse response = await bigtableTableAdminClient.CheckConsistencyAsync(name, consistencyToken);

            // End snippet
        }
        /// <summary>Snippet for CheckConsistencyAsync</summary>
        public async Task CheckConsistencyAsync_RequestObject()
        {
            // Snippet: CheckConsistencyAsync(CheckConsistencyRequest,CallSettings)
            // Additional: CheckConsistencyAsync(CheckConsistencyRequest,CancellationToken)
            // Create client
            BigtableTableAdminClient bigtableTableAdminClient = await BigtableTableAdminClient.CreateAsync();

            // Initialize request argument(s)
            CheckConsistencyRequest request = new CheckConsistencyRequest
            {
                TableName        = new TableName("[PROJECT]", "[INSTANCE]", "[TABLE]"),
                ConsistencyToken = "",
            };
            // Make the request
            CheckConsistencyResponse response = await bigtableTableAdminClient.CheckConsistencyAsync(request);

            // End snippet
        }
Exemple #10
0
        public void CheckConsistency2()
        {
            Mock <BigtableTableAdmin.BigtableTableAdminClient> mockGrpcClient = new Mock <BigtableTableAdmin.BigtableTableAdminClient>(MockBehavior.Strict);
            CheckConsistencyRequest request = new CheckConsistencyRequest
            {
                TableName        = new TableName("[PROJECT]", "[INSTANCE]", "[TABLE]"),
                ConsistencyToken = "consistencyToken-1090516718",
            };
            CheckConsistencyResponse expectedResponse = new CheckConsistencyResponse
            {
                Consistent = true,
            };

            mockGrpcClient.Setup(x => x.CheckConsistency(request, It.IsAny <CallOptions>()))
            .Returns(expectedResponse);
            BigtableTableAdminClient client   = new BigtableTableAdminClientImpl(mockGrpcClient.Object, null);
            CheckConsistencyResponse response = client.CheckConsistency(request);

            Assert.Same(expectedResponse, response);
            mockGrpcClient.VerifyAll();
        }
Exemple #11
0
        public async Task CheckConsistencyAsync()
        {
            // TODO: When replication goes to beta or GA, having something cleaner available than what is below.

            // Snippet: CheckConsistencyAsync(TableName,string,CallSettings)
            // Additional: GenerateConsistencyTokenAsync(TableName,CallSettings)
            BigtableTableAdminClient adminClient = await BigtableTableAdminClient.CreateAsync();

            BigtableTableAdminSettings settings   = BigtableTableAdminSettings.GetDefault();
            CallSettings generateSettings         = settings.GenerateConsistencyTokenSettings;
            CallSettings checkConsistencySettings = settings.CheckConsistencySettings;

            // Create a consistency token for the table.
            TableName tableName = new TableName("[PROJECT]", "[INSTANCE]", "[TABLE]");
            GenerateConsistencyTokenResponse generateResponse =
                await adminClient.GenerateConsistencyTokenAsync(tableName, generateSettings);

            string consistencyToken = generateResponse.ConsistencyToken;

            // Check for consistency for 60 seconds at 10 second intervals.
            TimeSpan pollingTimeout  = TimeSpan.FromSeconds(60);
            TimeSpan pollingInterval = TimeSpan.FromSeconds(10);
            CheckConsistencyResponse checkConsistencyResponse =
                await Polling.PollRepeatedlyAsync(
                    deadline => adminClient.CheckConsistencyAsync(
                        tableName,
                        consistencyToken,
                        checkConsistencySettings.WithEarlierDeadline(deadline, settings.Clock)),
                    response => response.Consistent,
                    settings.Clock,
                    settings.Scheduler,
                    new PollSettings(Expiration.FromTimeout(pollingTimeout), pollingInterval),
                    checkConsistencySettings.CancellationToken ?? CancellationToken.None);

            if (checkConsistencyResponse.Consistent)
            {
                // Replication has caught up.
            }
            // End snippet
        }