Skip to main content
summaryrefslogtreecommitdiffstats
blob: 5beb8a002a9d196f5c8b44ca53a549f8d8562072 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
<!-- **************************************************************************
#
# Copyright (c) 2011 Oracle Corporation.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors: 
#
#    Anton Kozak, Geoff Waymark
#        
#
#************************************************************************** -->


<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.eclipse.hudson.main</groupId>
    <artifactId>hudson-test-ui</artifactId>
    <name>Hudson :: UI Integration Testing</name>
    <version>3.2.0-SNAPSHOT</version>
    <description>
        Hudson UI Integration Testing
    </description>

    <properties>
        <hudson.home>${basedir}/target/work</hudson.home>
        <jetty.stop.port>6001</jetty.stop.port>
        <test.target.host>localhost</test.target.host>
        <test.target.port>6002</test.target.port>
        <test.target.contextroot></test.target.contextroot>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.eclipse.hudson</groupId>
            <artifactId>hudson-war</artifactId>
            <!--TODO find way how to specify range [2.1.0,2.2.0),  we should take the latest snapshot -->
            <version>3.2.0-SNAPSHOT</version>
            <type>war</type>
            <scope>test</scope>
        </dependency>
        <!-- Core Compatability Plugins -->
        <dependency>
	<groupId>org.hudsonci.plugins</groupId>
	<artifactId>birt-charts</artifactId>
	<version>3.0.3</version>
        </dependency>
        <dependency>
	<groupId>org.hudsonci.plugins</groupId>
	<artifactId>jna-native-support-plugin</artifactId>
	<version>3.0.4</version>
        </dependency>
        <dependency>
	<groupId>org.hudsonci.xpath</groupId>
	<artifactId>xpath-provider</artifactId>
	<version>1.0.2</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>2.39.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <!-- TODO find reason why jetty doesn't start without it  -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.9</version>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.3</version>
                <executions>
                    <execution>
                        <id>copy</id>
                        <phase>validate</phase>
                        <goals>
                            <goal>copy</goal>
                        </goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>org.eclipse.hudson</groupId>
                                    <artifactId>hudson-war</artifactId>
                                    <type>war</type>
                                    <overWrite>true</overWrite>
                                    <outputDirectory>${project.build.directory}</outputDirectory>
                                    <destFileName>hudson.war</destFileName>
                                </artifactItem>
                                <artifactItem>
                                    <groupId>org.hudsonci.plugins</groupId>
	                            <artifactId>birt-charts</artifactId>
                                    <type>hpi</type>
                                    <overWrite>true</overWrite>
                                    <outputDirectory>${hudson.home}/plugins</outputDirectory>
                                </artifactItem>
                                <artifactItem>
                                    <groupId>org.hudsonci.plugins</groupId>
                                    <artifactId>jna-native-support-plugin</artifactId>
                                    <type>hpi</type>
                                    <overWrite>true</overWrite>
                                    <outputDirectory>${hudson.home}/plugins</outputDirectory>
                                </artifactItem>
                                <artifactItem>
                                    <groupId>org.hudsonci.xpath</groupId>
	                            <artifactId>xpath-provider</artifactId>
                                    <type>hpi</type>
                                    <overWrite>true</overWrite>
                                    <outputDirectory>${hudson.home}/plugins</outputDirectory>
                                </artifactItem>
                            </artifactItems>
                            <overWriteReleases>true</overWriteReleases>
                            <overWriteSnapshots>true</overWriteSnapshots>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.6</version>
                <executions>
                    <execution>
                        <id>copy-resources</id>
                        <phase>validate</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${hudson.home}</outputDirectory>
                            <resources>
                                <resource>
                                    <directory>${project.basedir}/src/test/preset-data/</directory>
                                    <filtering>false</filtering>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.eclipse.jetty</groupId>
                 <artifactId>jetty-maven-plugin</artifactId>
                 <version>9.1.3.v20140225</version>
                 <configuration>
                    <httpConnector>
                        <host>${test.target.host}</host>
                        <port>${test.target.port}</port>
                        <idleTimeout>60000</idleTimeout>
                    </httpConnector>

                    <stopPort>${jetty.stop.port}</stopPort>
                    <stopKey>jetty-stop</stopKey>
                                       
                    <war>${basedir}/target/hudson.war</war>
                    
                    <testClassesDirectory>${basedir}/src/test/resources</testClassesDirectory>
                    <useTestClasspath>true</useTestClasspath>
                    
                    <consoleForceReload>true</consoleForceReload>
                    
                    <loginServices>
                        <loginService implementation="org.eclipse.jetty.security.HashLoginService">
                            <name>default</name>
                            <config>${basedir}/src/realm.properties</config>
                        </loginService>
                    </loginServices>
                    <systemProperties>
                        <systemProperty>
                            <name>HUDSON_HOME</name>
                            <value>${hudson.home}</value>
                        </systemProperty>
                    </systemProperties>
                 </configuration>
                 <executions>
                    <execution>
                        <id>start-jetty</id>
                        <phase>pre-integration-test</phase>
                        <goals>
                            <goal>deploy-war</goal>
                        </goals>
                        <configuration>
                            <daemon>true</daemon>
                            <reload>manual</reload>
                        </configuration>
                    </execution>
                    <execution>
                        <id>stop-jetty</id>
                        <phase>post-integration-test</phase>
                        <goals>
                            <goal>stop</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
                <version>2.9</version>
                <configuration>
                    <redirectTestOutputToFile>true</redirectTestOutputToFile>
                    <detail>true</detail>
                    <failIfNoTests>false</failIfNoTests>
                    <testFailureIgnore>true</testFailureIgnore>
                    <systemPropertyVariables>
                        <property>
                            <name>HUDSON_HOME</name>
                            <value>${hudson.home}</value>
                        </property>
                    </systemPropertyVariables>
                    <includes>
                        <include>**/IT*.java</include>
                        <include>**/*IT.java</include>
                        <include>**/*Test.java</include>
                    </includes>
                </configuration>
                <executions>
                    <execution>
                        <phase>integration-test</phase>
                        <goals>
                            <goal>integration-test</goal>
                        </goals>
                    </execution>
                    <execution>
                      <id>verify</id>
                      <goals>
                        <goal>verify</goal>
                      </goals>
                    </execution>
                </executions>
            </plugin>
       </plugins>
    </build>
</project>

Back to the top