diff --git a/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableInstanceAdminSettings.java b/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableInstanceAdminSettings.java index 2c84d6583fd1..5fb0d294488d 100644 --- a/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableInstanceAdminSettings.java +++ b/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableInstanceAdminSettings.java @@ -15,6 +15,7 @@ */ package com.google.cloud.bigtable.admin.v2; +import com.google.api.gax.core.CredentialsProvider; import com.google.cloud.bigtable.admin.v2.stub.BigtableInstanceAdminStubSettings; import com.google.common.base.Preconditions; import com.google.common.base.Verify; @@ -60,6 +61,11 @@ public String getProjectId() { return projectId; } + /** Gets the CredentialsProvider to use for getting the credentials to make calls with. */ + public CredentialsProvider getCredentialsProvider() { + return stubSettings.getCredentialsProvider(); + } + /** Gets the underlying RPC settings. */ @Nonnull public BigtableInstanceAdminStubSettings getStubSettings() { @@ -103,6 +109,18 @@ public String getProjectId() { return projectId; } + /** Sets the CredentialsProvider to use for getting the credentials to make calls with. */ + public Builder setCredentialsProvider(CredentialsProvider credentialsProvider) { + stubSettings.setCredentialsProvider(credentialsProvider); + + return this; + } + + /** Gets the CredentialsProvider to use for getting the credentials to make calls with. */ + public CredentialsProvider getCredentialsProvider() { + return stubSettings.getCredentialsProvider(); + } + /** * Returns the builder for the settings used for all RPCs. * diff --git a/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminSettings.java b/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminSettings.java index d6e61d7a5d80..a336a3c5d41a 100644 --- a/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminSettings.java +++ b/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminSettings.java @@ -16,6 +16,7 @@ package com.google.cloud.bigtable.admin.v2; import com.google.api.core.ApiFunction; +import com.google.api.gax.core.CredentialsProvider; import com.google.api.gax.core.NoCredentialsProvider; import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; import com.google.cloud.bigtable.admin.v2.stub.BigtableTableAdminStubSettings; @@ -68,6 +69,11 @@ public String getInstanceId() { return instanceId; } + /** Gets the CredentialsProvider to use for getting the credentials to make calls with. */ + public CredentialsProvider getCredentialsProvider() { + return stubSettings.getCredentialsProvider(); + } + /** Gets the underlying RPC settings. */ public BigtableTableAdminStubSettings getStubSettings() { return stubSettings; @@ -148,6 +154,17 @@ public String getInstanceId() { return instanceId; } + /** Sets the CredentialsProvider to use for getting the credentials to make calls with. */ + public Builder setCredentialsProvider(CredentialsProvider credentialsProvider) { + stubSettings.setCredentialsProvider(credentialsProvider); + return this; + } + + /** Gets the CredentialsProvider to use for getting the credentials to make calls with. */ + public CredentialsProvider getCredentialsProvider() { + return stubSettings.getCredentialsProvider(); + } + /** * Returns the builder for the settings used for all RPCs. * diff --git a/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BigtableInstanceAdminSettingsTest.java b/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BigtableInstanceAdminSettingsTest.java index 1567b4323a85..4b967ec796b0 100644 --- a/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BigtableInstanceAdminSettingsTest.java +++ b/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BigtableInstanceAdminSettingsTest.java @@ -17,16 +17,18 @@ import static com.google.common.truth.Truth.assertThat; +import com.google.api.gax.core.CredentialsProvider; import com.google.api.gax.rpc.StatusCode.Code; -import com.google.cloud.bigtable.admin.v2.BigtableInstanceAdminSettings.Builder; import java.io.IOException; import org.junit.Test; +import org.mockito.Mockito; public class BigtableInstanceAdminSettingsTest { @Test public void testProjectName() throws Exception { String projectId = "my-project"; - Builder builder = BigtableInstanceAdminSettings.newBuilder().setProjectId(projectId); + BigtableInstanceAdminSettings.Builder builder = + BigtableInstanceAdminSettings.newBuilder().setProjectId(projectId); assertThat(builder.getProjectId()).isEqualTo(projectId); assertThat(builder.build().getProjectId()).isEqualTo(projectId); @@ -37,7 +39,8 @@ public void testProjectName() throws Exception { public void testMissingProjectName() { Exception actualException = null; - Builder settingsBuilder = BigtableInstanceAdminSettings.newBuilder(); + BigtableInstanceAdminSettings.Builder settingsBuilder = + BigtableInstanceAdminSettings.newBuilder(); assertThat(settingsBuilder.getProjectId()).isNull(); try { @@ -49,6 +52,22 @@ public void testMissingProjectName() { assertThat(actualException).isInstanceOf(NullPointerException.class); } + @Test + public void testCredentials() throws IOException { + CredentialsProvider credentialsProvider = Mockito.mock(CredentialsProvider.class); + + BigtableInstanceAdminSettings settings = + BigtableInstanceAdminSettings.newBuilder() + .setProjectId("my-project") + .setCredentialsProvider(credentialsProvider) + .build(); + + assertThat(settings.getCredentialsProvider()).isSameAs(credentialsProvider); + assertThat(settings.getStubSettings().getCredentialsProvider()).isSameAs(credentialsProvider); + assertThat(settings.toBuilder().getCredentialsProvider()).isSameAs(credentialsProvider); + assertThat(settings.toBuilder().build().getCredentialsProvider()).isSameAs(credentialsProvider); + } + @Test public void testStubSettings() throws IOException { String projectId = "my-project"; diff --git a/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminSettingsTest.java b/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminSettingsTest.java index 116504c8cd6a..1967f9a90d3c 100644 --- a/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminSettingsTest.java +++ b/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminSettingsTest.java @@ -17,9 +17,11 @@ import static com.google.common.truth.Truth.assertThat; +import com.google.api.gax.core.CredentialsProvider; import com.google.api.gax.rpc.StatusCode.Code; import java.io.IOException; import org.junit.Test; +import org.mockito.Mockito; public class BigtableTableAdminSettingsTest { @@ -51,6 +53,23 @@ public void testMissingInstanceName() { assertThat(actualException).isInstanceOf(NullPointerException.class); } + @Test + public void testCredentials() throws IOException { + CredentialsProvider credentialsProvider = Mockito.mock(CredentialsProvider.class); + + BigtableTableAdminSettings settings = + BigtableTableAdminSettings.newBuilder() + .setProjectId("my-project") + .setInstanceId("my-instance") + .setCredentialsProvider(credentialsProvider) + .build(); + + assertThat(settings.getCredentialsProvider()).isSameAs(credentialsProvider); + assertThat(settings.getStubSettings().getCredentialsProvider()).isSameAs(credentialsProvider); + assertThat(settings.toBuilder().getCredentialsProvider()).isSameAs(credentialsProvider); + assertThat(settings.toBuilder().build().getCredentialsProvider()).isSameAs(credentialsProvider); + } + @Test public void testStubSettings() throws IOException { BigtableTableAdminSettings.Builder builder =