Skip to content

Commit 1c1756f

Browse files
cloud-java-botsakthivelmanii
authored andcommitted
Fix test cases
1 parent 3656932 commit 1c1756f

File tree

6 files changed

+50
-14
lines changed

6 files changed

+50
-14
lines changed

google-cloud-spanner/src/main/java/com/google/cloud/spanner/SpannerCloudMonitoringExporter.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ static SpannerCloudMonitoringExporter create(
8888
if (monitoringHost != null) {
8989
settingsBuilder.setEndpoint(monitoringHost);
9090
}
91-
if (Strings.isNullOrEmpty(universeDomain)) {
91+
if (!Strings.isNullOrEmpty(universeDomain)) {
9292
settingsBuilder.setUniverseDomain(universeDomain);
9393
}
9494

@@ -117,6 +117,11 @@ public CompletableResultCode export(@Nonnull Collection<MetricData> collection)
117117
return exportSpannerClientMetrics(collection);
118118
}
119119

120+
@VisibleForTesting
121+
MetricServiceClient getMetricServiceClient() {
122+
return client;
123+
}
124+
120125
/** Export client built in metrics */
121126
private CompletableResultCode exportSpannerClientMetrics(Collection<MetricData> collection) {
122127
// Filter spanner metrics. Only include metrics that contain a valid project.

google-cloud-spanner/src/main/java/com/google/cloud/spanner/SpannerOptions.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -887,7 +887,9 @@ default boolean isEnableEndToEndTracing() {
887887
}
888888

889889
@Deprecated
890-
@ObsoleteApi("This will be removed in upcoming version without breaking change release. You should use universalDomain to configure the built-in metrics endpoint for a partner universe.")
890+
@ObsoleteApi(
891+
"This will be removed in an upcoming version without a major version bump. You should use"
892+
+ " universalDomain to configure the built-in metrics endpoint for a partner universe.")
891893
default String getMonitoringHost() {
892894
return null;
893895
}
@@ -1683,7 +1685,9 @@ public Builder setBuiltInMetricsEnabled(boolean enableBuiltInMetrics) {
16831685

16841686
/** Sets the monitoring host to be used for Built-in client side metrics */
16851687
@Deprecated
1686-
@ObsoleteApi("This will be removed in upcoming version without breaking change release. You should use universalDomain to configure the built-in metrics endpoint for a partner universe.")
1688+
@ObsoleteApi(
1689+
"This will be removed in an upcoming version without a major version bump. You should use"
1690+
+ " universalDomain to configure the built-in metrics endpoint for a partner universe.")
16871691
public Builder setMonitoringHost(String monitoringHost) {
16881692
this.monitoringHost = monitoringHost;
16891693
return this;

google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ConnectionOptions.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@
7777
import com.google.cloud.spanner.SpannerOptions;
7878
import com.google.cloud.spanner.connection.StatementExecutor.StatementExecutorType;
7979
import com.google.common.annotations.VisibleForTesting;
80+
import com.google.common.base.MoreObjects;
8081
import com.google.common.base.Preconditions;
8182
import com.google.common.base.Strings;
8283
import com.google.common.base.Suppliers;
@@ -970,7 +971,7 @@ public TransportChannelProvider getChannelProvider() {
970971
return null;
971972
}
972973
try {
973-
URL url = new URL(host);
974+
URL url = new URL(MoreObjects.firstNonNull(host, DEFAULT_HOST));
974975
ExternalChannelProvider provider =
975976
ExternalChannelProvider.class.cast(Class.forName(channelProvider).newInstance());
976977
return provider.getChannelProvider(url.getHost(), url.getPort());

google-cloud-spanner/src/test/java/com/google/cloud/spanner/SpannerCloudMonitoringExporterTest.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import static com.google.cloud.spanner.BuiltInMetricsConstant.OPERATION_LATENCIES_NAME;
3131
import static com.google.cloud.spanner.BuiltInMetricsConstant.PROJECT_ID_KEY;
3232
import static com.google.common.truth.Truth.assertThat;
33+
import static org.junit.Assert.assertEquals;
3334
import static org.junit.Assert.assertFalse;
3435
import static org.mockito.Mockito.mock;
3536
import static org.mockito.Mockito.when;
@@ -39,6 +40,7 @@
3940
import com.google.api.core.ApiFutures;
4041
import com.google.api.gax.rpc.UnaryCallable;
4142
import com.google.cloud.monitoring.v3.MetricServiceClient;
43+
import com.google.cloud.monitoring.v3.MetricServiceSettings;
4244
import com.google.cloud.monitoring.v3.stub.MetricServiceStub;
4345
import com.google.common.collect.ImmutableList;
4446
import com.google.monitoring.v3.CreateTimeSeriesRequest;
@@ -459,6 +461,25 @@ public void getAggregationTemporality() throws IOException {
459461
.isEqualTo(AggregationTemporality.CUMULATIVE);
460462
}
461463

464+
@Test
465+
public void testUniverseDomain() throws IOException {
466+
SpannerCloudMonitoringExporter actualExporter =
467+
SpannerCloudMonitoringExporter.create(projectId, null, null, "abc.goog");
468+
MetricServiceSettings metricServiceSettings =
469+
actualExporter.getMetricServiceClient().getSettings();
470+
471+
assertEquals("abc.goog", metricServiceSettings.getUniverseDomain());
472+
assertEquals("monitoring.abc.goog:443", metricServiceSettings.getEndpoint());
473+
474+
actualExporter =
475+
SpannerCloudMonitoringExporter.create(
476+
projectId, null, "monitoringa.abc.goog:443", "abc.goog");
477+
metricServiceSettings = actualExporter.getMetricServiceClient().getSettings();
478+
479+
assertEquals("abc.goog", metricServiceSettings.getUniverseDomain());
480+
assertEquals("monitoringa.abc.goog:443", metricServiceSettings.getEndpoint());
481+
}
482+
462483
private static class FakeMetricServiceClient extends MetricServiceClient {
463484

464485
protected FakeMetricServiceClient(MetricServiceStub stub) {

google-cloud-spanner/src/test/java/com/google/cloud/spanner/SpannerOptionsTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -761,11 +761,11 @@ public void testMonitoringHost() {
761761
String metricsEndpoint = "test-endpoint:443";
762762
assertNull(SpannerOptions.newBuilder().setProjectId("p").build().getMonitoringHost());
763763
assertThat(
764-
SpannerOptions.newBuilder()
765-
.setProjectId("p")
766-
.setMonitoringHost(metricsEndpoint)
767-
.build()
768-
.getMonitoringHost())
764+
SpannerOptions.newBuilder()
765+
.setProjectId("p")
766+
.setMonitoringHost(metricsEndpoint)
767+
.build()
768+
.getMonitoringHost())
769769
.isEqualTo(metricsEndpoint);
770770
}
771771

google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/ConnectionOptionsTest.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
public class ConnectionOptionsTest {
6161
private static final String FILE_TEST_PATH =
6262
Objects.requireNonNull(ConnectionOptionsTest.class.getResource("test-key.json")).getFile();
63-
private static final String DEFAULT_HOST = "https://spanner.googleapis.com";
63+
private static final String DEFAULT_HOST = null;
6464
private static final String TEST_PROJECT = "test-project-123";
6565
private static final String TEST_INSTANCE = "test-instance-123";
6666
private static final String TEST_DATABASE = "test-database-123";
@@ -1341,7 +1341,8 @@ public void testUniverseDomain() {
13411341
AtomicBoolean executedConfigurator = new AtomicBoolean(false);
13421342
ConnectionOptions optionsWithNoUniverseDomainParam =
13431343
ConnectionOptions.newBuilder()
1344-
.setUri("cloudspanner:/projects/default/instances/default/databases/singers-db")
1344+
.setUri(
1345+
"cloudspanner:/projects/default/instances/default/databases/singers-db?usePlainText=true")
13451346
.setConfigurator(
13461347
optionsBuilder -> {
13471348
executedConfigurator.set(true);
@@ -1352,14 +1353,15 @@ public void testUniverseDomain() {
13521353
.build();
13531354
Spanner spanner = SpannerPool.INSTANCE.getSpanner(optionsWithNoUniverseDomainParam, connection);
13541355
spanner.close();
1356+
SpannerPool.INSTANCE.removeConnection(optionsWithNoUniverseDomainParam, connection);
13551357
assertTrue(executedConfigurator.get());
13561358

13571359
// only configuring universal domain
13581360
executedConfigurator.set(false);
13591361
ConnectionOptions optionsWithUniverseDomainParam =
13601362
ConnectionOptions.newBuilder()
13611363
.setUri(
1362-
"cloudspanner:/projects/default/instances/default/databases/singers-db;universeDomain=abc.goog")
1364+
"cloudspanner:/projects/default/instances/default/databases/singers-db;universeDomain=abc.goog;usePlainText=true")
13631365
.setConfigurator(
13641366
optionsBuilder -> {
13651367
executedConfigurator.set(true);
@@ -1370,24 +1372,26 @@ public void testUniverseDomain() {
13701372
.build();
13711373
spanner = SpannerPool.INSTANCE.getSpanner(optionsWithUniverseDomainParam, connection);
13721374
spanner.close();
1375+
SpannerPool.INSTANCE.removeConnection(optionsWithUniverseDomainParam, connection);
13731376
assertTrue(executedConfigurator.get());
13741377

13751378
// configuring both universal domain and host
13761379
executedConfigurator.set(false);
13771380
ConnectionOptions optionsWithHostAndUniverseDomainParam =
13781381
ConnectionOptions.newBuilder()
13791382
.setUri(
1380-
"cloudspanner://spanner.abc.goog/projects/default/instances/default/databases/singers-db;universeDomain=abc.goog")
1383+
"cloudspanner://spanner.abc.goog/projects/default/instances/default/databases/singers-db;universeDomain=abc.goog;usePlainText=true")
13811384
.setConfigurator(
13821385
optionsBuilder -> {
13831386
executedConfigurator.set(true);
13841387
SpannerOptions spannerOptions = optionsBuilder.build();
13851388
assertEquals("abc.goog", spannerOptions.getUniverseDomain());
1386-
assertEquals("https://spanner.abc.goog", spannerOptions.getHost());
1389+
assertEquals("http://spanner.abc.goog", spannerOptions.getHost());
13871390
})
13881391
.build();
13891392
spanner = SpannerPool.INSTANCE.getSpanner(optionsWithHostAndUniverseDomainParam, connection);
13901393
spanner.close();
1394+
SpannerPool.INSTANCE.removeConnection(optionsWithHostAndUniverseDomainParam, connection);
13911395
assertTrue(executedConfigurator.get());
13921396

13931397
// configuring both universal domain and host(localhost)
@@ -1407,6 +1411,7 @@ public void testUniverseDomain() {
14071411
spanner =
14081412
SpannerPool.INSTANCE.getSpanner(optionsWithLocalHostAndUniverseDomainParam, connection);
14091413
spanner.close();
1414+
SpannerPool.INSTANCE.removeConnection(optionsWithLocalHostAndUniverseDomainParam, connection);
14101415
assertTrue(executedConfigurator.get());
14111416

14121417
connection.close();

0 commit comments

Comments
 (0)