Skip to content

Commit 392717f

Browse files
committed
PR comment 2
1 parent d368825 commit 392717f

2 files changed

Lines changed: 21 additions & 13 deletions

File tree

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminClientV2.java

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,17 @@ protected BigtableTableAdminClientV2(BigtableTableAdminStub stub) {
7676
this.optimizeRestoredTableOperationBaseCallable = null;
7777
}
7878

79+
@com.google.common.annotations.VisibleForTesting
80+
BigtableTableAdminClientV2(
81+
BigtableTableAdminStub stub,
82+
AwaitConsistencyCallable awaitConsistencyCallable,
83+
OperationCallable<Void, Empty, OptimizeRestoredTableMetadata>
84+
optimizeRestoredTableOperationBaseCallable) {
85+
super(stub);
86+
this.awaitConsistencyCallable = awaitConsistencyCallable;
87+
this.optimizeRestoredTableOperationBaseCallable = optimizeRestoredTableOperationBaseCallable;
88+
}
89+
7990
private AwaitConsistencyCallable createAwaitConsistencyCallable(
8091
BigtableTableAdminStubSettings settings) throws IOException {
8192
ClientContext clientContext = ClientContext.create(settings);
@@ -324,12 +335,8 @@ private UnaryCallable<ConsistencyRequest, Void> getAwaitConsistencyCallable() {
324335
if (optimizeRestoredTableOperationBaseCallable != null) {
325336
return optimizeRestoredTableOperationBaseCallable;
326337
}
327-
// Fallback for tests or stub-based initialization
328-
if (getStub()
329-
instanceof com.google.cloud.bigtable.admin.v2.stub.EnhancedBigtableTableAdminStub) {
330-
return ((com.google.cloud.bigtable.admin.v2.stub.EnhancedBigtableTableAdminStub) getStub())
331-
.awaitOptimizeRestoredTableCallable();
332-
}
333-
throw new IllegalStateException("OptimizeRestoredTableCallable not initialized.");
338+
throw new IllegalStateException(
339+
"OptimizeRestoredTableCallable not initialized. BigtableTableAdminClientV2 must be "
340+
+ "initialized via settings to use this functionality.");
334341
}
335342
}

google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminClientV2Test.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
import com.google.cloud.bigtable.admin.v2.models.ConsistencyRequest;
2727
import com.google.cloud.bigtable.admin.v2.models.OptimizeRestoredTableOperationToken;
2828
import com.google.cloud.bigtable.admin.v2.models.RestoredTableResult;
29+
import com.google.cloud.bigtable.admin.v2.stub.AwaitConsistencyCallable;
30+
import com.google.cloud.bigtable.admin.v2.stub.BigtableTableAdminStub;
2931
import com.google.cloud.bigtable.admin.v2.stub.EnhancedBigtableTableAdminStub;
3032
import com.google.protobuf.Empty;
3133
import java.util.concurrent.atomic.AtomicBoolean;
@@ -47,9 +49,9 @@ public class BigtableTableAdminClientV2Test {
4749
private static final String TABLE_NAME =
4850
"projects/my-project/instances/my-instance/tables/my-table";
4951

50-
@Mock private EnhancedBigtableTableAdminStub mockStub;
52+
@Mock private BigtableTableAdminStub mockStub;
5153

52-
@Mock private UnaryCallable<ConsistencyRequest, Void> mockAwaitConsistencyCallable;
54+
@Mock private AwaitConsistencyCallable mockAwaitConsistencyCallable;
5355

5456
@Mock
5557
private OperationCallable<Void, Empty, OptimizeRestoredTableMetadata>
@@ -59,13 +61,14 @@ public class BigtableTableAdminClientV2Test {
5961

6062
@Before
6163
public void setUp() {
62-
client = BigtableTableAdminClientV2.createClient(mockStub);
64+
client =
65+
new BigtableTableAdminClientV2(
66+
mockStub, mockAwaitConsistencyCallable, mockOptimizeRestoredTableCallable);
6367
}
6468

6569
@Test
6670
public void testWaitForConsistencyWithToken() {
6771
// Setup
68-
Mockito.when(mockStub.awaitConsistencyCallable()).thenReturn(mockAwaitConsistencyCallable);
6972

7073
String token = "my-token";
7174
ConsistencyRequest expectedRequest =
@@ -91,8 +94,6 @@ public void testWaitForConsistencyWithToken() {
9194
@Test
9295
public void testAwaitOptimizeRestoredTable() throws Exception {
9396
// Setup
94-
Mockito.when(mockStub.awaitOptimizeRestoredTableCallable())
95-
.thenReturn(mockOptimizeRestoredTableCallable);
9697

9798
String optimizeToken = "my-optimization-token";
9899

0 commit comments

Comments
 (0)