/// <summary> /// Checks the transaction hashes are attached to a valid transactions which will be confirmed. /// If you have attached to a double spend transaction of a transaction which has been re-attached it will be classed as inconsistent. /// </summary> /// <param name="hashes">The transaction hashes to check.</param> /// <returns>An array of booleans in the same order as the hashes</returns> public async Task <APIResult <bool> > CheckConsistency(params string[] hashes) { var request = new CheckConsistencyRequest(hashes); var response = await genericWebClient.RequestAsync <CheckConsistencyResponse>(request); return(response?.RePackage(r => r.State)); }
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(); }
/// <summary> /// /// </summary> /// <param name="tails"></param> /// <returns></returns> public CheckConsistencyResponse CheckConsistency(params string[] tails) { if (!InputValidator.IsArrayOfHashes(tails)) { throw new ArgumentException("Invalid hashes provided."); } var checkConsistencyRequest = new CheckConsistencyRequest(tails); return(Request <CheckConsistencyRequest, CheckConsistencyResponse>(checkConsistencyRequest)); }
/// <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); }
/// <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 }
/// <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 }
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(); }