Skip to content

Commit 5cebcb4

Browse files
test: fix tests failing because of Editions (#3377)
* test: fix tests failing because of Editions * chore: generate libraries at Thu Oct 3 05:32:52 UTC 2024 --------- Co-authored-by: cloud-java-bot <[email protected]>
1 parent 39c23a9 commit 5cebcb4

File tree

4 files changed

+54
-32
lines changed

4 files changed

+54
-32
lines changed

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

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import com.google.common.collect.ImmutableMap;
2525
import com.google.protobuf.FieldMask;
2626
import com.google.spanner.admin.instance.v1.AutoscalingConfig;
27+
import com.google.spanner.admin.instance.v1.Instance.Edition;
2728
import java.util.HashMap;
2829
import java.util.Map;
2930
import java.util.Objects;
@@ -37,6 +38,7 @@ public enum InstanceField implements FieldSelector {
3738
NODE_COUNT("node_count"),
3839
PROCESSING_UNITS("processing_units"),
3940
AUTOSCALING_CONFIG("autoscaling_config"),
41+
EDITION("edition"),
4042
LABELS("labels");
4143

4244
static InstanceField[] defaultFieldsToUpdate(InstanceInfo info) {
@@ -116,6 +118,10 @@ public Builder setAutoscalingConfig(AutoscalingConfig autoscalingConfig) {
116118
throw new UnsupportedOperationException("Unimplemented");
117119
}
118120

121+
public Builder setEdition(Edition edition) {
122+
throw new UnsupportedOperationException("Unimplemented");
123+
}
124+
119125
public abstract Builder setState(State state);
120126

121127
public abstract Builder addLabel(String key, String value);
@@ -132,6 +138,7 @@ static class BuilderImpl extends Builder {
132138
private int nodeCount;
133139
private int processingUnits;
134140
private AutoscalingConfig autoscalingConfig;
141+
private Edition edition;
135142
private State state;
136143
private Map<String, String> labels;
137144
private Timestamp updateTime;
@@ -153,6 +160,7 @@ static class BuilderImpl extends Builder {
153160
this.labels = new HashMap<>(instance.labels);
154161
this.updateTime = instance.updateTime;
155162
this.createTime = instance.createTime;
163+
this.edition = instance.edition;
156164
}
157165

158166
@Override
@@ -197,6 +205,12 @@ public BuilderImpl setAutoscalingConfig(AutoscalingConfig autoscalingConfig) {
197205
return this;
198206
}
199207

208+
@Override
209+
public BuilderImpl setEdition(Edition edition) {
210+
this.edition = edition;
211+
return this;
212+
}
213+
200214
@Override
201215
public BuilderImpl setState(State state) {
202216
this.state = state;
@@ -227,6 +241,7 @@ public InstanceInfo build() {
227241
private final int nodeCount;
228242
private final int processingUnits;
229243
private final AutoscalingConfig autoscalingConfig;
244+
private final Edition edition;
230245
private final State state;
231246
private final ImmutableMap<String, String> labels;
232247
private final Timestamp updateTime;
@@ -239,6 +254,7 @@ public InstanceInfo build() {
239254
this.nodeCount = builder.nodeCount;
240255
this.processingUnits = builder.processingUnits;
241256
this.autoscalingConfig = builder.autoscalingConfig;
257+
this.edition = builder.edition;
242258
this.state = builder.state;
243259
this.labels = ImmutableMap.copyOf(builder.labels);
244260
this.updateTime = builder.updateTime;
@@ -283,6 +299,10 @@ public AutoscalingConfig getAutoscalingConfig() {
283299
return autoscalingConfig;
284300
}
285301

302+
public Edition getEdition() {
303+
return edition;
304+
}
305+
286306
/** Returns the current state of the instance. */
287307
public State getState() {
288308
return state;
@@ -306,6 +326,7 @@ public String toString() {
306326
.add("nodeCount", nodeCount)
307327
.add("processingUnits", processingUnits)
308328
.add("autoscaling_config", autoscalingConfig)
329+
.add("edition", edition)
309330
.add("state", state)
310331
.add("labels", labels)
311332
.add("createTime", createTime)
@@ -328,6 +349,7 @@ public boolean equals(Object o) {
328349
&& nodeCount == that.nodeCount
329350
&& processingUnits == that.processingUnits
330351
&& Objects.equals(autoscalingConfig, that.autoscalingConfig)
352+
&& edition == that.edition
331353
&& state == that.state
332354
&& Objects.equals(labels, that.labels)
333355
&& Objects.equals(updateTime, that.updateTime)
@@ -343,6 +365,7 @@ public int hashCode() {
343365
nodeCount,
344366
processingUnits,
345367
autoscalingConfig,
368+
edition,
346369
state,
347370
labels,
348371
updateTime,
@@ -365,6 +388,9 @@ com.google.spanner.admin.instance.v1.Instance toProto() {
365388
if (getAutoscalingConfig() != null) {
366389
builder.setAutoscalingConfig(getAutoscalingConfig());
367390
}
391+
if (getEdition() != null) {
392+
builder.setEdition(getEdition());
393+
}
368394
return builder.build();
369395
}
370396

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,12 +280,17 @@ public void createInstance() throws Exception {
280280
when(rpc.createInstance(
281281
"projects/" + PROJECT_ID,
282282
INSTANCE_ID,
283-
getInstanceProto().toBuilder().setProcessingUnits(0).build()))
283+
getInstanceProto()
284+
.toBuilder()
285+
.setProcessingUnits(0)
286+
.setEdition(com.google.spanner.admin.instance.v1.Instance.Edition.ENTERPRISE_PLUS)
287+
.build()))
284288
.thenReturn(rawOperationFuture);
285289
OperationFuture<Instance, CreateInstanceMetadata> op =
286290
client.createInstance(
287291
InstanceInfo.newBuilder(InstanceId.of(PROJECT_ID, INSTANCE_ID))
288292
.setInstanceConfigId(InstanceConfigId.of(PROJECT_ID, CONFIG_ID))
293+
.setEdition(com.google.spanner.admin.instance.v1.Instance.Edition.ENTERPRISE_PLUS)
289294
.setNodeCount(1)
290295
.build());
291296
assertThat(op.isDone()).isTrue();

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ private void initializeInstance(InstanceId instanceId) throws Exception {
160160
InstanceInfo.newBuilder(instanceId)
161161
.setNodeCount(1)
162162
.setDisplayName("Test instance")
163+
.setEdition(com.google.spanner.admin.instance.v1.Instance.Edition.ENTERPRISE_PLUS)
163164
.setInstanceConfigId(configId)
164165
.build();
165166
OperationFuture<Instance, CreateInstanceMetadata> op =

google-cloud-spanner/src/test/java/com/google/cloud/spanner/it/ITInstanceAdminTest.java

Lines changed: 21 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -145,37 +145,27 @@ public void updateInstanceWithAutoscalingConfig() throws Exception {
145145
.setNodeCount(0)
146146
.setAutoscalingConfig(autoscalingConfig)
147147
.build();
148-
try {
149-
OperationFuture<Instance, UpdateInstanceMetadata> op =
150-
instanceClient.updateInstance(toUpdate, InstanceInfo.InstanceField.AUTOSCALING_CONFIG);
151-
Instance newInstance = op.get();
152-
assertThat(newInstance.getAutoscalingConfig()).isEqualTo(autoscalingConfig);
153-
154-
Instance newInstanceFromGet =
155-
instanceClient.getInstance(env.getTestHelper().getInstanceId().getInstance());
156-
assertThat(newInstanceFromGet).isEqualTo(newInstance);
157-
158-
// Revert back to the instance original state.
159-
toUpdate =
160-
InstanceInfo.newBuilder(instance.getId())
161-
.setAutoscalingConfig(null)
162-
.setNodeCount(instance.getNodeCount())
163-
.build();
164-
instanceClient
165-
.updateInstance(
166-
toUpdate,
167-
InstanceInfo.InstanceField.AUTOSCALING_CONFIG,
168-
InstanceInfo.InstanceField.NODE_COUNT)
169-
.get();
170-
} catch (Exception exception) {
171-
// TODO: Remove once the client lib supports creating instances with an Edition.
172-
if (!exception
173-
.getMessage()
174-
.contains("The minimum required Edition for this feature is ENTERPRISE.")) {
175-
throw exception;
176-
}
177-
// ignore this error for now.
178-
}
148+
OperationFuture<Instance, UpdateInstanceMetadata> op =
149+
instanceClient.updateInstance(toUpdate, InstanceInfo.InstanceField.AUTOSCALING_CONFIG);
150+
Instance newInstance = op.get();
151+
assertThat(newInstance.getAutoscalingConfig()).isEqualTo(autoscalingConfig);
152+
153+
Instance newInstanceFromGet =
154+
instanceClient.getInstance(env.getTestHelper().getInstanceId().getInstance());
155+
assertThat(newInstanceFromGet).isEqualTo(newInstance);
156+
157+
// Revert back to the instance original state.
158+
toUpdate =
159+
InstanceInfo.newBuilder(instance.getId())
160+
.setAutoscalingConfig(null)
161+
.setNodeCount(instance.getNodeCount())
162+
.build();
163+
instanceClient
164+
.updateInstance(
165+
toUpdate,
166+
InstanceInfo.InstanceField.AUTOSCALING_CONFIG,
167+
InstanceInfo.InstanceField.NODE_COUNT)
168+
.get();
179169
}
180170

181171
@Test

0 commit comments

Comments
 (0)