Skip to content

Commit 871cb82

Browse files
ci(spanner): Create a new Sample Slow tests (googleapis#3560)
* ci(spanner): Create a new Sample Slow tests * Fix delete backup issue in autogenerated admin client
1 parent 488aa8c commit 871cb82

File tree

4 files changed

+117
-25
lines changed

4 files changed

+117
-25
lines changed

.kokoro/build.sh

+7-1
Original file line numberDiff line numberDiff line change
@@ -206,12 +206,17 @@ slowtests)
206206
verify
207207
RETURN_CODE=$?
208208
;;
209-
samples)
209+
samples|samples-slow-tests)
210210
SAMPLES_DIR=samples
211+
PROFILES=''
211212
# only run ITs in snapshot/ on presubmit PRs. run ITs in all 3 samples/ subdirectories otherwise.
212213
if [[ ! -z ${KOKORO_GITHUB_PULL_REQUEST_NUMBER} ]]
213214
then
214215
SAMPLES_DIR=samples/snapshot
216+
elif [[ ${JOB_TYPE} = 'samples-slow-tests' ]]
217+
then
218+
SAMPLES_DIR=samples/snippets
219+
PROFILES='-Pslow-tests,!integration-tests'
215220
fi
216221

217222
if [[ -f ${SAMPLES_DIR}/pom.xml ]]
@@ -227,6 +232,7 @@ samples)
227232
-DtrimStackTrace=false \
228233
-Dclirr.skip=true \
229234
-Denforcer.skip=true \
235+
${PROFILES} \
230236
-fae \
231237
verify
232238
RETURN_CODE=$?
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Format: //devtools/kokoro/config/proto/build.proto
2+
3+
# Configure the docker image for kokoro-trampoline.
4+
env_vars: {
5+
key: "TRAMPOLINE_IMAGE"
6+
value: "gcr.io/cloud-devrel-kokoro-resources/java11"
7+
}
8+
9+
env_vars: {
10+
key: "JOB_TYPE"
11+
value: "samples-slow-tests"
12+
}
13+
14+
# TODO: remove this after we've migrated all tests and scripts
15+
env_vars: {
16+
key: "GCLOUD_PROJECT"
17+
value: "gcloud-devel"
18+
}
19+
20+
env_vars: {
21+
key: "GOOGLE_CLOUD_PROJECT"
22+
value: "gcloud-devel"
23+
}
24+
25+
env_vars: {
26+
key: "GOOGLE_APPLICATION_CREDENTIALS"
27+
value: "secret_manager/java-it-service-account"
28+
}
29+
30+
env_vars: {
31+
key: "SECRET_MANAGER_KEYS"
32+
value: "java-it-service-account"
33+
}
34+
35+
env_vars: {
36+
key: "ENABLE_BUILD_COP"
37+
value: "true"
38+
}
39+

samples/snippets/pom.xml

+63-22
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,69 @@
115115
<scope>test</scope>
116116
</dependency>
117117
</dependencies>
118+
<profiles>
119+
<profile>
120+
<id>integration-tests</id>
121+
<activation>
122+
<activeByDefault>true</activeByDefault>
123+
</activation>
124+
<build>
125+
<plugins>
126+
<plugin>
127+
<groupId>org.apache.maven.plugins</groupId>
128+
<artifactId>maven-failsafe-plugin</artifactId>
129+
<version>3.5.2</version>
130+
<configuration>
131+
<forkCount>10</forkCount>
132+
<reuseForks>false</reuseForks>
133+
<systemPropertyVariables>
134+
<spanner.test.instance>java-sample-integration-tests</spanner.test.instance>
135+
<spanner.test.instance.mr>java-client-mr-integration-tests</spanner.test.instance.mr>
136+
<spanner.test.instance.config>nam11</spanner.test.instance.config>
137+
<spanner.test.key.location>us-east1</spanner.test.key.location>
138+
<spanner.test.key.ring>cmek-test-key-ring</spanner.test.key.ring>
139+
<spanner.test.key.name>cmek-test-key</spanner.test.key.name>
140+
<spanner.sample.database>mysample</spanner.sample.database>
141+
<spanner.quickstart.database>quick-db</spanner.quickstart.database>
142+
</systemPropertyVariables>
143+
<excludes>
144+
<exclude>**/SpannerSampleIT.java</exclude>
145+
</excludes>
146+
</configuration>
147+
</plugin>
148+
</plugins>
149+
</build>
150+
</profile>
151+
<profile>
152+
<id>slow-tests</id>
153+
<build>
154+
<plugins>
155+
<plugin>
156+
<groupId>org.apache.maven.plugins</groupId>
157+
<artifactId>maven-failsafe-plugin</artifactId>
158+
<version>3.5.2</version>
159+
<configuration>
160+
<forkCount>10</forkCount>
161+
<reuseForks>false</reuseForks>
162+
<systemPropertyVariables>
163+
<spanner.test.instance>java-sample-integration-tests</spanner.test.instance>
164+
<spanner.test.instance.mr>java-client-mr-integration-tests</spanner.test.instance.mr>
165+
<spanner.test.instance.config>nam11</spanner.test.instance.config>
166+
<spanner.test.key.location>us-east1</spanner.test.key.location>
167+
<spanner.test.key.ring>cmek-test-key-ring</spanner.test.key.ring>
168+
<spanner.test.key.name>cmek-test-key</spanner.test.key.name>
169+
<spanner.sample.database>mysample</spanner.sample.database>
170+
<spanner.quickstart.database>quick-db</spanner.quickstart.database>
171+
</systemPropertyVariables>
172+
<includes>
173+
<include>**/SpannerSampleIT.java</include>
174+
</includes>
175+
</configuration>
176+
</plugin>
177+
</plugins>
178+
</build>
179+
</profile>
180+
</profiles>
118181
<build>
119182
<plugins>
120183
<plugin>
@@ -172,28 +235,6 @@
172235
</archive>
173236
</configuration>
174237
</plugin>
175-
<plugin>
176-
<groupId>org.apache.maven.plugins</groupId>
177-
<artifactId>maven-failsafe-plugin</artifactId>
178-
<version>3.5.2</version>
179-
<configuration>
180-
<forkCount>10</forkCount>
181-
<reuseForks>false</reuseForks>
182-
<systemPropertyVariables>
183-
<spanner.test.instance>java-sample-integration-tests</spanner.test.instance>
184-
<spanner.test.instance.mr>java-client-mr-integration-tests</spanner.test.instance.mr>
185-
<spanner.test.instance.config>nam11</spanner.test.instance.config>
186-
<spanner.test.key.location>us-east1</spanner.test.key.location>
187-
<spanner.test.key.ring>cmek-test-key-ring</spanner.test.key.ring>
188-
<spanner.test.key.name>cmek-test-key</spanner.test.key.name>
189-
<spanner.sample.database>mysample</spanner.sample.database>
190-
<spanner.quickstart.database>quick-db</spanner.quickstart.database>
191-
</systemPropertyVariables>
192-
<excludes>
193-
<exclude>**/SpannerSampleIT.java</exclude>
194-
</excludes>
195-
</configuration>
196-
</plugin>
197238
<plugin>
198239
<groupId>org.apache.maven.plugins</groupId>
199240
<artifactId>maven-checkstyle-plugin</artifactId>

samples/snippets/src/test/java/com/example/spanner/SpannerSampleIT.java

+8-2
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import static com.google.common.truth.Truth.assertThat;
2020
import static org.junit.Assert.assertTrue;
2121

22+
import com.google.api.gax.rpc.FailedPreconditionException;
2223
import com.google.cloud.Timestamp;
2324
import com.google.cloud.spanner.DatabaseId;
2425
import com.google.cloud.spanner.ErrorCode;
@@ -643,8 +644,13 @@ private static void deleteAllBackups(String instanceId) throws InterruptedExcept
643644
attempts++;
644645
databaseAdminClient.deleteBackup(backup.getName());
645646
break;
646-
} catch (SpannerException e) {
647-
if (e.getErrorCode() == ErrorCode.FAILED_PRECONDITION
647+
} catch (SpannerException | FailedPreconditionException e) {
648+
ErrorCode errorCode = ErrorCode.FAILED_PRECONDITION;
649+
650+
if (e instanceof SpannerException) {
651+
errorCode = ((SpannerException) e).getErrorCode();
652+
}
653+
if (errorCode == ErrorCode.FAILED_PRECONDITION
648654
&& e.getMessage()
649655
.contains(
650656
"Please try deleting the backup once the restore or post-restore optimize "

0 commit comments

Comments
 (0)