Search in sources :

Example 36 with TableName

use of com.google.bigtable.v2.TableName in project java-bigtable by googleapis.

the class BaseBigtableTableAdminClientTest method modifyColumnFamiliesTest.

@Test
public void modifyColumnFamiliesTest() throws Exception {
    Table expectedResponse = Table.newBuilder().setName(TableName.of("[PROJECT]", "[INSTANCE]", "[TABLE]").toString()).putAllClusterStates(new HashMap<String, Table.ClusterState>()).putAllColumnFamilies(new HashMap<String, ColumnFamily>()).setRestoreInfo(RestoreInfo.newBuilder().build()).build();
    mockBigtableTableAdmin.addResponse(expectedResponse);
    TableName name = TableName.of("[PROJECT]", "[INSTANCE]", "[TABLE]");
    List<ModifyColumnFamiliesRequest.Modification> modifications = new ArrayList<>();
    Table actualResponse = client.modifyColumnFamilies(name, modifications);
    Assert.assertEquals(expectedResponse, actualResponse);
    List<AbstractMessage> actualRequests = mockBigtableTableAdmin.getRequests();
    Assert.assertEquals(1, actualRequests.size());
    ModifyColumnFamiliesRequest actualRequest = ((ModifyColumnFamiliesRequest) actualRequests.get(0));
    Assert.assertEquals(name.toString(), actualRequest.getName());
    Assert.assertEquals(modifications, actualRequest.getModificationsList());
    Assert.assertTrue(channelProvider.isHeaderSent(ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
}
Also used : TableName(com.google.bigtable.admin.v2.TableName) Table(com.google.bigtable.admin.v2.Table) AbstractMessage(com.google.protobuf.AbstractMessage) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) ByteString(com.google.protobuf.ByteString) ColumnFamily(com.google.bigtable.admin.v2.ColumnFamily) ModifyColumnFamiliesRequest(com.google.bigtable.admin.v2.ModifyColumnFamiliesRequest) Test(org.junit.Test)

Example 37 with TableName

use of com.google.bigtable.v2.TableName in project java-bigtable by googleapis.

the class BigtableTableAdminClientTests method testAwaitReplication.

@Test
public void testAwaitReplication() {
    // Setup
    Mockito.when(mockStub.awaitReplicationCallable()).thenReturn(mockAwaitReplicationCallable);
    TableName expectedRequest = TableName.parse(TABLE_NAME);
    final AtomicBoolean wasCalled = new AtomicBoolean(false);
    Mockito.when(mockAwaitReplicationCallable.futureCall(expectedRequest)).thenAnswer((Answer<ApiFuture<Void>>) invocationOnMock -> {
        wasCalled.set(true);
        return ApiFutures.immediateFuture(null);
    });
    // Execute
    adminClient.awaitReplication(TABLE_ID);
    // Verify
    assertThat(wasCalled.get()).isTrue();
}
Also used : ArgumentMatchers(org.mockito.ArgumentMatchers) OperationFuture(com.google.api.gax.longrunning.OperationFuture) NotFoundException(com.google.api.gax.rpc.NotFoundException) CreateBackupMetadata(com.google.bigtable.admin.v2.CreateBackupMetadata) ListTablesRequest(com.google.bigtable.admin.v2.ListTablesRequest) Empty(com.google.protobuf.Empty) Table(com.google.cloud.bigtable.admin.v2.models.Table) ColumnFamily(com.google.bigtable.admin.v2.ColumnFamily) Map(java.util.Map) CreateTableRequest(com.google.cloud.bigtable.admin.v2.models.CreateTableRequest) Status(io.grpc.Status) Backup(com.google.cloud.bigtable.admin.v2.models.Backup) GcRule(com.google.bigtable.admin.v2.GcRule) Role(com.google.cloud.Role) ListBackupsPage(com.google.cloud.bigtable.admin.v2.BaseBigtableTableAdminClient.ListBackupsPage) ListTablesPagedResponse(com.google.cloud.bigtable.admin.v2.BaseBigtableTableAdminClient.ListTablesPagedResponse) ApiFutures(com.google.api.core.ApiFutures) OperationSnapshot(com.google.api.gax.longrunning.OperationSnapshot) Timestamps(com.google.protobuf.util.Timestamps) ClusterState(com.google.bigtable.admin.v2.Table.ClusterState) State(com.google.bigtable.admin.v2.Backup.State) ListTablesPage(com.google.cloud.bigtable.admin.v2.BaseBigtableTableAdminClient.ListTablesPage) ApiFuture(com.google.api.core.ApiFuture) ByteString(com.google.protobuf.ByteString) EncryptionInfo(com.google.cloud.bigtable.admin.v2.models.EncryptionInfo) List(java.util.List) DeleteTableRequest(com.google.bigtable.admin.v2.DeleteTableRequest) NameUtil(com.google.cloud.bigtable.admin.v2.internal.NameUtil) RestoreTableMetadata(com.google.bigtable.admin.v2.RestoreTableMetadata) DeleteBackupRequest(com.google.bigtable.admin.v2.DeleteBackupRequest) GetTableRequest(com.google.bigtable.admin.v2.GetTableRequest) BackupInfo(com.google.bigtable.admin.v2.BackupInfo) Policy(com.google.cloud.Policy) Mock(org.mockito.Mock) OperationFutures(com.google.api.gax.longrunning.OperationFutures) RunWith(org.junit.runner.RunWith) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) Operation(com.google.longrunning.Operation) Timestamp(com.google.protobuf.Timestamp) RestoreSourceType(com.google.bigtable.admin.v2.RestoreSourceType) CreateBackupRequest(com.google.cloud.bigtable.admin.v2.models.CreateBackupRequest) Code(io.grpc.Status.Code) Answer(org.mockito.stubbing.Answer) ListBackupsPagedResponse(com.google.cloud.bigtable.admin.v2.BaseBigtableTableAdminClient.ListBackupsPagedResponse) Lists(com.google.common.collect.Lists) RestoreTableRequest(com.google.cloud.bigtable.admin.v2.models.RestoreTableRequest) ImmutableList(com.google.common.collect.ImmutableList) GrpcStatusCode(com.google.api.gax.grpc.GrpcStatusCode) Instant(org.threeten.bp.Instant) RestoredTableResult(com.google.cloud.bigtable.admin.v2.models.RestoredTableResult) MockitoJUnit(org.mockito.junit.MockitoJUnit) ModifyColumnFamiliesRequest(com.google.cloud.bigtable.admin.v2.models.ModifyColumnFamiliesRequest) Identity(com.google.cloud.Identity) Modification(com.google.bigtable.admin.v2.ModifyColumnFamiliesRequest.Modification) Before(org.junit.Before) EnhancedBigtableTableAdminStub(com.google.cloud.bigtable.admin.v2.stub.EnhancedBigtableTableAdminStub) BaseEncoding(com.google.common.io.BaseEncoding) UpdateBackupRequest(com.google.cloud.bigtable.admin.v2.models.UpdateBackupRequest) Test(org.junit.Test) DropRowRangeRequest(com.google.bigtable.admin.v2.DropRowRangeRequest) JUnit4(org.junit.runners.JUnit4) Truth.assertThat(com.google.common.truth.Truth.assertThat) View(com.google.bigtable.admin.v2.Table.View) TableName(com.google.bigtable.admin.v2.TableName) ExecutionException(java.util.concurrent.ExecutionException) OperationCallable(com.google.api.gax.rpc.OperationCallable) UnaryCallable(com.google.api.gax.rpc.UnaryCallable) Mockito(org.mockito.Mockito) Rule(org.junit.Rule) ListBackupsRequest(com.google.bigtable.admin.v2.ListBackupsRequest) MockitoRule(org.mockito.junit.MockitoRule) FakeOperationSnapshot(com.google.api.gax.rpc.testing.FakeOperationSnapshot) GetBackupRequest(com.google.bigtable.admin.v2.GetBackupRequest) TableName(com.google.bigtable.admin.v2.TableName) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) ApiFuture(com.google.api.core.ApiFuture) Test(org.junit.Test)

Example 38 with TableName

use of com.google.bigtable.v2.TableName in project java-bigtable by googleapis.

the class BaseBigtableTableAdminClientTest method snapshotTableTest.

@Test
public void snapshotTableTest() throws Exception {
    Snapshot expectedResponse = Snapshot.newBuilder().setName(SnapshotName.of("[PROJECT]", "[INSTANCE]", "[CLUSTER]", "[SNAPSHOT]").toString()).setSourceTable(Table.newBuilder().build()).setDataSizeBytes(-2110122398).setCreateTime(Timestamp.newBuilder().build()).setDeleteTime(Timestamp.newBuilder().build()).setDescription("description-1724546052").build();
    Operation resultOperation = Operation.newBuilder().setName("snapshotTableTest").setDone(true).setResponse(Any.pack(expectedResponse)).build();
    mockBigtableTableAdmin.addResponse(resultOperation);
    TableName name = TableName.of("[PROJECT]", "[INSTANCE]", "[TABLE]");
    ClusterName cluster = ClusterName.of("[PROJECT]", "[INSTANCE]", "[CLUSTER]");
    String snapshotId = "snapshotId-1113817601";
    String description = "description-1724546052";
    Snapshot actualResponse = client.snapshotTableAsync(name, cluster, snapshotId, description).get();
    Assert.assertEquals(expectedResponse, actualResponse);
    List<AbstractMessage> actualRequests = mockBigtableTableAdmin.getRequests();
    Assert.assertEquals(1, actualRequests.size());
    SnapshotTableRequest actualRequest = ((SnapshotTableRequest) actualRequests.get(0));
    Assert.assertEquals(name.toString(), actualRequest.getName());
    Assert.assertEquals(cluster.toString(), actualRequest.getCluster());
    Assert.assertEquals(snapshotId, actualRequest.getSnapshotId());
    Assert.assertEquals(description, actualRequest.getDescription());
    Assert.assertTrue(channelProvider.isHeaderSent(ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
}
Also used : SnapshotTableRequest(com.google.bigtable.admin.v2.SnapshotTableRequest) Snapshot(com.google.bigtable.admin.v2.Snapshot) TableName(com.google.bigtable.admin.v2.TableName) AbstractMessage(com.google.protobuf.AbstractMessage) ClusterName(com.google.bigtable.admin.v2.ClusterName) Operation(com.google.longrunning.Operation) ByteString(com.google.protobuf.ByteString) Test(org.junit.Test)

Example 39 with TableName

use of com.google.bigtable.v2.TableName in project java-bigtable by googleapis.

the class BaseBigtableTableAdminClientTest method modifyColumnFamiliesExceptionTest.

@Test
public void modifyColumnFamiliesExceptionTest() throws Exception {
    StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
    mockBigtableTableAdmin.addException(exception);
    try {
        TableName name = TableName.of("[PROJECT]", "[INSTANCE]", "[TABLE]");
        List<ModifyColumnFamiliesRequest.Modification> modifications = new ArrayList<>();
        client.modifyColumnFamilies(name, modifications);
        Assert.fail("No exception raised");
    } catch (InvalidArgumentException e) {
    // Expected exception.
    }
}
Also used : TableName(com.google.bigtable.admin.v2.TableName) InvalidArgumentException(com.google.api.gax.rpc.InvalidArgumentException) StatusRuntimeException(io.grpc.StatusRuntimeException) ArrayList(java.util.ArrayList) Test(org.junit.Test)

Example 40 with TableName

use of com.google.bigtable.v2.TableName in project java-bigtable by googleapis.

the class BaseBigtableTableAdminClientTest method checkConsistencyTest.

@Test
public void checkConsistencyTest() throws Exception {
    CheckConsistencyResponse expectedResponse = CheckConsistencyResponse.newBuilder().setConsistent(true).build();
    mockBigtableTableAdmin.addResponse(expectedResponse);
    TableName name = TableName.of("[PROJECT]", "[INSTANCE]", "[TABLE]");
    String consistencyToken = "consistencyToken-1985152319";
    CheckConsistencyResponse actualResponse = client.checkConsistency(name, consistencyToken);
    Assert.assertEquals(expectedResponse, actualResponse);
    List<AbstractMessage> actualRequests = mockBigtableTableAdmin.getRequests();
    Assert.assertEquals(1, actualRequests.size());
    CheckConsistencyRequest actualRequest = ((CheckConsistencyRequest) actualRequests.get(0));
    Assert.assertEquals(name.toString(), actualRequest.getName());
    Assert.assertEquals(consistencyToken, actualRequest.getConsistencyToken());
    Assert.assertTrue(channelProvider.isHeaderSent(ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
}
Also used : TableName(com.google.bigtable.admin.v2.TableName) AbstractMessage(com.google.protobuf.AbstractMessage) CheckConsistencyResponse(com.google.bigtable.admin.v2.CheckConsistencyResponse) ByteString(com.google.protobuf.ByteString) CheckConsistencyRequest(com.google.bigtable.admin.v2.CheckConsistencyRequest) Test(org.junit.Test)

Aggregations

ByteString (com.google.protobuf.ByteString)48 Test (org.junit.Test)46 ArrayList (java.util.ArrayList)39 Mutation (com.google.bigtable.v2.Mutation)25 InvalidArgumentException (com.google.api.gax.rpc.InvalidArgumentException)19 AbstractMessage (com.google.protobuf.AbstractMessage)19 StatusRuntimeException (io.grpc.StatusRuntimeException)19 TableName (com.google.bigtable.v2.TableName)18 TableName (com.google.bigtable.admin.v2.TableName)17 CheckAndMutateRowResponse (com.google.bigtable.v2.CheckAndMutateRowResponse)12 ReadModifyWriteRule (com.google.bigtable.v2.ReadModifyWriteRule)12 RowFilter (com.google.bigtable.v2.RowFilter)12 BaseBigtableDataClient (com.google.cloud.bigtable.data.v2.BaseBigtableDataClient)12 JSONArray (org.json.JSONArray)9 JSONObject (org.json.JSONObject)9 CheckAndMutateRowRequest (com.google.bigtable.v2.CheckAndMutateRowRequest)8 MutateRowResponse (com.google.bigtable.v2.MutateRowResponse)8 ReadModifyWriteRowResponse (com.google.bigtable.v2.ReadModifyWriteRowResponse)8 ExecutionException (java.util.concurrent.ExecutionException)8 TableName (com.google.cloud.bigquery.storage.v1.TableName)7