Add integration tests for distribution/rpm
This commit is contained in:
parent
2ed8e697d5
commit
ddfea366de
|
@ -206,10 +206,12 @@
|
|||
<mkdir dir="${integ.scratch}/deb-extracted"/>
|
||||
<local name="debfile"/>
|
||||
<property name="debfile" location="${project.build.directory}/releases/elasticsearch-${project.version}.deb"/>
|
||||
<!-- print some basic package info -->
|
||||
<exec executable="dpkg-deb" failonerror="true" taskname="deb-info">
|
||||
<arg value="-W"/>
|
||||
<arg value="-I"/>
|
||||
<arg value="${debfile}"/>
|
||||
</exec>
|
||||
<!-- extract contents from .deb package -->
|
||||
<exec executable="dpkg-deb" failonerror="true">
|
||||
<arg value="-x"/>
|
||||
<arg value="${debfile}"/>
|
||||
|
@ -222,4 +224,44 @@
|
|||
<startup-elasticsearch home="${integ.scratch}/deb-extracted/usr/share/elasticsearch/"/>
|
||||
</target>
|
||||
|
||||
<!-- distribution tests: .rpm -->
|
||||
<target name="setup-workspace-rpm" depends="stop-external-cluster" unless="${shouldskip}">
|
||||
<sequential>
|
||||
<delete dir="${integ.scratch}"/>
|
||||
<!-- use full paths with paranoia, we will be doing relocations -->
|
||||
<local name="rpm.file"/>
|
||||
<local name="rpm.database"/>
|
||||
<local name="rpm.extracted"/>
|
||||
<property name="rpm.file" location="${project.build.directory}/releases/elasticsearch-${project.version}.rpm"/>
|
||||
<property name="rpm.database" location="${integ.scratch}/rpm-database"/>
|
||||
<property name="rpm.extracted" location="${integ.scratch}/rpm-extracted"/>
|
||||
<mkdir dir="${rpm.database}"/>
|
||||
<mkdir dir="${rpm.extracted}"/>
|
||||
<!-- print some basic package info -->
|
||||
<exec executable="rpm" failonerror="true" taskname="rpm-info">
|
||||
<arg value="-q"/>
|
||||
<arg value="-i"/>
|
||||
<arg value="-p"/>
|
||||
<arg value="${rpm.file}"/>
|
||||
</exec>
|
||||
<!-- extract contents from .rpm package -->
|
||||
<exec executable="rpm" failonerror="true" taskname="rpm">
|
||||
<arg value="--dbpath"/>
|
||||
<arg value="${rpm.database}"/>
|
||||
<arg value="--badreloc"/>
|
||||
<arg value="--relocate"/>
|
||||
<arg value="/=${rpm.extracted}"/>
|
||||
<arg value="--nodeps"/>
|
||||
<arg value="--noscripts"/>
|
||||
<arg value="--notriggers"/>
|
||||
<arg value="-i"/>
|
||||
<arg value="${rpm.file}"/>
|
||||
</exec>
|
||||
</sequential>
|
||||
</target>
|
||||
|
||||
<target name="start-external-cluster-rpm" depends="setup-workspace-rpm" unless="${shouldskip}">
|
||||
<startup-elasticsearch home="${integ.scratch}/rpm-extracted/usr/share/elasticsearch/"/>
|
||||
</target>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
<packaging>rpm</packaging>
|
||||
|
||||
<properties>
|
||||
<skip.integ.tests>true</skip.integ.tests>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
|
@ -332,6 +331,34 @@
|
|||
</target>
|
||||
</configuration>
|
||||
</execution>
|
||||
<!-- start up external cluster -->
|
||||
<execution>
|
||||
<id>integ-setup</id>
|
||||
<phase>pre-integration-test</phase>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<skip>${skip.integ.tests}</skip>
|
||||
<target>
|
||||
<ant antfile="${elasticsearch.integ.antfile}" target="start-external-cluster-rpm"/>
|
||||
</target>
|
||||
</configuration>
|
||||
</execution>
|
||||
<!-- shut down external cluster -->
|
||||
<execution>
|
||||
<id>integ-teardown</id>
|
||||
<phase>post-integration-test</phase>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<skip>${skip.integ.tests}</skip>
|
||||
<target>
|
||||
<ant antfile="${elasticsearch.integ.antfile}" target="stop-external-cluster"/>
|
||||
</target>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
/*
|
||||
* Licensed to Elasticsearch under one or more contributor
|
||||
* license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright
|
||||
* ownership. Elasticsearch licenses this file to you under
|
||||
* the Apache License, Version 2.0 (the "License"); you may
|
||||
* not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package org.elasticsearch.test.rest;
|
||||
|
||||
import com.carrotsearch.randomizedtesting.annotations.ParametersFactory;
|
||||
|
||||
import org.elasticsearch.test.rest.parser.RestTestParseException;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
/** Rest integration test. runs against external cluster in 'mvn verify' */
|
||||
public class RestIT extends ElasticsearchRestTestCase {
|
||||
public RestIT(RestTestCandidate testCandidate) {
|
||||
super(testCandidate);
|
||||
}
|
||||
// we run them all sequentially: start simple!
|
||||
@ParametersFactory
|
||||
public static Iterable<Object[]> parameters() throws IOException, RestTestParseException {
|
||||
return createParameters(0, 1);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue