@InternalApi public com.google.bigtable.admin.v2.CreateTableRequest toProto( @Nonnull String projectId, @Nonnull String instanceId) { Preconditions.checkNotNull(projectId); Preconditions.checkNotNull(instanceId); return createTableRequest .setParent(NameUtil.formatInstanceName(projectId, instanceId)) .setTable(tableRequest.build()) .build(); } }
/** * * * <pre> * The tables present in the requested instance. * </pre> * * <code>repeated .google.bigtable.admin.v2.Table tables = 1;</code> */ public Builder addTables(com.google.bigtable.admin.v2.Table.Builder builderForValue) { if (tablesBuilder_ == null) { ensureTablesIsMutable(); tables_.add(builderForValue.build()); onChanged(); } else { tablesBuilder_.addMessage(builderForValue.build()); } return this; } /**
/** * * * <pre> * The tables present in the requested instance. * </pre> * * <code>repeated .google.bigtable.admin.v2.Table tables = 1;</code> */ public Builder addTables( int index, com.google.bigtable.admin.v2.Table.Builder builderForValue) { if (tablesBuilder_ == null) { ensureTablesIsMutable(); tables_.add(index, builderForValue.build()); onChanged(); } else { tablesBuilder_.addMessage(index, builderForValue.build()); } return this; } /**
/** Helper function to create an empty table. */ private void createEmptyTable(String instanceName, String tableId) { Table.Builder tableBuilder = Table.newBuilder(); tableBuilder.putColumnFamilies(COLUMN_FAMILY_NAME, ColumnFamily.newBuilder().build()); CreateTableRequest.Builder createTableRequestBuilder = CreateTableRequest.newBuilder() .setParent(instanceName) .setTableId(tableId) .setTable(tableBuilder.build()); tableAdminClient.createTable(createTableRequestBuilder.build()); }
@InternalApi public com.google.bigtable.admin.v2.CreateTableRequest toProto( @Nonnull String projectId, @Nonnull String instanceId) { Preconditions.checkNotNull(projectId); Preconditions.checkNotNull(instanceId); return createTableRequest .setParent(NameUtil.formatInstanceName(projectId, instanceId)) .setTable(tableRequest.build()) .build(); } }
.setNanos(99))) .build()) .build();
for (int i = 0; i < 3; i++) { expectedProtos.add( com.google.bigtable.admin.v2.Table.newBuilder().setName(TABLE_NAME + i).build());
public void createTableFromSnapshotTest() throws Exception { TableName name = TableName.of("[PROJECT]", "[INSTANCE]", "[TABLE]"); Table expectedResponse = Table.newBuilder().setName(name.toString()).build(); Operation resultOperation = Operation.newBuilder()
@Test public void testModifyFamilies() { // Setup com.google.bigtable.admin.v2.ModifyColumnFamiliesRequest expectedRequest = com.google.bigtable.admin.v2.ModifyColumnFamiliesRequest.newBuilder() .setName(TABLE_NAME) .addModifications( Modification.newBuilder() .setId("cf") .setCreate(ColumnFamily.newBuilder().setGcRule(GcRule.getDefaultInstance()))) .build(); com.google.bigtable.admin.v2.Table fakeResponse = com.google.bigtable.admin.v2.Table.newBuilder() .setName(TABLE_NAME) .putColumnFamilies( "cf", ColumnFamily.newBuilder().setGcRule(GcRule.getDefaultInstance()).build()) .build(); Mockito.when(mockModifyTableCallable.futureCall(expectedRequest)) .thenReturn(ApiFutures.immediateFuture(fakeResponse)); // Execute Table actualResult = adminClient.modifyFamilies(ModifyColumnFamiliesRequest.of(TABLE_ID).addFamily("cf")); // Verify assertThat(actualResult).isEqualTo(Table.fromProto(fakeResponse)); }
@Test @SuppressWarnings("all") public void listTablesTest() { String nextPageToken = ""; Table tablesElement = Table.newBuilder().build(); List<Table> tables = Arrays.asList(tablesElement); ListTablesResponse expectedResponse = ListTablesResponse.newBuilder() .setNextPageToken(nextPageToken) .addAllTables(tables) .build(); mockBigtableTableAdmin.addResponse(expectedResponse); InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]"); ListTablesPagedResponse pagedListResponse = client.listTables(parent); List<Table> resources = Lists.newArrayList(pagedListResponse.iterateAll()); Assert.assertEquals(1, resources.size()); Assert.assertEquals(expectedResponse.getTablesList().get(0), resources.get(0)); List<GeneratedMessageV3> actualRequests = mockBigtableTableAdmin.getRequests(); Assert.assertEquals(1, actualRequests.size()); ListTablesRequest actualRequest = (ListTablesRequest) actualRequests.get(0); Assert.assertEquals(parent, InstanceName.parse(actualRequest.getParent())); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
@Test @SuppressWarnings("all") public void createTableTest() { TableName name = TableName.of("[PROJECT]", "[INSTANCE]", "[TABLE]"); Table expectedResponse = Table.newBuilder().setName(name.toString()).build(); mockBigtableTableAdmin.addResponse(expectedResponse); InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]"); String tableId = "tableId-895419604"; Table table = Table.newBuilder().build(); Table actualResponse = client.createTable(parent, tableId, table); Assert.assertEquals(expectedResponse, actualResponse); List<GeneratedMessageV3> actualRequests = mockBigtableTableAdmin.getRequests(); Assert.assertEquals(1, actualRequests.size()); CreateTableRequest actualRequest = (CreateTableRequest) actualRequests.get(0); Assert.assertEquals(parent, InstanceName.parse(actualRequest.getParent())); Assert.assertEquals(tableId, actualRequest.getTableId()); Assert.assertEquals(table, actualRequest.getTable()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
/** * * * <pre> * The tables present in the requested instance. * </pre> * * <code>repeated .google.bigtable.admin.v2.Table tables = 1;</code> */ public Builder setTables( int index, com.google.bigtable.admin.v2.Table.Builder builderForValue) { if (tablesBuilder_ == null) { ensureTablesIsMutable(); tables_.set(index, builderForValue.build()); onChanged(); } else { tablesBuilder_.setMessage(index, builderForValue.build()); } return this; } /**
/** * * * <pre> * (`OutputOnly`) * The source table at the time the snapshot was taken. * </pre> * * <code>.google.bigtable.admin.v2.Table source_table = 2;</code> */ public Builder setSourceTable(com.google.bigtable.admin.v2.Table.Builder builderForValue) { if (sourceTableBuilder_ == null) { sourceTable_ = builderForValue.build(); onChanged(); } else { sourceTableBuilder_.setMessage(builderForValue.build()); } return this; } /**
/** * * * <pre> * The Table to create. * </pre> * * <code>.google.bigtable.admin.v2.Table table = 3;</code> */ public Builder setTable(com.google.bigtable.admin.v2.Table.Builder builderForValue) { if (tableBuilder_ == null) { table_ = builderForValue.build(); onChanged(); } else { tableBuilder_.setMessage(builderForValue.build()); } return this; } /**
@Test @SuppressWarnings("all") public void modifyColumnFamiliesTest() { TableName name2 = TableName.of("[PROJECT]", "[INSTANCE]", "[TABLE]"); Table expectedResponse = Table.newBuilder().setName(name2.toString()).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<GeneratedMessageV3> actualRequests = mockBigtableTableAdmin.getRequests(); Assert.assertEquals(1, actualRequests.size()); ModifyColumnFamiliesRequest actualRequest = (ModifyColumnFamiliesRequest) actualRequests.get(0); Assert.assertEquals(name, TableName.parse(actualRequest.getName())); Assert.assertEquals(modifications, actualRequest.getModificationsList()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
@Test @SuppressWarnings("all") public void getTableTest() { TableName name2 = TableName.of("[PROJECT]", "[INSTANCE]", "[TABLE]"); Table expectedResponse = Table.newBuilder().setName(name2.toString()).build(); mockBigtableTableAdmin.addResponse(expectedResponse); TableName name = TableName.of("[PROJECT]", "[INSTANCE]", "[TABLE]"); Table actualResponse = client.getTable(name); Assert.assertEquals(expectedResponse, actualResponse); List<GeneratedMessageV3> actualRequests = mockBigtableTableAdmin.getRequests(); Assert.assertEquals(1, actualRequests.size()); GetTableRequest actualRequest = (GetTableRequest) actualRequests.get(0); Assert.assertEquals(name, TableName.parse(actualRequest.getName())); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
@Test public void testCreateTable() { // Setup com.google.bigtable.admin.v2.CreateTableRequest expectedRequest = com.google.bigtable.admin.v2.CreateTableRequest.newBuilder() .setParent(INSTANCE_NAME) .setTableId(TABLE_ID) .setTable(com.google.bigtable.admin.v2.Table.getDefaultInstance()) .build(); com.google.bigtable.admin.v2.Table expectedResponse = com.google.bigtable.admin.v2.Table.newBuilder().setName(TABLE_NAME.toString()).build(); Mockito.when(mockCreateTableCallable.futureCall(expectedRequest)) .thenReturn(ApiFutures.immediateFuture(expectedResponse)); // Execute Table result = adminClient.createTable(CreateTableRequest.of(TABLE_ID)); // Verify assertThat(result).isEqualTo(Table.fromProto(expectedResponse)); }
@Test public void testGetTable() { // Setup GetTableRequest expectedRequest = GetTableRequest.newBuilder() .setName(TABLE_NAME.toString()) .setView(View.SCHEMA_VIEW) .build(); com.google.bigtable.admin.v2.Table expectedResponse = com.google.bigtable.admin.v2.Table.newBuilder().setName(TABLE_NAME.toString()).build(); Mockito.when(mockGetTableCallable.futureCall(expectedRequest)) .thenReturn(ApiFutures.immediateFuture(expectedResponse)); // Execute Table actualResult = adminClient.getTable(TABLE_ID); // Verify assertThat(actualResult).isEqualTo(Table.fromProto(expectedResponse)); }
@Test @SuppressWarnings("all") public void createTableExceptionTest() throws Exception { StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockBigtableTableAdmin.addException(exception); try { InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]"); String tableId = "tableId-895419604"; Table table = Table.newBuilder().build(); client.createTable(parent, tableId, table); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { // Expected exception } }
@Test public void testExistsTrue() { // Setup com.google.bigtable.admin.v2.Table expectedResponse = com.google.bigtable.admin.v2.Table.newBuilder().setName(TABLE_NAME.toString()).build(); Mockito.when(mockGetTableCallable.futureCall(Matchers.any(GetTableRequest.class))) .thenReturn(ApiFutures.immediateFuture(expectedResponse)); // Execute boolean found = adminClient.exists(TABLE_ID); // Verify assertThat(found).isTrue(); }