Skip to content

Commit b10ffc3

Browse files
author
Jerjou Cheng
committed
Confine selenium tests to a profile.
1 parent 1e562b4 commit b10ffc3

4 files changed

Lines changed: 118 additions & 72 deletions

File tree

bookshelf-standard/pom.xml

Lines changed: 36 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -34,32 +34,42 @@ Copyright 2016 Google Inc.
3434
<appengine-maven.version>1.9.48</appengine-maven.version>
3535
</properties>
3636

37-
<build>
38-
<plugins>
39-
<!-- Integration tests need the servlet up to work -->
40-
<plugin>
41-
<groupId>com.google.appengine</groupId>
42-
<artifactId>appengine-maven-plugin</artifactId>
43-
<version>${appengine-maven.version}</version>
44-
<executions>
45-
<execution>
46-
<id>start-gae</id>
47-
<phase>pre-integration-test</phase>
48-
<goals>
49-
<goal>devserver_start</goal>
50-
</goals>
51-
</execution>
52-
<execution>
53-
<id>stop-gae</id>
54-
<phase>post-integration-test</phase>
55-
<goals>
56-
<goal>devserver_stop</goal>
57-
</goals>
58-
</execution>
59-
</executions>
60-
</plugin>
61-
</plugins>
62-
</build>
37+
<profiles>
38+
<profile>
39+
<id>selenium</id>
40+
<properties>
41+
<callback.method>http</callback.method> <!-- "http" for local, "https" for the cloud -->
42+
<callback.host>localhost:8080</callback.host> <!-- Typically projectname.appspot.com -->
43+
<bookshelf.callback>http://localhost:8080/oauth2callback</bookshelf.callback>
44+
</properties>
45+
<build>
46+
<plugins>
47+
<!-- Integration tests need the servlet up to work -->
48+
<plugin>
49+
<groupId>com.google.appengine</groupId>
50+
<artifactId>appengine-maven-plugin</artifactId>
51+
<version>${appengine-maven.version}</version>
52+
<executions>
53+
<execution>
54+
<id>start-gae</id>
55+
<phase>pre-integration-test</phase>
56+
<goals>
57+
<goal>devserver_start</goal>
58+
</goals>
59+
</execution>
60+
<execution>
61+
<id>stop-gae</id>
62+
<phase>post-integration-test</phase>
63+
<goals>
64+
<goal>devserver_stop</goal>
65+
</goals>
66+
</execution>
67+
</executions>
68+
</plugin>
69+
</plugins>
70+
</build>
71+
</profile>
72+
</profiles>
6373

6474
<dependencyManagement>
6575
<dependencies>

bookshelf/pom.xml

Lines changed: 41 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -34,37 +34,47 @@ Copyright 2016 Google Inc.
3434
<jetty.maven.plugin>9.3.8.v20160314</jetty.maven.plugin>
3535
</properties>
3636

37-
<build>
38-
<plugins>
39-
<!-- Integration tests need the servlet up to work -->
40-
<plugin>
41-
<groupId>org.eclipse.jetty</groupId>
42-
<artifactId>jetty-maven-plugin</artifactId>
43-
<version>${jetty.maven.plugin}</version>
44-
<configuration>
45-
<stopKey>stopPlzKThxBai</stopKey>
46-
<stopPort>9283</stopPort>
47-
<stopWait>60</stopWait>
48-
</configuration>
49-
<executions>
50-
<execution>
51-
<id>start-gae</id>
52-
<phase>pre-integration-test</phase>
53-
<goals>
54-
<goal>start</goal>
55-
</goals>
56-
</execution>
57-
<execution>
58-
<id>stop-gae</id>
59-
<phase>post-integration-test</phase>
60-
<goals>
61-
<goal>stop</goal>
62-
</goals>
63-
</execution>
64-
</executions>
65-
</plugin>
66-
</plugins>
67-
</build>
37+
<profiles>
38+
<profile>
39+
<id>selenium</id>
40+
<properties>
41+
<callback.method>http</callback.method> <!-- "http" for local, "https" for the cloud -->
42+
<callback.host>localhost:8080</callback.host> <!-- Typically projectname.appspot.com -->
43+
<bookshelf.callback>http://localhost:8080/oauth2callback</bookshelf.callback>
44+
</properties>
45+
<build>
46+
<plugins>
47+
<!-- Integration tests need the servlet up to work -->
48+
<plugin>
49+
<groupId>org.eclipse.jetty</groupId>
50+
<artifactId>jetty-maven-plugin</artifactId>
51+
<version>${jetty.maven.plugin}</version>
52+
<configuration>
53+
<stopKey>stopPlzKThxBai</stopKey>
54+
<stopPort>9283</stopPort>
55+
<stopWait>60</stopWait>
56+
</configuration>
57+
<executions>
58+
<execution>
59+
<id>start-gae</id>
60+
<phase>pre-integration-test</phase>
61+
<goals>
62+
<goal>start</goal>
63+
</goals>
64+
</execution>
65+
<execution>
66+
<id>stop-gae</id>
67+
<phase>post-integration-test</phase>
68+
<goals>
69+
<goal>stop</goal>
70+
</goals>
71+
</execution>
72+
</executions>
73+
</plugin>
74+
</plugins>
75+
</build>
76+
</profile>
77+
</profiles>
6878

6979
<dependencyManagement>
7080
<dependencies>

pom.xml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,45 @@ limitations under the License.
112112
</plugins>
113113
</reporting>
114114

115+
<build>
116+
<pluginManagement>
117+
<plugins>
118+
<plugin>
119+
<groupId>org.apache.maven.plugins</groupId>
120+
<artifactId>maven-failsafe-plugin</artifactId>
121+
<executions>
122+
<execution>
123+
<configuration>
124+
<skipITs>true</skipITs>
125+
</configuration>
126+
</execution>
127+
</executions>
128+
</plugin>
129+
</plugins>
130+
</pluginManagement>
131+
</build>
132+
133+
<profiles>
134+
<profile>
135+
<id>selenium</id>
136+
<build>
137+
<plugins>
138+
<plugin>
139+
<groupId>org.apache.maven.plugins</groupId>
140+
<artifactId>maven-failsafe-plugin</artifactId>
141+
<executions>
142+
<execution>
143+
<configuration>
144+
<skipITs>false</skipITs>
145+
</configuration>
146+
</execution>
147+
</executions>
148+
</plugin>
149+
</plugins>
150+
</build>
151+
</profile>
152+
</profiles>
153+
115154
<dependencyManagement>
116155
<dependencies>
117156
<dependency>

travis.sh

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -34,25 +34,12 @@ mvn --batch-mode clean verify \
3434
-Dbookshelf.clientID="${OAUTH2_CLIENT_ID}" \
3535
-Dbookshelf.clientSecret="${OAUTH2_CLIENT_SECRET}" \
3636
-Dbookshelf.bucket="${GCS_BUCKET-GCS_BUCKET envvar is unset}" \
37-
-Plocal | \
37+
-Pselenium | \
3838
egrep -v "(^\[INFO\] Download|^\[INFO\].*skipping)"
3939
)
4040

4141
# Test running samples on localhost.
42-
git clone https://github.com/GoogleCloudPlatform/java-repo-tools.git
43-
44-
if [[ -n "${GOOGLE_APPLICATION_CREDENTIALS}" ]]; then
45-
# The bookshelf sample requires Cloud Datastore access. Enable when
46-
# credentials are available (such as branch PRs).
47-
./java-repo-tools/scripts/test-localhost.sh jetty bookshelf/2-structured-data -- -Plocal -DskipTests=true
48-
./java-repo-tools/scripts/test-localhost.sh jetty bookshelf/3-binary-data -- -Plocal -DskipTests=true
49-
./java-repo-tools/scripts/test-localhost.sh jetty bookshelf/4-auth -- -Plocal -DskipTests=true
50-
./java-repo-tools/scripts/test-localhost.sh jetty bookshelf/5-logging -- -Plocal -DskipTests=true
51-
./java-repo-tools/scripts/test-localhost.sh jetty bookshelf/6-gce -- -Plocal -DskipTests=true
52-
else
53-
# only run unit tests and lint on external PRs
54-
echo 'External PR: skipping integration tests.'
55-
fi
42+
# git clone https://github.com/GoogleCloudPlatform/java-repo-tools.git
5643
# ./java-repo-tools/scripts/test-localhost.sh jetty helloworld-jsp -- -DskipTests=true
5744
# ./java-repo-tools/scripts/test-localhost.sh jetty helloworld-servlet -- -DskipTests=true
5845
# ./java-repo-tools/scripts/test-localhost.sh jetty helloworld-compat -- -DskipTests=true

0 commit comments

Comments
 (0)