Skip to content

Commit 3761781

Browse files
committed
chore: applying namespace change for proto artifacts, simplifying CloseClient implementation, and removing CbtClient class
1 parent b7fd535 commit 3761781

File tree

1 file changed

+30
-64
lines changed

1 file changed

+30
-64
lines changed

apis/Google.Cloud.Bigtable.V2/Google.Cloud.Bigtable.V2.ConformanceTests/Services/CloudBigtableV2TestProxyImpl.cs

+30-64
Original file line numberDiff line numberDiff line change
@@ -16,30 +16,16 @@
1616
using Google.Api.Gax.Grpc;
1717
using Google.Apis.Auth.OAuth2;
1818
using Google.Cloud.Bigtable.Common.V2;
19+
using Google.Cloud.Bigtable.V2.ConformanceTests.TestProxy;
1920
using Google.Cloud.Bigtable.V2;
2021
using Grpc.Auth;
2122
using Grpc.Core;
22-
using System.Diagnostics;
2323

2424
namespace google.bigtable.testproxy;
2525

2626
public sealed class CloudBigtableV2TestProxyImpl : CloudBigtableV2TestProxy.CloudBigtableV2TestProxyBase
2727
{
28-
private class CbtClient
29-
{
30-
public BigtableClient Client { get; }
31-
public ChannelBase LastCreatedChannel { get; }
32-
public InstanceName InstanceName { get; }
33-
34-
public CbtClient(BigtableClient bigtableClient, ChannelBase channelBase, InstanceName instanceName)
35-
{
36-
Client = bigtableClient;
37-
LastCreatedChannel = channelBase;
38-
InstanceName = instanceName;
39-
}
40-
}
41-
42-
private static readonly Dictionary<string, CbtClient> s_clientMap = new Dictionary<string, CbtClient>();
28+
private static readonly Dictionary<string, BigtableClient> s_clientMap = new Dictionary<string, BigtableClient>();
4329

4430
public override async Task<CreateClientResponse> CreateClient(CreateClientRequest request, ServerCallContext context)
4531
{
@@ -67,15 +53,11 @@ public override async Task<CreateClientResponse> CreateClient(CreateClientReques
6753
builder.GrpcChannelOptions = GetChannelOptions();
6854
}
6955

70-
s_clientMap[request.ClientId] = new CbtClient(
71-
await builder.BuildAsync(),
72-
builder.LastCreatedChannel,
73-
new InstanceName(request.ProjectId, request.InstanceId));
56+
s_clientMap[request.ClientId] = await builder.BuildAsync();
7457
}
7558
catch (Exception e)
7659
{
77-
context.Status = new Status(StatusCode.Internal, e.Message, e);
78-
throw new RpcException(context.Status);
60+
throw new RpcException(new Status(StatusCode.Internal, e.Message, e));
7961
}
8062

8163
return new CreateClientResponse();
@@ -98,7 +80,6 @@ void MaybeOverrideTimeoutSetting(BigtableServiceApiSettings settings)
9880

9981
ChannelCredentials GetChannelCredentials()
10082
{
101-
// securityOptions.UseSsl, securityOptions.SslRootCertsPem, securityOptions.AccessToken
10283
if (request.SecurityOptions.AccessToken is null)
10384
{
10485
return request.SecurityOptions.UseSsl ? new SslCredentials(request.SecurityOptions.SslRootCertsPem) : ChannelCredentials.Insecure;
@@ -114,22 +95,9 @@ GrpcChannelOptions GetChannelOptions() => request.SecurityOptions.SslEndpointOve
11495
: null;
11596
}
11697

117-
public override async Task<CloseClientResponse> CloseClient(CloseClientRequest request, ServerCallContext context)
98+
public override Task<CloseClientResponse> CloseClient(CloseClientRequest request, ServerCallContext context)
11899
{
119-
CbtClient cbtClient = GetClient(request.ClientId, context);
120-
try
121-
{
122-
if (cbtClient.LastCreatedChannel is not null)
123-
{
124-
await cbtClient.LastCreatedChannel.ShutdownAsync();
125-
}
126-
}
127-
catch (Exception e)
128-
{
129-
context.Status = new Status(StatusCode.Internal, e.Message, e);
130-
throw new RpcException(context.Status);
131-
}
132-
return new CloseClientResponse();
100+
return Task.FromResult(new CloseClientResponse());
133101
}
134102

135103
public override Task<RemoveClientResponse> RemoveClient(RemoveClientRequest request, ServerCallContext context)
@@ -138,19 +106,18 @@ public override Task<RemoveClientResponse> RemoveClient(RemoveClientRequest requ
138106
bool removed = s_clientMap.Remove(clientId);
139107
if (!removed)
140108
{
141-
context.Status = new Status(StatusCode.NotFound, $"Client {clientId} not found.");
142-
throw new RpcException(context.Status);
109+
throw new RpcException(new Status(StatusCode.NotFound, $"Client {clientId} not found."));
143110
}
144111
return Task.FromResult(new RemoveClientResponse());
145112
}
146113

147114
public override async Task<RowResult> ReadRow(ReadRowRequest request, ServerCallContext context)
148115
{
149-
CbtClient cbtClient = GetClient(request.ClientId, context);
116+
BigtableClient bigtableClient = GetClient(request.ClientId, context);
150117
TableName tableName = TableName.Parse(request.TableName);
151118
try
152119
{
153-
Row row = await cbtClient.Client.ReadRowAsync(tableName,
120+
Row row = await bigtableClient.ReadRowAsync(tableName,
154121
new BigtableByteString(request.RowKey),
155122
request.Filter);
156123
string message = row is null ? $"ReadRow didn't find row: {request.RowKey}" : "ReadRow succeeded";
@@ -168,13 +135,13 @@ public override async Task<RowResult> ReadRow(ReadRowRequest request, ServerCall
168135
};
169136
}
170137
}
171-
public override async Task<RowsResult> ReadRows(ReadRowsRequest request, ServerCallContext context)
138+
public override async Task<RowsResult> ReadRows(Google.Cloud.Bigtable.V2.ConformanceTests.TestProxy.ReadRowsRequest request, ServerCallContext context)
172139
{
173-
CbtClient cbtClient = GetClient(request.ClientId, context);
140+
BigtableClient bigtableClient = GetClient(request.ClientId, context);
174141
RowsResult rowsResult = new RowsResult();
175142
try
176143
{
177-
ReadRowsStream stream = cbtClient.Client.ReadRows(request.Request);
144+
ReadRowsStream stream = bigtableClient.ReadRows(request.Request);
178145
await foreach (Row row in stream)
179146
{
180147
rowsResult.Rows.Add(row);
@@ -201,12 +168,12 @@ public override async Task<RowsResult> ReadRows(ReadRowsRequest request, ServerC
201168
}
202169
}
203170

204-
public override async Task<MutateRowResult> MutateRow(MutateRowRequest request, ServerCallContext context)
171+
public override async Task<MutateRowResult> MutateRow(Google.Cloud.Bigtable.V2.ConformanceTests.TestProxy.MutateRowRequest request, ServerCallContext context)
205172
{
206-
CbtClient cbtClient = GetClient(request.ClientId, context);
173+
BigtableClient bigtableClient = GetClient(request.ClientId, context);
207174
try
208175
{
209-
MutateRowResponse response = await cbtClient.Client.MutateRowAsync(request.Request);
176+
MutateRowResponse response = await bigtableClient.MutateRowAsync(request.Request);
210177
string message = "MutateRow succeeded";
211178
return new MutateRowResult
212179
{
@@ -222,13 +189,13 @@ public override async Task<MutateRowResult> MutateRow(MutateRowRequest request,
222189
}
223190
}
224191

225-
public override async Task<MutateRowsResult> BulkMutateRows(MutateRowsRequest request, ServerCallContext context)
192+
public override async Task<MutateRowsResult> BulkMutateRows(Google.Cloud.Bigtable.V2.ConformanceTests.TestProxy.MutateRowsRequest request, ServerCallContext context)
226193
{
227-
CbtClient cbtClient = GetClient(request.ClientId, context);
194+
BigtableClient bigtableClient = GetClient(request.ClientId, context);
228195
MutateRowsResult result = new MutateRowsResult();
229196
try
230197
{
231-
MutateRowsResponse response = await cbtClient.Client.MutateRowsAsync(request.Request);
198+
MutateRowsResponse response = await bigtableClient.MutateRowsAsync(request.Request);
232199
string message = "MutateRows succeeded";
233200
result.Status = SetSuccessStatus(message);
234201
foreach (MutateRowsResponse.Types.Entry entry in response.Entries)
@@ -262,12 +229,12 @@ public override async Task<MutateRowsResult> BulkMutateRows(MutateRowsRequest re
262229
}
263230
}
264231

265-
public override async Task<CheckAndMutateRowResult> CheckAndMutateRow(CheckAndMutateRowRequest request, ServerCallContext context)
232+
public override async Task<CheckAndMutateRowResult> CheckAndMutateRow(Google.Cloud.Bigtable.V2.ConformanceTests.TestProxy.CheckAndMutateRowRequest request, ServerCallContext context)
266233
{
267-
CbtClient cbtClient = GetClient(request.ClientId, context);
234+
BigtableClient bigtableClient = GetClient(request.ClientId, context);
268235
try
269236
{
270-
CheckAndMutateRowResponse response = await cbtClient.Client.CheckAndMutateRowAsync(request.Request);
237+
CheckAndMutateRowResponse response = await bigtableClient.CheckAndMutateRowAsync(request.Request);
271238
string message = "CheckAndMutateRow succeeded";
272239
return new CheckAndMutateRowResult
273240
{
@@ -284,12 +251,12 @@ public override async Task<CheckAndMutateRowResult> CheckAndMutateRow(CheckAndMu
284251
}
285252
}
286253

287-
public override async Task<SampleRowKeysResult> SampleRowKeys(SampleRowKeysRequest request, ServerCallContext context)
254+
public override async Task<SampleRowKeysResult> SampleRowKeys(Google.Cloud.Bigtable.V2.ConformanceTests.TestProxy.SampleRowKeysRequest request, ServerCallContext context)
288255
{
289-
CbtClient cbtClient = GetClient(request.ClientId, context);
256+
BigtableClient bigtableClient = GetClient(request.ClientId, context);
290257
try
291258
{
292-
BigtableServiceApiClient.SampleRowKeysStream stream = cbtClient.Client.SampleRowKeys(request.Request);
259+
BigtableServiceApiClient.SampleRowKeysStream stream = bigtableClient.SampleRowKeys(request.Request);
293260
SampleRowKeysResult result = new SampleRowKeysResult();
294261
result.Samples.Add(await stream.ToListAsync());
295262
string message = result.Samples.Count == 0 ? "SampleRowKeys did not find sample" : "SampleRowKeys succeeded";
@@ -305,12 +272,12 @@ public override async Task<SampleRowKeysResult> SampleRowKeys(SampleRowKeysReque
305272
}
306273
}
307274

308-
public override async Task<RowResult> ReadModifyWriteRow(ReadModifyWriteRowRequest request, ServerCallContext context)
275+
public override async Task<RowResult> ReadModifyWriteRow(Google.Cloud.Bigtable.V2.ConformanceTests.TestProxy.ReadModifyWriteRowRequest request, ServerCallContext context)
309276
{
310-
CbtClient cbtClient = GetClient(request.ClientId, context);
277+
BigtableClient bigtableClient = GetClient(request.ClientId, context);
311278
try
312279
{
313-
Row row = (await cbtClient.Client.ReadModifyWriteRowAsync(request.Request)).Row;
280+
Row row = (await bigtableClient.ReadModifyWriteRowAsync(request.Request)).Row;
314281
string message = row is null ? "ReadModifyRow didn't find row" : "ReadModifyRow succeeded";
315282
return new RowResult
316283
{
@@ -327,19 +294,18 @@ public override async Task<RowResult> ReadModifyWriteRow(ReadModifyWriteRowReque
327294
}
328295
}
329296

330-
public override Task<ExecuteQueryResult> ExecuteQuery(ExecuteQueryRequest request, ServerCallContext context)
297+
public override Task<ExecuteQueryResult> ExecuteQuery(Google.Cloud.Bigtable.V2.ConformanceTests.TestProxy.ExecuteQueryRequest request, ServerCallContext context)
331298
{
332299
throw new NotImplementedException();
333300
}
334301

335302
public static CloudBigtableV2TestProxyImpl Create() => new();
336303

337-
private CbtClient GetClient(string clientId, ServerCallContext context)
304+
private BigtableClient GetClient(string clientId, ServerCallContext context)
338305
{
339306
if (!s_clientMap.ContainsKey(clientId))
340307
{
341-
context.Status = new Status(StatusCode.NotFound, $"Client {clientId} not found.");
342-
throw new RpcException(context.Status);
308+
throw new RpcException(new Status(StatusCode.NotFound, $"Client {clientId} not found."));
343309
}
344310

345311
return s_clientMap[clientId];

0 commit comments

Comments
 (0)