parent
0bcadbf846
commit
ea44da6069
|
@ -75,6 +75,8 @@ public class ElasticsearchCluster implements TestClusterConfiguration {
|
||||||
services, artifactsExtractDir, workingDirBase
|
services, artifactsExtractDir, workingDirBase
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
// configure the cluster name eagerly so nodes know about it
|
||||||
|
this.nodes.all((node) -> node.defaultConfig.put("cluster.name", safeName(clusterName)));
|
||||||
|
|
||||||
addWaitForClusterHealth();
|
addWaitForClusterHealth();
|
||||||
}
|
}
|
||||||
|
@ -217,7 +219,6 @@ public class ElasticsearchCluster implements TestClusterConfiguration {
|
||||||
public void start() {
|
public void start() {
|
||||||
String nodeNames = nodes.stream().map(ElasticsearchNode::getName).collect(Collectors.joining(","));
|
String nodeNames = nodes.stream().map(ElasticsearchNode::getName).collect(Collectors.joining(","));
|
||||||
for (ElasticsearchNode node : nodes) {
|
for (ElasticsearchNode node : nodes) {
|
||||||
node.defaultConfig.put("cluster.name", safeName(clusterName));
|
|
||||||
if (Version.fromString(node.getVersion()).getMajor() >= 7) {
|
if (Version.fromString(node.getVersion()).getMajor() >= 7) {
|
||||||
node.defaultConfig.put("cluster.initial_master_nodes", "[" + nodeNames + "]");
|
node.defaultConfig.put("cluster.initial_master_nodes", "[" + nodeNames + "]");
|
||||||
node.defaultConfig.put("discovery.seed_providers", "file");
|
node.defaultConfig.put("discovery.seed_providers", "file");
|
||||||
|
@ -328,7 +329,8 @@ public class ElasticsearchCluster implements TestClusterConfiguration {
|
||||||
nodes.size()
|
nodes.size()
|
||||||
);
|
);
|
||||||
if (httpSslEnabled) {
|
if (httpSslEnabled) {
|
||||||
wait.setCertificateAuthorities(getFirstNode().getHttpCertificateAuthoritiesFile());
|
|
||||||
|
getFirstNode().configureHttpWait(wait);
|
||||||
}
|
}
|
||||||
List<Map<String, String>> credentials = getFirstNode().getCredentials();
|
List<Map<String, String>> credentials = getFirstNode().getCredentials();
|
||||||
if (getFirstNode().getCredentials().isEmpty() == false) {
|
if (getFirstNode().getCredentials().isEmpty() == false) {
|
||||||
|
|
|
@ -23,6 +23,7 @@ import org.elasticsearch.gradle.Distribution;
|
||||||
import org.elasticsearch.gradle.FileSupplier;
|
import org.elasticsearch.gradle.FileSupplier;
|
||||||
import org.elasticsearch.gradle.OS;
|
import org.elasticsearch.gradle.OS;
|
||||||
import org.elasticsearch.gradle.Version;
|
import org.elasticsearch.gradle.Version;
|
||||||
|
import org.elasticsearch.gradle.http.WaitForHttpResource;
|
||||||
import org.gradle.api.logging.Logger;
|
import org.gradle.api.logging.Logger;
|
||||||
import org.gradle.api.logging.Logging;
|
import org.gradle.api.logging.Logging;
|
||||||
|
|
||||||
|
@ -581,7 +582,11 @@ public class ElasticsearchNode implements TestClusterConfiguration {
|
||||||
}
|
}
|
||||||
|
|
||||||
public File getServerLog() {
|
public File getServerLog() {
|
||||||
return confPathLogs.resolve(safeName(getName()).replaceAll("-[0-9]+$", "") + "_server.json").toFile();
|
return confPathLogs.resolve(defaultConfig.get("cluster.name") + "_server.json").toFile();
|
||||||
|
}
|
||||||
|
|
||||||
|
public File getAuditLog() {
|
||||||
|
return confPathLogs.resolve(defaultConfig.get("cluster.name") + "_audit.json").toFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -880,12 +885,32 @@ public class ElasticsearchNode implements TestClusterConfiguration {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public File getHttpCertificateAuthoritiesFile() {
|
void configureHttpWait(WaitForHttpResource wait) {
|
||||||
if (settings.containsKey("xpack.security.http.ssl.certificate_authorities") == false) {
|
if (settings.containsKey("xpack.security.http.ssl.certificate_authorities")) {
|
||||||
throw new TestClustersException("Can't get certificates authority file, not configured for " + this);
|
wait.setCertificateAuthorities(
|
||||||
}
|
getConfigDir()
|
||||||
return getConfigDir()
|
|
||||||
.resolve(settings.get("xpack.security.http.ssl.certificate_authorities").get().toString())
|
.resolve(settings.get("xpack.security.http.ssl.certificate_authorities").get().toString())
|
||||||
.toFile();
|
.toFile()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (settings.containsKey("xpack.security.http.ssl.certificate")) {
|
||||||
|
wait.setCertificateAuthorities(
|
||||||
|
getConfigDir()
|
||||||
|
.resolve(settings.get("xpack.security.http.ssl.certificate").get().toString())
|
||||||
|
.toFile()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (settings.containsKey("xpack.security.http.ssl.keystore.path")) {
|
||||||
|
wait.setTrustStoreFile(
|
||||||
|
getConfigDir()
|
||||||
|
.resolve(settings.get("xpack.security.http.ssl.keystore.path").get().toString())
|
||||||
|
.toFile()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (keystoreSettings.containsKey("xpack.security.http.ssl.keystore.secure_password")) {
|
||||||
|
wait.setTrustStorePassword(
|
||||||
|
keystoreSettings.get("xpack.security.http.ssl.keystore.secure_password").get().toString()
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
* specific language governing permissions and limitations
|
* specific language governing permissions and limitations
|
||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
apply plugin: 'elasticsearch.testclusters'
|
||||||
apply plugin: 'elasticsearch.build'
|
apply plugin: 'elasticsearch.build'
|
||||||
apply plugin: 'elasticsearch.rest-test'
|
apply plugin: 'elasticsearch.rest-test'
|
||||||
apply plugin: 'nebula.maven-base-publish'
|
apply plugin: 'nebula.maven-base-publish'
|
||||||
|
@ -95,14 +96,15 @@ forbiddenApisMain {
|
||||||
File nodeCert = file("./testnode.crt")
|
File nodeCert = file("./testnode.crt")
|
||||||
File nodeTrustStore = file("./testnode.jks")
|
File nodeTrustStore = file("./testnode.jks")
|
||||||
|
|
||||||
integTestRunner {
|
integTest.runner {
|
||||||
systemProperty 'tests.rest.cluster.username', System.getProperty('tests.rest.cluster.username', 'test_user')
|
systemProperty 'tests.rest.cluster.username', System.getProperty('tests.rest.cluster.username', 'test_user')
|
||||||
systemProperty 'tests.rest.cluster.password', System.getProperty('tests.rest.cluster.password', 'test-password')
|
systemProperty 'tests.rest.cluster.password', System.getProperty('tests.rest.cluster.password', 'test-password')
|
||||||
}
|
}
|
||||||
|
|
||||||
integTestCluster {
|
testClusters.integTest {
|
||||||
|
distribution = "DEFAULT"
|
||||||
systemProperty 'es.scripting.update.ctx_in_params', 'false'
|
systemProperty 'es.scripting.update.ctx_in_params', 'false'
|
||||||
setting 'reindex.remote.whitelist', ['"[::1]:*"', '"127.0.0.1:*"']
|
setting 'reindex.remote.whitelist', '[ "[::1]:*", "127.0.0.1:*" ]'
|
||||||
setting 'xpack.license.self_generated.type', 'trial'
|
setting 'xpack.license.self_generated.type', 'trial'
|
||||||
setting 'xpack.security.enabled', 'true'
|
setting 'xpack.security.enabled', 'true'
|
||||||
setting 'xpack.security.authc.token.enabled', 'true'
|
setting 'xpack.security.authc.token.enabled', 'true'
|
||||||
|
@ -111,22 +113,10 @@ integTestCluster {
|
||||||
setting 'xpack.security.http.ssl.certificate_authorities', 'testnode.crt'
|
setting 'xpack.security.http.ssl.certificate_authorities', 'testnode.crt'
|
||||||
setting 'xpack.security.transport.ssl.truststore.path', 'testnode.jks'
|
setting 'xpack.security.transport.ssl.truststore.path', 'testnode.jks'
|
||||||
setting 'indices.lifecycle.poll_interval', '1000ms'
|
setting 'indices.lifecycle.poll_interval', '1000ms'
|
||||||
keystoreSetting 'xpack.security.transport.ssl.truststore.secure_password', 'testnode'
|
keystore 'xpack.security.transport.ssl.truststore.secure_password', 'testnode'
|
||||||
setupCommand 'setupDummyUser',
|
user username: System.getProperty('tests.rest.cluster.username', 'test_user'),
|
||||||
'bin/elasticsearch-users',
|
password: System.getProperty('tests.rest.cluster.password', 'test-password')
|
||||||
'useradd', System.getProperty('tests.rest.cluster.username', 'test_user'),
|
|
||||||
'-p', System.getProperty('tests.rest.cluster.password', 'test-password'),
|
|
||||||
'-r', 'superuser'
|
|
||||||
extraConfigFile nodeCert.name, nodeCert
|
extraConfigFile nodeCert.name, nodeCert
|
||||||
extraConfigFile nodeTrustStore.name, nodeTrustStore
|
extraConfigFile nodeTrustStore.name, nodeTrustStore
|
||||||
waitCondition = { node, ant ->
|
|
||||||
File tmpFile = new File(node.cwd, 'wait.success')
|
|
||||||
ant.get(src: "http://${node.httpUri()}/_cluster/health?wait_for_nodes=>=${numNodes}&wait_for_status=yellow",
|
|
||||||
dest: tmpFile.toString(),
|
|
||||||
username: System.getProperty('tests.rest.cluster.username', 'test_user'),
|
|
||||||
password: System.getProperty('tests.rest.cluster.password', 'test-password'),
|
|
||||||
ignoreerrors: true,
|
|
||||||
retries: 10)
|
|
||||||
return tmpFile.exists()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -452,7 +452,7 @@ public class SnapshotClientDocumentationIT extends ESRestHighLevelClientTestCase
|
||||||
List<VerifyRepositoryResponse.NodeView> repositoryMetaDataResponse = response.getNodes();
|
List<VerifyRepositoryResponse.NodeView> repositoryMetaDataResponse = response.getNodes();
|
||||||
// end::verify-repository-response
|
// end::verify-repository-response
|
||||||
assertThat(1, equalTo(repositoryMetaDataResponse.size()));
|
assertThat(1, equalTo(repositoryMetaDataResponse.size()));
|
||||||
assertThat("node-0", equalTo(repositoryMetaDataResponse.get(0).getName()));
|
assertThat("integTest-0", equalTo(repositoryMetaDataResponse.get(0).getName()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testSnapshotVerifyRepositoryAsync() throws InterruptedException {
|
public void testSnapshotVerifyRepositoryAsync() throws InterruptedException {
|
||||||
|
|
|
@ -4,6 +4,7 @@ import org.elasticsearch.gradle.test.NodeInfo
|
||||||
|
|
||||||
import java.nio.charset.StandardCharsets
|
import java.nio.charset.StandardCharsets
|
||||||
|
|
||||||
|
apply plugin: 'elasticsearch.testclusters'
|
||||||
apply plugin: 'elasticsearch.standalone-rest-test'
|
apply plugin: 'elasticsearch.standalone-rest-test'
|
||||||
apply plugin: 'elasticsearch.rest-test'
|
apply plugin: 'elasticsearch.rest-test'
|
||||||
|
|
||||||
|
@ -22,14 +23,13 @@ subprojects {
|
||||||
project.dependencies.add('featureAwarePlugin', project(':x-pack:test:feature-aware'))
|
project.dependencies.add('featureAwarePlugin', project(':x-pack:test:feature-aware'))
|
||||||
project.dependencies.add('featureAwarePlugin', project.sourceSets.main.output.getClassesDirs())
|
project.dependencies.add('featureAwarePlugin', project.sourceSets.main.output.getClassesDirs())
|
||||||
|
|
||||||
final Task featureAwareTask = project.tasks.create("featureAwareCheck", LoggedExec) {
|
File successMarker = file("$buildDir/markers/featureAware")
|
||||||
|
task featureAwareCheck(type: LoggedExec) {
|
||||||
description = "Runs FeatureAwareCheck on main classes."
|
description = "Runs FeatureAwareCheck on main classes."
|
||||||
dependsOn project.configurations.featureAwarePlugin
|
dependsOn project.configurations.featureAwarePlugin
|
||||||
|
|
||||||
final File successMarker = new File(project.buildDir, 'markers/featureAware')
|
|
||||||
outputs.file(successMarker)
|
outputs.file(successMarker)
|
||||||
|
|
||||||
executable = new File(project.runtimeJavaHome, 'bin/java')
|
executable = "${project.runtimeJavaHome}/bin/java"
|
||||||
|
|
||||||
// default to main class files if such a source set exists
|
// default to main class files if such a source set exists
|
||||||
final List files = []
|
final List files = []
|
||||||
|
@ -50,7 +50,7 @@ subprojects {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
project.precommit.dependsOn featureAwareTask
|
project.precommit.dependsOn featureAwareCheck
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -82,28 +82,8 @@ artifacts {
|
||||||
testArtifacts testJar
|
testArtifacts testJar
|
||||||
}
|
}
|
||||||
|
|
||||||
integTestRunner {
|
|
||||||
/*
|
|
||||||
* We have to disable setting the number of available processors as tests in the same JVM randomize processors and will step on each
|
|
||||||
* other if we allow them to set the number of available processors as it's set-once in Netty.
|
|
||||||
*/
|
|
||||||
systemProperty 'es.set.netty.runtime.available.processors', 'false'
|
|
||||||
|
|
||||||
|
|
||||||
// TODO: fix this rest test to not depend on a hardcoded port!
|
|
||||||
def blacklist = ['getting_started/10_monitor_cluster_health/*']
|
|
||||||
boolean snapshot = "true".equals(System.getProperty("build.snapshot", "true"))
|
|
||||||
if (!snapshot) {
|
|
||||||
// these tests attempt to install basic/internal licenses signed against the dev/public.key
|
|
||||||
// Since there is no infrastructure in place (anytime soon) to generate licenses using the production
|
|
||||||
// private key, these tests are whitelisted in non-snapshot test runs
|
|
||||||
blacklist.addAll(['xpack/15_basic/*', 'license/20_put_license/*'])
|
|
||||||
}
|
|
||||||
systemProperty 'tests.rest.blacklist', blacklist.join(',')
|
|
||||||
}
|
|
||||||
|
|
||||||
// location for keys and certificates
|
// location for keys and certificates
|
||||||
File keystoreDir = new File(project.buildDir, 'keystore')
|
File keystoreDir = file("$buildDir/keystore")
|
||||||
File nodeKey = file("$keystoreDir/testnode.pem")
|
File nodeKey = file("$keystoreDir/testnode.pem")
|
||||||
File nodeCert = file("$keystoreDir/testnode.crt")
|
File nodeCert = file("$keystoreDir/testnode.crt")
|
||||||
|
|
||||||
|
@ -122,8 +102,29 @@ task copyKeyCerts(type: Copy) {
|
||||||
sourceSets.test.resources.srcDir(keystoreDir)
|
sourceSets.test.resources.srcDir(keystoreDir)
|
||||||
processTestResources.dependsOn(copyKeyCerts)
|
processTestResources.dependsOn(copyKeyCerts)
|
||||||
|
|
||||||
integTestCluster {
|
integTest.runner {
|
||||||
|
/*
|
||||||
|
* We have to disable setting the number of available processors as tests in the same JVM randomize processors and will step on each
|
||||||
|
* other if we allow them to set the number of available processors as it's set-once in Netty.
|
||||||
|
*/
|
||||||
|
systemProperty 'es.set.netty.runtime.available.processors', 'false'
|
||||||
|
|
||||||
|
|
||||||
|
// TODO: fix this rest test to not depend on a hardcoded port!
|
||||||
|
def blacklist = ['getting_started/10_monitor_cluster_health/*']
|
||||||
|
boolean snapshot = Boolean.valueOf(System.getProperty("build.snapshot", "true"))
|
||||||
|
if (!snapshot) {
|
||||||
|
// these tests attempt to install basic/internal licenses signed against the dev/public.key
|
||||||
|
// Since there is no infrastructure in place (anytime soon) to generate licenses using the production
|
||||||
|
// private key, these tests are whitelisted in non-snapshot test runs
|
||||||
|
blacklist.addAll(['xpack/15_basic/*', 'license/20_put_license/*'])
|
||||||
|
}
|
||||||
|
systemProperty 'tests.rest.blacklist', blacklist.join(',')
|
||||||
dependsOn copyKeyCerts
|
dependsOn copyKeyCerts
|
||||||
|
}
|
||||||
|
|
||||||
|
testClusters.integTest {
|
||||||
|
distribution = 'DEFAULT' // this is important since we use the reindex module in ML
|
||||||
setting 'xpack.ml.enabled', 'true'
|
setting 'xpack.ml.enabled', 'true'
|
||||||
setting 'xpack.security.enabled', 'true'
|
setting 'xpack.security.enabled', 'true'
|
||||||
// Integration tests are supposed to enable/disable exporters before/after each test
|
// Integration tests are supposed to enable/disable exporters before/after each test
|
||||||
|
@ -137,51 +138,11 @@ integTestCluster {
|
||||||
setting 'xpack.security.transport.ssl.verification_mode', 'certificate'
|
setting 'xpack.security.transport.ssl.verification_mode', 'certificate'
|
||||||
setting 'xpack.security.audit.enabled', 'true'
|
setting 'xpack.security.audit.enabled', 'true'
|
||||||
setting 'xpack.license.self_generated.type', 'trial'
|
setting 'xpack.license.self_generated.type', 'trial'
|
||||||
keystoreSetting 'bootstrap.password', 'x-pack-test-password'
|
keystore 'bootstrap.password', 'x-pack-test-password'
|
||||||
keystoreSetting 'xpack.security.transport.ssl.secure_key_passphrase', 'testnode'
|
keystore 'xpack.security.transport.ssl.secure_key_passphrase', 'testnode'
|
||||||
distribution = 'default' // this is important since we use the reindex module in ML
|
|
||||||
|
|
||||||
setupCommand 'setupTestUser', 'bin/elasticsearch-users', 'useradd', 'x_pack_rest_user', '-p', 'x-pack-test-password', '-r', 'superuser'
|
|
||||||
|
|
||||||
|
user username: "x_pack_rest_user", password: "x-pack-test-password"
|
||||||
extraConfigFile nodeKey.name, nodeKey
|
extraConfigFile nodeKey.name, nodeKey
|
||||||
extraConfigFile nodeCert.name, nodeCert
|
extraConfigFile nodeCert.name, nodeCert
|
||||||
|
|
||||||
waitCondition = { NodeInfo node, AntBuilder ant ->
|
|
||||||
File tmpFile = new File(node.cwd, 'wait.success')
|
|
||||||
|
|
||||||
for (int i = 0; i < 10; i++) {
|
|
||||||
// we use custom wait logic here as the elastic user is not available immediately and ant.get will fail when a 401 is returned
|
|
||||||
HttpURLConnection httpURLConnection = null;
|
|
||||||
try {
|
|
||||||
httpURLConnection = (HttpURLConnection) new URL("http://${node.httpUri()}/_cluster/health?wait_for_nodes=${numNodes}&wait_for_status=yellow").openConnection();
|
|
||||||
httpURLConnection.setRequestProperty("Authorization", "Basic " +
|
|
||||||
Base64.getEncoder().encodeToString("x_pack_rest_user:x-pack-test-password".getBytes(StandardCharsets.UTF_8)));
|
|
||||||
httpURLConnection.setRequestMethod("GET");
|
|
||||||
httpURLConnection.connect();
|
|
||||||
if (httpURLConnection.getResponseCode() == 200) {
|
|
||||||
tmpFile.withWriter StandardCharsets.UTF_8.name(), {
|
|
||||||
it.write(httpURLConnection.getInputStream().getText(StandardCharsets.UTF_8.name()))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
if (i == 9) {
|
|
||||||
logger.error("final attempt of calling cluster health failed", e)
|
|
||||||
} else {
|
|
||||||
logger.debug("failed to call cluster health", e)
|
|
||||||
}
|
|
||||||
} finally {
|
|
||||||
if (httpURLConnection != null) {
|
|
||||||
httpURLConnection.disconnect();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// did not start, so wait a bit before trying again
|
|
||||||
Thread.sleep(500L);
|
|
||||||
}
|
|
||||||
return tmpFile.exists()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (integTestCluster.distribution.startsWith("oss-")) {
|
|
||||||
integTest.enabled = false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,8 +20,8 @@ testClusters."leader-cluster" {
|
||||||
setting 'xpack.license.self_generated.type', 'trial'
|
setting 'xpack.license.self_generated.type', 'trial'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
File policyFile = file("${buildDir}/tmp/java.policy")
|
||||||
task writeJavaPolicy {
|
task writeJavaPolicy {
|
||||||
ext.policyFile = file("${buildDir}/tmp/java.policy")
|
|
||||||
doLast {
|
doLast {
|
||||||
if (policyFile.parentFile.exists() == false && policyFile.parentFile.mkdirs() == false) {
|
if (policyFile.parentFile.exists() == false && policyFile.parentFile.mkdirs() == false) {
|
||||||
throw new GradleException("failed to create temporary directory [${tmp}]")
|
throw new GradleException("failed to create temporary directory [${tmp}]")
|
||||||
|
@ -37,10 +37,10 @@ task writeJavaPolicy {
|
||||||
}
|
}
|
||||||
|
|
||||||
task "follow-cluster"(type: RestIntegTestTask) {
|
task "follow-cluster"(type: RestIntegTestTask) {
|
||||||
dependsOn writeJavaPolicy, "leader-cluster"
|
dependsOn 'writeJavaPolicy', "leader-cluster"
|
||||||
useCluster testClusters."leader-cluster"
|
useCluster testClusters."leader-cluster"
|
||||||
runner {
|
runner {
|
||||||
systemProperty 'java.security.policy', "file://${writeJavaPolicy.policyFile}"
|
systemProperty 'java.security.policy', "file://${policyFile}"
|
||||||
systemProperty 'tests.target_cluster', 'follow'
|
systemProperty 'tests.target_cluster', 'follow'
|
||||||
nonInputProperties.systemProperty 'tests.leader_host', "${-> testClusters."leader-cluster".getAllHttpSocketURI().get(0)}"
|
nonInputProperties.systemProperty 'tests.leader_host', "${-> testClusters."leader-cluster".getAllHttpSocketURI().get(0)}"
|
||||||
nonInputProperties.systemProperty 'log', "${-> testClusters."follow-cluster".getFirstNode().getServerLog()}"
|
nonInputProperties.systemProperty 'log', "${-> testClusters."follow-cluster".getFirstNode().getServerLog()}"
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
import org.elasticsearch.gradle.test.RunTask
|
|
||||||
|
|
||||||
description = 'Integration tests for SQL'
|
description = 'Integration tests for SQL'
|
||||||
apply plugin: 'elasticsearch.build'
|
apply plugin: 'elasticsearch.build'
|
||||||
archivesBaseName = 'qa-sql'
|
archivesBaseName = 'qa-sql'
|
||||||
|
@ -96,20 +94,20 @@ subprojects {
|
||||||
|
|
||||||
if (project.name != 'security') {
|
if (project.name != 'security') {
|
||||||
// The security project just configures its subprojects
|
// The security project just configures its subprojects
|
||||||
|
apply plugin: 'elasticsearch.testclusters'
|
||||||
apply plugin: 'elasticsearch.rest-test'
|
apply plugin: 'elasticsearch.rest-test'
|
||||||
|
|
||||||
integTestCluster {
|
testClusters.integTest {
|
||||||
|
distribution = 'DEFAULT'
|
||||||
setting 'xpack.monitoring.enabled', 'false'
|
setting 'xpack.monitoring.enabled', 'false'
|
||||||
setting 'xpack.ml.enabled', 'false'
|
setting 'xpack.ml.enabled', 'false'
|
||||||
setting 'xpack.watcher.enabled', 'false'
|
setting 'xpack.watcher.enabled', 'false'
|
||||||
setting 'script.max_compilations_rate', '1000/1m'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
task runqa(type: RunTask) {
|
task runqa {
|
||||||
setting 'xpack.monitoring.enabled', 'false'
|
doFirst {
|
||||||
setting 'xpack.ml.enabled', 'false'
|
println "Run with `-Dtestclusters.inspect.failure=true integTest` to leave the cluster running after failure"
|
||||||
setting 'xpack.watcher.enabled', 'false'
|
}
|
||||||
setting 'script.max_compilations_rate', '1000/1m'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,8 +6,8 @@ description = 'Run a subset of SQL tests against multiple nodes'
|
||||||
* feel should need to be tested against more than one node.
|
* feel should need to be tested against more than one node.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
integTestCluster {
|
testClusters.integTest{
|
||||||
numNodes = 2
|
numberOfNodes = 2
|
||||||
setting 'xpack.security.enabled', 'false'
|
setting 'xpack.security.enabled', 'false'
|
||||||
setting 'xpack.license.self_generated.type', 'trial'
|
setting 'xpack.license.self_generated.type', 'trial'
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,38 +29,23 @@ subprojects {
|
||||||
testCompile project(":x-pack:plugin:core")
|
testCompile project(":x-pack:plugin:core")
|
||||||
}
|
}
|
||||||
|
|
||||||
integTestCluster {
|
testClusters.integTest {
|
||||||
|
distribution = "DEFAULT"
|
||||||
// Setup auditing so we can use it in some tests
|
// Setup auditing so we can use it in some tests
|
||||||
setting 'xpack.security.audit.enabled', 'true'
|
setting 'xpack.security.audit.enabled', 'true'
|
||||||
setting 'xpack.security.enabled', 'true'
|
setting 'xpack.security.enabled', 'true'
|
||||||
setting 'xpack.license.self_generated.type', 'trial'
|
setting 'xpack.license.self_generated.type', 'trial'
|
||||||
// Setup roles used by tests
|
// Setup roles used by tests
|
||||||
extraConfigFile 'roles.yml', '../roles.yml'
|
extraConfigFile 'roles.yml', mainProject.file('roles.yml')
|
||||||
/* Setup the one admin user that we run the tests as.
|
/* Setup the one admin user that we run the tests as.
|
||||||
* Tests use "run as" to get different users. */
|
* Tests use "run as" to get different users. */
|
||||||
setupCommand 'setupUser#test_admin',
|
user username: "test_admin", password: "x-pack-test-password"
|
||||||
'bin/elasticsearch-users', 'useradd', 'test_admin', '-p', 'x-pack-test-password', '-r', 'superuser'
|
|
||||||
// Subprojects override the wait condition to work properly with security
|
|
||||||
}
|
}
|
||||||
|
|
||||||
integTestRunner {
|
integTest.runner {
|
||||||
def today = new Date().format('yyyy-MM-dd')
|
|
||||||
nonInputProperties.systemProperty 'tests.audit.logfile',
|
nonInputProperties.systemProperty 'tests.audit.logfile',
|
||||||
"${ -> integTest.nodes[0].homeDir}/logs/${ -> integTest.nodes[0].clusterName }_audit.json"
|
"${ -> testClusters.integTest.singleNode().getAuditLog()}"
|
||||||
nonInputProperties.systemProperty 'tests.audit.yesterday.logfile',
|
nonInputProperties.systemProperty 'tests.audit.yesterday.logfile',
|
||||||
"${ -> integTest.nodes[0].homeDir}/logs/${ -> integTest.nodes[0].clusterName }_audit-${today}.json"
|
"${ -> testClusters.integTest.singleNode().getAuditLog().getParentFile()}/integTest_audit-${new Date().format('yyyy-MM-dd')}.json"
|
||||||
}
|
|
||||||
|
|
||||||
runqa {
|
|
||||||
// Setup auditing so we can use it in some tests
|
|
||||||
setting 'xpack.security.audit.enabled', 'true'
|
|
||||||
setting 'xpack.security.enabled', 'true'
|
|
||||||
setting 'xpack.license.self_generated.type', 'trial'
|
|
||||||
// Setup roles used by tests
|
|
||||||
extraConfigFile 'roles.yml', '../roles.yml'
|
|
||||||
/* Setup the one admin user that we run the tests as.
|
|
||||||
* Tests use "run as" to get different users. */
|
|
||||||
setupCommand 'setupUser#test_admin',
|
|
||||||
'bin/elasticsearch-users', 'useradd', 'test_admin', '-p', 'x-pack-test-password', '-r', 'superuser'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ import java.security.KeyStore
|
||||||
import java.security.SecureRandom
|
import java.security.SecureRandom
|
||||||
|
|
||||||
// Tell the tests we're running with ssl enabled
|
// Tell the tests we're running with ssl enabled
|
||||||
integTestRunner {
|
integTest.runner {
|
||||||
systemProperty 'tests.ssl.enabled', 'true'
|
systemProperty 'tests.ssl.enabled', 'true'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -143,78 +143,32 @@ forbiddenPatterns {
|
||||||
sourceSets.test.resources.srcDir(keystoreDir)
|
sourceSets.test.resources.srcDir(keystoreDir)
|
||||||
processTestResources.dependsOn(importNodeCertificateInClientKeyStore, importClientCertificateInNodeKeyStore)
|
processTestResources.dependsOn(importNodeCertificateInClientKeyStore, importClientCertificateInNodeKeyStore)
|
||||||
|
|
||||||
integTestCluster.dependsOn(importClientCertificateInNodeKeyStore)
|
integTest.runner {
|
||||||
|
dependsOn(importClientCertificateInNodeKeyStore)
|
||||||
|
onlyIf {
|
||||||
|
// Do not attempt to form a cluster in a FIPS JVM, as doing so with a JKS keystore will fail.
|
||||||
|
// TODO Revisit this when SQL CLI client can handle key/certificate instead of only Keystores.
|
||||||
|
// https://github.com/elastic/elasticsearch/issues/32306
|
||||||
|
project.inFipsJvm == false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
integTestCluster {
|
testClusters.integTest {
|
||||||
// The setup that we actually want
|
// The setup that we actually want
|
||||||
|
setting 'xpack.license.self_generated.type', 'trial'
|
||||||
setting 'xpack.security.http.ssl.enabled', 'true'
|
setting 'xpack.security.http.ssl.enabled', 'true'
|
||||||
setting 'xpack.security.transport.ssl.enabled', 'true'
|
setting 'xpack.security.transport.ssl.enabled', 'true'
|
||||||
|
|
||||||
// ceremony to set up ssl
|
// ceremony to set up ssl
|
||||||
setting 'xpack.security.transport.ssl.keystore.path', 'test-node.jks'
|
setting 'xpack.security.transport.ssl.keystore.path', 'test-node.jks'
|
||||||
keystoreSetting 'xpack.security.transport.ssl.keystore.secure_password', 'keypass'
|
|
||||||
setting 'xpack.security.http.ssl.keystore.path', 'test-node.jks'
|
setting 'xpack.security.http.ssl.keystore.path', 'test-node.jks'
|
||||||
keystoreSetting 'xpack.security.http.ssl.keystore.secure_password', 'keypass'
|
keystore 'xpack.security.transport.ssl.keystore.secure_password', 'keypass'
|
||||||
|
keystore 'xpack.security.http.ssl.keystore.secure_password', 'keypass'
|
||||||
|
|
||||||
setting 'xpack.license.self_generated.type', 'trial'
|
|
||||||
|
|
||||||
// copy keystores into config/
|
// copy keystores into config/
|
||||||
extraConfigFile nodeKeystore.name, nodeKeystore
|
extraConfigFile nodeKeystore.name, nodeKeystore
|
||||||
extraConfigFile clientKeyStore.name, clientKeyStore
|
extraConfigFile clientKeyStore.name, clientKeyStore
|
||||||
|
|
||||||
// Override the wait condition to work properly with security and SSL
|
|
||||||
waitCondition = { NodeInfo node, AntBuilder ant ->
|
|
||||||
File tmpFile = new File(node.cwd, 'wait.success')
|
|
||||||
KeyStore keyStore = KeyStore.getInstance("JKS");
|
|
||||||
keyStore.load(clientKeyStore.newInputStream(), 'keypass'.toCharArray());
|
|
||||||
KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
|
|
||||||
kmf.init(keyStore, 'keypass'.toCharArray());
|
|
||||||
TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
|
|
||||||
tmf.init(keyStore);
|
|
||||||
SSLContext sslContext = SSLContext.getInstance("TLSv1.2");
|
|
||||||
sslContext.init(kmf.getKeyManagers(), tmf.getTrustManagers(), new SecureRandom());
|
|
||||||
for (int i = 0; i < 10; i++) {
|
|
||||||
// we use custom wait logic here for HTTPS
|
|
||||||
HttpsURLConnection httpURLConnection = null;
|
|
||||||
try {
|
|
||||||
httpURLConnection = (HttpsURLConnection) new URL("https://${node.httpUri()}/_cluster/health?wait_for_nodes=${numNodes}&wait_for_status=yellow").openConnection();
|
|
||||||
httpURLConnection.setSSLSocketFactory(sslContext.getSocketFactory());
|
|
||||||
httpURLConnection.setRequestProperty("Authorization", "Basic " +
|
|
||||||
Base64.getEncoder().encodeToString("test_admin:x-pack-test-password".getBytes(StandardCharsets.UTF_8)));
|
|
||||||
httpURLConnection.setRequestMethod("GET");
|
|
||||||
httpURLConnection.connect();
|
|
||||||
if (httpURLConnection.getResponseCode() == 200) {
|
|
||||||
tmpFile.withWriter StandardCharsets.UTF_8.name(), {
|
|
||||||
it.write(httpURLConnection.getInputStream().getText(StandardCharsets.UTF_8.name()))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (IOException e) {
|
|
||||||
if (i == 9) {
|
|
||||||
logger.error("final attempt of calling cluster health failed", e)
|
|
||||||
} else {
|
|
||||||
logger.debug("failed to call cluster health", e)
|
|
||||||
}
|
|
||||||
} finally {
|
|
||||||
if (httpURLConnection != null) {
|
|
||||||
httpURLConnection.disconnect();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// did not start, so wait a bit before trying again
|
|
||||||
Thread.sleep(500L);
|
|
||||||
}
|
|
||||||
|
|
||||||
return tmpFile.exists()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Do not attempt to form a cluster in a FIPS JVM, as doing so with a JKS keystore will fail.
|
|
||||||
// TODO Revisit this when SQL CLI client can handle key/certificate instead of only Keystores.
|
|
||||||
// https://github.com/elastic/elasticsearch/issues/32306
|
|
||||||
tasks.matching { it.name in ["integTestCluster#init", "integTestCluster#start", "integTestCluster#wait", "integTestRunner"] }.all {
|
|
||||||
onlyIf {
|
|
||||||
project.inFipsJvm == false
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,7 @@
|
||||||
integTestRunner {
|
integTest.runner {
|
||||||
systemProperty 'tests.ssl.enabled', 'false'
|
systemProperty 'tests.ssl.enabled', 'false'
|
||||||
}
|
}
|
||||||
|
|
||||||
integTestCluster {
|
testClusters.integTest {
|
||||||
setting 'xpack.license.self_generated.type', 'trial'
|
setting 'xpack.license.self_generated.type', 'trial'
|
||||||
waitCondition = { node, ant ->
|
|
||||||
File tmpFile = new File(node.cwd, 'wait.success')
|
|
||||||
ant.get(src: "http://${node.httpUri()}/_cluster/health?wait_for_nodes=>=${numNodes}&wait_for_status=yellow",
|
|
||||||
dest: tmpFile.toString(),
|
|
||||||
username: 'test_admin',
|
|
||||||
password: 'x-pack-test-password',
|
|
||||||
ignoreerrors: true,
|
|
||||||
retries: 10)
|
|
||||||
return tmpFile.exists()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,4 @@
|
||||||
integTestCluster {
|
testClusters.integTest {
|
||||||
setting 'xpack.security.enabled', 'false'
|
|
||||||
setting 'xpack.license.self_generated.type', 'trial'
|
|
||||||
}
|
|
||||||
|
|
||||||
runqa {
|
|
||||||
setting 'xpack.security.enabled', 'false'
|
setting 'xpack.security.enabled', 'false'
|
||||||
setting 'xpack.license.self_generated.type', 'trial'
|
setting 'xpack.license.self_generated.type', 'trial'
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,10 +6,10 @@ geoSysColumns
|
||||||
SYS COLUMNS TABLE LIKE 'geo';
|
SYS COLUMNS TABLE LIKE 'geo';
|
||||||
|
|
||||||
TABLE_CAT:s | TABLE_SCHEM:s| TABLE_NAME:s | COLUMN_NAME:s | DATA_TYPE:i | TYPE_NAME:s | COLUMN_SIZE:i|BUFFER_LENGTH:i|DECIMAL_DIGITS:i|NUM_PREC_RADIX:i| NULLABLE:i| REMARKS:s | COLUMN_DEF:s |SQL_DATA_TYPE:i|SQL_DATETIME_SUB:i|CHAR_OCTET_LENGTH:i|ORDINAL_POSITION:i|IS_NULLABLE:s|SCOPE_CATALOG:s|SCOPE_SCHEMA:s|SCOPE_TABLE:s|SOURCE_DATA_TYPE:sh|IS_AUTOINCREMENT:s|IS_GENERATEDCOLUMN:s
|
TABLE_CAT:s | TABLE_SCHEM:s| TABLE_NAME:s | COLUMN_NAME:s | DATA_TYPE:i | TYPE_NAME:s | COLUMN_SIZE:i|BUFFER_LENGTH:i|DECIMAL_DIGITS:i|NUM_PREC_RADIX:i| NULLABLE:i| REMARKS:s | COLUMN_DEF:s |SQL_DATA_TYPE:i|SQL_DATETIME_SUB:i|CHAR_OCTET_LENGTH:i|ORDINAL_POSITION:i|IS_NULLABLE:s|SCOPE_CATALOG:s|SCOPE_SCHEMA:s|SCOPE_TABLE:s|SOURCE_DATA_TYPE:sh|IS_AUTOINCREMENT:s|IS_GENERATEDCOLUMN:s
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster|null |geo |city |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |1 |YES |null |null |null |null |NO |NO
|
integTest|null |geo |city |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |1 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster|null |geo |location |114 |GEO_POINT |58 |16 |null |null |1 |null |null |114 |0 |null |2 |YES |null |null |null |null |NO |NO
|
integTest|null |geo |location |114 |GEO_POINT |58 |16 |null |null |1 |null |null |114 |0 |null |2 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster|null |geo |location_no_dv |114 |GEO_POINT |58 |16 |null |null |1 |null |null |114 |0 |null |3 |YES |null |null |null |null |NO |NO
|
integTest|null |geo |location_no_dv |114 |GEO_POINT |58 |16 |null |null |1 |null |null |114 |0 |null |3 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster|null |geo |region |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |4 |YES |null |null |null |null |NO |NO
|
integTest|null |geo |region |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |4 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster|null |geo |region_point |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |5 |YES |null |null |null |null |NO |NO
|
integTest|null |geo |region_point |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |5 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster|null |geo |shape |114 |GEO_SHAPE |2147483647 |2147483647 |null |null |1 |null |null |114 |0 |null |6 |YES |null |null |null |null |NO |NO
|
integTest|null |geo |shape |114 |GEO_SHAPE |2147483647 |2147483647 |null |null |1 |null |null |114 |0 |null |6 |YES |null |null |null |null |NO |NO
|
||||||
;
|
;
|
|
@ -7,16 +7,16 @@ SYS COLUMNS TABLE LIKE 'test\_emp' ESCAPE '\';
|
||||||
|
|
||||||
TABLE_CAT:s | TABLE_SCHEM:s| TABLE_NAME:s | COLUMN_NAME:s | DATA_TYPE:i | TYPE_NAME:s | COLUMN_SIZE:i| BUFFER_LENGTH:i|DECIMAL_DIGITS:i|NUM_PREC_RADIX:i | NULLABLE:i| REMARKS:s | COLUMN_DEF:s |SQL_DATA_TYPE:i|SQL_DATETIME_SUB:i|CHAR_OCTET_LENGTH:i|ORDINAL_POSITION:i|IS_NULLABLE:s|SCOPE_CATALOG:s|SCOPE_SCHEMA:s|SCOPE_TABLE:s|SOURCE_DATA_TYPE:sh|IS_AUTOINCREMENT:s|IS_GENERATEDCOLUMN:s
|
TABLE_CAT:s | TABLE_SCHEM:s| TABLE_NAME:s | COLUMN_NAME:s | DATA_TYPE:i | TYPE_NAME:s | COLUMN_SIZE:i| BUFFER_LENGTH:i|DECIMAL_DIGITS:i|NUM_PREC_RADIX:i | NULLABLE:i| REMARKS:s | COLUMN_DEF:s |SQL_DATA_TYPE:i|SQL_DATETIME_SUB:i|CHAR_OCTET_LENGTH:i|ORDINAL_POSITION:i|IS_NULLABLE:s|SCOPE_CATALOG:s|SCOPE_SCHEMA:s|SCOPE_TABLE:s|SOURCE_DATA_TYPE:sh|IS_AUTOINCREMENT:s|IS_GENERATEDCOLUMN:s
|
||||||
---------------+---------------+---------------+--------------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+----------------+-----------------+----------------+---------------+---------------+---------------+---------------+----------------+----------------+------------------
|
---------------+---------------+---------------+--------------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+----------------+-----------------+----------------+---------------+---------------+---------------+---------------+----------------+----------------+------------------
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |birth_date |93 |DATETIME |29 |8 |null |null |1 |null |null |9 |3 |null |1 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |birth_date |93 |DATETIME |29 |8 |null |null |1 |null |null |9 |3 |null |1 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |emp_no |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |3 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |emp_no |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |3 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |first_name |12 |TEXT |2147483647 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |4 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |first_name |12 |TEXT |2147483647 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |4 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |first_name.keyword|12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |5 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |first_name.keyword|12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |5 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |gender |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |6 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |gender |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |6 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |hire_date |93 |DATETIME |29 |8 |null |null |1 |null |null |9 |3 |null |7 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |hire_date |93 |DATETIME |29 |8 |null |null |1 |null |null |9 |3 |null |7 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |languages |-6 |BYTE |5 |1 |null |10 |1 |null |null |-6 |0 |null |8 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |languages |-6 |BYTE |5 |1 |null |10 |1 |null |null |-6 |0 |null |8 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |last_name |12 |TEXT |2147483647 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |9 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |last_name |12 |TEXT |2147483647 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |9 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |last_name.keyword |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |10 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |last_name.keyword |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |10 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |salary |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |11 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |salary |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |11 |YES |null |null |null |null |NO |NO
|
||||||
;
|
;
|
||||||
|
|
||||||
sysColumnsWithTableLikeNoEscape
|
sysColumnsWithTableLikeNoEscape
|
||||||
|
@ -27,39 +27,39 @@ SYS COLUMNS TABLE LIKE 'test_emp';
|
||||||
|
|
||||||
TABLE_CAT:s | TABLE_SCHEM:s| TABLE_NAME:s | COLUMN_NAME:s | DATA_TYPE:i | TYPE_NAME:s | COLUMN_SIZE:i| BUFFER_LENGTH:i|DECIMAL_DIGITS:i|NUM_PREC_RADIX:i | NULLABLE:i| REMARKS:s | COLUMN_DEF:s |SQL_DATA_TYPE:i|SQL_DATETIME_SUB:i|CHAR_OCTET_LENGTH:i|ORDINAL_POSITION:i|IS_NULLABLE:s|SCOPE_CATALOG:s|SCOPE_SCHEMA:s|SCOPE_TABLE:s|SOURCE_DATA_TYPE:sh|IS_AUTOINCREMENT:s|IS_GENERATEDCOLUMN:s
|
TABLE_CAT:s | TABLE_SCHEM:s| TABLE_NAME:s | COLUMN_NAME:s | DATA_TYPE:i | TYPE_NAME:s | COLUMN_SIZE:i| BUFFER_LENGTH:i|DECIMAL_DIGITS:i|NUM_PREC_RADIX:i | NULLABLE:i| REMARKS:s | COLUMN_DEF:s |SQL_DATA_TYPE:i|SQL_DATETIME_SUB:i|CHAR_OCTET_LENGTH:i|ORDINAL_POSITION:i|IS_NULLABLE:s|SCOPE_CATALOG:s|SCOPE_SCHEMA:s|SCOPE_TABLE:s|SOURCE_DATA_TYPE:sh|IS_AUTOINCREMENT:s|IS_GENERATEDCOLUMN:s
|
||||||
---------------+---------------+---------------+--------------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+----------------+-----------------+----------------+---------------+---------------+---------------+---------------+----------------+----------------+------------------
|
---------------+---------------+---------------+--------------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+----------------+-----------------+----------------+---------------+---------------+---------------+---------------+----------------+----------------+------------------
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |birth_date |93 |DATETIME |29 |8 |null |null |1 |null |null |9 |3 |null |1 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |birth_date |93 |DATETIME |29 |8 |null |null |1 |null |null |9 |3 |null |1 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |emp_no |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |3 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |emp_no |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |3 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |extra.info.gender |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |6 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |extra.info.gender |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |6 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |extra_gender |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |7 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |extra_gender |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |7 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |extra_no |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |8 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |extra_no |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |8 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |first_name |12 |TEXT |2147483647 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |9 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |first_name |12 |TEXT |2147483647 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |9 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |first_name.keyword|12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |10 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |first_name.keyword|12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |10 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |gender |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |11 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |gender |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |11 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |hire_date |93 |DATETIME |29 |8 |null |null |1 |null |null |9 |3 |null |12 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |hire_date |93 |DATETIME |29 |8 |null |null |1 |null |null |9 |3 |null |12 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |languages |-6 |BYTE |5 |1 |null |10 |1 |null |null |-6 |0 |null |13 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |languages |-6 |BYTE |5 |1 |null |10 |1 |null |null |-6 |0 |null |13 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |last_name |12 |TEXT |2147483647 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |14 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |last_name |12 |TEXT |2147483647 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |14 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |last_name.keyword |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |15 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |last_name.keyword |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |15 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |salary |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |16 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |salary |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |16 |YES |null |null |null |null |NO |NO
|
||||||
;
|
;
|
||||||
|
|
||||||
sysColumnsWithCatalogAndLike
|
sysColumnsWithCatalogAndLike
|
||||||
SYS COLUMNS CATALOG 'x-pack_plugin_sql_qa_single-node_integTestCluster' TABLE LIKE 'test\_emp\_copy' ESCAPE '\';
|
SYS COLUMNS CATALOG 'integTest' TABLE LIKE 'test\_emp\_copy' ESCAPE '\';
|
||||||
|
|
||||||
TABLE_CAT:s | TABLE_SCHEM:s| TABLE_NAME:s | COLUMN_NAME:s | DATA_TYPE:i | TYPE_NAME:s | COLUMN_SIZE:i| BUFFER_LENGTH:i|DECIMAL_DIGITS:i|NUM_PREC_RADIX:i | NULLABLE:i| REMARKS:s | COLUMN_DEF:s |SQL_DATA_TYPE:i|SQL_DATETIME_SUB:i|CHAR_OCTET_LENGTH:i|ORDINAL_POSITION:i|IS_NULLABLE:s|SCOPE_CATALOG:s|SCOPE_SCHEMA:s|SCOPE_TABLE:s|SOURCE_DATA_TYPE:sh|IS_AUTOINCREMENT:s|IS_GENERATEDCOLUMN:s
|
TABLE_CAT:s | TABLE_SCHEM:s| TABLE_NAME:s | COLUMN_NAME:s | DATA_TYPE:i | TYPE_NAME:s | COLUMN_SIZE:i| BUFFER_LENGTH:i|DECIMAL_DIGITS:i|NUM_PREC_RADIX:i | NULLABLE:i| REMARKS:s | COLUMN_DEF:s |SQL_DATA_TYPE:i|SQL_DATETIME_SUB:i|CHAR_OCTET_LENGTH:i|ORDINAL_POSITION:i|IS_NULLABLE:s|SCOPE_CATALOG:s|SCOPE_SCHEMA:s|SCOPE_TABLE:s|SOURCE_DATA_TYPE:sh|IS_AUTOINCREMENT:s|IS_GENERATEDCOLUMN:s
|
||||||
---------------+---------------+---------------+-------------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+----------------+-----------------+----------------+---------------+---------------+---------------+---------------+----------------+----------------+------------------
|
---------------+---------------+---------------+-------------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+----------------+-----------------+----------------+---------------+---------------+---------------+---------------+----------------+----------------+------------------
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp_copy|birth_date |93 |DATETIME |29 |8 |null |null |1 |null |null |9 |3 |null |1 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp_copy|birth_date |93 |DATETIME |29 |8 |null |null |1 |null |null |9 |3 |null |1 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp_copy|emp_no |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |3 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp_copy|emp_no |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |3 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp_copy|extra.info.gender |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |6 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp_copy|extra.info.gender |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |6 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp_copy|extra_gender |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |7 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp_copy|extra_gender |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |7 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp_copy|extra_no |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |8 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp_copy|extra_no |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |8 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp_copy|first_name |12 |TEXT |2147483647 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |9 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp_copy|first_name |12 |TEXT |2147483647 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |9 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp_copy|first_name.keyword|12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |10 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp_copy|first_name.keyword|12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |10 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp_copy|gender |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |11 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp_copy|gender |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |11 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp_copy|hire_date |93 |DATETIME |29 |8 |null |null |1 |null |null |9 |3 |null |12 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp_copy|hire_date |93 |DATETIME |29 |8 |null |null |1 |null |null |9 |3 |null |12 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp_copy|languages |-6 |BYTE |5 |1 |null |10 |1 |null |null |-6 |0 |null |13 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp_copy|languages |-6 |BYTE |5 |1 |null |10 |1 |null |null |-6 |0 |null |13 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp_copy|last_name |12 |TEXT |2147483647 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |14 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp_copy|last_name |12 |TEXT |2147483647 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |14 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp_copy|last_name.keyword |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |15 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp_copy|last_name.keyword |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |15 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp_copy|salary |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |16 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp_copy|salary |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |16 |YES |null |null |null |null |NO |NO
|
||||||
;
|
;
|
||||||
|
|
||||||
sysColumnsOnAliasWithTableLike
|
sysColumnsOnAliasWithTableLike
|
||||||
|
@ -67,19 +67,19 @@ SYS COLUMNS TABLE LIKE 'test\_alias' ESCAPE '\';
|
||||||
|
|
||||||
TABLE_CAT:s | TABLE_SCHEM:s| TABLE_NAME:s | COLUMN_NAME:s | DATA_TYPE:i | TYPE_NAME:s | COLUMN_SIZE:i| BUFFER_LENGTH:i|DECIMAL_DIGITS:i|NUM_PREC_RADIX:i | NULLABLE:i| REMARKS:s | COLUMN_DEF:s |SQL_DATA_TYPE:i|SQL_DATETIME_SUB:i|CHAR_OCTET_LENGTH:i|ORDINAL_POSITION:i|IS_NULLABLE:s|SCOPE_CATALOG:s|SCOPE_SCHEMA:s|SCOPE_TABLE:s|SOURCE_DATA_TYPE:sh|IS_AUTOINCREMENT:s|IS_GENERATEDCOLUMN:s
|
TABLE_CAT:s | TABLE_SCHEM:s| TABLE_NAME:s | COLUMN_NAME:s | DATA_TYPE:i | TYPE_NAME:s | COLUMN_SIZE:i| BUFFER_LENGTH:i|DECIMAL_DIGITS:i|NUM_PREC_RADIX:i | NULLABLE:i| REMARKS:s | COLUMN_DEF:s |SQL_DATA_TYPE:i|SQL_DATETIME_SUB:i|CHAR_OCTET_LENGTH:i|ORDINAL_POSITION:i|IS_NULLABLE:s|SCOPE_CATALOG:s|SCOPE_SCHEMA:s|SCOPE_TABLE:s|SOURCE_DATA_TYPE:sh|IS_AUTOINCREMENT:s|IS_GENERATEDCOLUMN:s
|
||||||
---------------+---------------+---------------+--------------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+----------------+-----------------+----------------+---------------+---------------+---------------+---------------+----------------+----------------+------------------
|
---------------+---------------+---------------+--------------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+----------------+-----------------+----------------+---------------+---------------+---------------+---------------+----------------+----------------+------------------
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_alias |birth_date |93 |DATETIME |29 |8 |null |null |1 |null |null |9 |3 |null |1 |YES |null |null |null |null |NO |NO
|
integTest |null |test_alias |birth_date |93 |DATETIME |29 |8 |null |null |1 |null |null |9 |3 |null |1 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_alias |emp_no |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |3 |YES |null |null |null |null |NO |NO
|
integTest |null |test_alias |emp_no |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |3 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_alias |extra.info.gender |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |6 |YES |null |null |null |null |NO |NO
|
integTest |null |test_alias |extra.info.gender |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |6 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_alias |extra_gender |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |7 |YES |null |null |null |null |NO |NO
|
integTest |null |test_alias |extra_gender |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |7 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_alias |extra_no |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |8 |YES |null |null |null |null |NO |NO
|
integTest |null |test_alias |extra_no |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |8 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_alias |first_name |12 |TEXT |2147483647 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |9 |YES |null |null |null |null |NO |NO
|
integTest |null |test_alias |first_name |12 |TEXT |2147483647 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |9 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_alias |first_name.keyword|12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |10 |YES |null |null |null |null |NO |NO
|
integTest |null |test_alias |first_name.keyword|12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |10 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_alias |gender |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |11 |YES |null |null |null |null |NO |NO
|
integTest |null |test_alias |gender |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |11 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_alias |hire_date |93 |DATETIME |29 |8 |null |null |1 |null |null |9 |3 |null |12 |YES |null |null |null |null |NO |NO
|
integTest |null |test_alias |hire_date |93 |DATETIME |29 |8 |null |null |1 |null |null |9 |3 |null |12 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_alias |languages |-6 |BYTE |5 |1 |null |10 |1 |null |null |-6 |0 |null |13 |YES |null |null |null |null |NO |NO
|
integTest |null |test_alias |languages |-6 |BYTE |5 |1 |null |10 |1 |null |null |-6 |0 |null |13 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_alias |last_name |12 |TEXT |2147483647 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |14 |YES |null |null |null |null |NO |NO
|
integTest |null |test_alias |last_name |12 |TEXT |2147483647 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |14 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_alias |last_name.keyword |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |15 |YES |null |null |null |null |NO |NO
|
integTest |null |test_alias |last_name.keyword |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |15 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_alias |salary |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |16 |YES |null |null |null |null |NO |NO
|
integTest |null |test_alias |salary |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |16 |YES |null |null |null |null |NO |NO
|
||||||
;
|
;
|
||||||
|
|
||||||
sysColumnsAllTables
|
sysColumnsAllTables
|
||||||
|
@ -87,35 +87,35 @@ SYS COLUMNS TABLE LIKE '%';
|
||||||
|
|
||||||
TABLE_CAT:s | TABLE_SCHEM:s| TABLE_NAME:s | COLUMN_NAME:s | DATA_TYPE:i | TYPE_NAME:s | COLUMN_SIZE:i| BUFFER_LENGTH:i|DECIMAL_DIGITS:i|NUM_PREC_RADIX:i | NULLABLE:i| REMARKS:s | COLUMN_DEF:s |SQL_DATA_TYPE:i|SQL_DATETIME_SUB:i|CHAR_OCTET_LENGTH:i|ORDINAL_POSITION:i|IS_NULLABLE:s|SCOPE_CATALOG:s|SCOPE_SCHEMA:s|SCOPE_TABLE:s|SOURCE_DATA_TYPE:sh|IS_AUTOINCREMENT:s|IS_GENERATEDCOLUMN:s
|
TABLE_CAT:s | TABLE_SCHEM:s| TABLE_NAME:s | COLUMN_NAME:s | DATA_TYPE:i | TYPE_NAME:s | COLUMN_SIZE:i| BUFFER_LENGTH:i|DECIMAL_DIGITS:i|NUM_PREC_RADIX:i | NULLABLE:i| REMARKS:s | COLUMN_DEF:s |SQL_DATA_TYPE:i|SQL_DATETIME_SUB:i|CHAR_OCTET_LENGTH:i|ORDINAL_POSITION:i|IS_NULLABLE:s|SCOPE_CATALOG:s|SCOPE_SCHEMA:s|SCOPE_TABLE:s|SOURCE_DATA_TYPE:sh|IS_AUTOINCREMENT:s|IS_GENERATEDCOLUMN:s
|
||||||
---------------+---------------+---------------+--------------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+----------------+-----------------+----------------+---------------+---------------+---------------+---------------+----------------+----------------+------------------
|
---------------+---------------+---------------+--------------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------+----------------+-----------------+----------------+---------------+---------------+---------------+---------------+----------------+----------------+------------------
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |logs |@timestamp |93 |DATETIME |29 |8 |null |null |1 |null |null |9 |3 |null |1 |YES |null |null |null |null |NO |NO
|
integTest |null |logs |@timestamp |93 |DATETIME |29 |8 |null |null |1 |null |null |9 |3 |null |1 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |logs |bytes_in |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |2 |YES |null |null |null |null |NO |NO
|
integTest |null |logs |bytes_in |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |2 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |logs |bytes_out |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |3 |YES |null |null |null |null |NO |NO
|
integTest |null |logs |bytes_out |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |3 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |logs |client_ip |12 |IP |0 |39 |null |null |1 |null |null |12 |0 |null |4 |YES |null |null |null |null |NO |NO
|
integTest |null |logs |client_ip |12 |IP |0 |39 |null |null |1 |null |null |12 |0 |null |4 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |logs |client_port |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |5 |YES |null |null |null |null |NO |NO
|
integTest |null |logs |client_port |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |5 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |logs |dest_ip |12 |IP |0 |39 |null |null |1 |null |null |12 |0 |null |6 |YES |null |null |null |null |NO |NO
|
integTest |null |logs |dest_ip |12 |IP |0 |39 |null |null |1 |null |null |12 |0 |null |6 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |logs |id |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |7 |YES |null |null |null |null |NO |NO
|
integTest |null |logs |id |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |7 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |logs |status |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |8 |YES |null |null |null |null |NO |NO
|
integTest |null |logs |status |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |8 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |birth_date |93 |DATETIME |29 |8 |null |null |1 |null |null |9 |3 |null |1 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |birth_date |93 |DATETIME |29 |8 |null |null |1 |null |null |9 |3 |null |1 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |emp_no |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |3 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |emp_no |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |3 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |first_name |12 |TEXT |2147483647 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |4 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |first_name |12 |TEXT |2147483647 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |4 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |first_name.keyword|12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |5 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |first_name.keyword|12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |5 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |gender |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |6 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |gender |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |6 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |hire_date |93 |DATETIME |29 |8 |null |null |1 |null |null |9 |3 |null |7 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |hire_date |93 |DATETIME |29 |8 |null |null |1 |null |null |9 |3 |null |7 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |languages |-6 |BYTE |5 |1 |null |10 |1 |null |null |-6 |0 |null |8 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |languages |-6 |BYTE |5 |1 |null |10 |1 |null |null |-6 |0 |null |8 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |last_name |12 |TEXT |2147483647 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |9 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |last_name |12 |TEXT |2147483647 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |9 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |last_name.keyword |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |10 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |last_name.keyword |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |10 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp |salary |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |11 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp |salary |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |11 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp_copy |birth_date |93 |DATETIME |29 |8 |null |null |1 |null |null |9 |3 |null |1 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp_copy |birth_date |93 |DATETIME |29 |8 |null |null |1 |null |null |9 |3 |null |1 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp_copy |emp_no |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |3 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp_copy |emp_no |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |3 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp_copy |extra.info.gender |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |6 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp_copy |extra.info.gender |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |6 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp_copy |extra_gender |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |7 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp_copy |extra_gender |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |7 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp_copy |extra_no |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |8 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp_copy |extra_no |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |8 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp_copy |first_name |12 |TEXT |2147483647 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |9 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp_copy |first_name |12 |TEXT |2147483647 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |9 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp_copy |first_name.keyword|12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |10 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp_copy |first_name.keyword|12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |10 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp_copy |gender |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |11 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp_copy |gender |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |11 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp_copy |hire_date |93 |DATETIME |29 |8 |null |null |1 |null |null |9 |3 |null |12 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp_copy |hire_date |93 |DATETIME |29 |8 |null |null |1 |null |null |9 |3 |null |12 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp_copy |languages |-6 |BYTE |5 |1 |null |10 |1 |null |null |-6 |0 |null |13 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp_copy |languages |-6 |BYTE |5 |1 |null |10 |1 |null |null |-6 |0 |null |13 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp_copy |last_name |12 |TEXT |2147483647 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |14 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp_copy |last_name |12 |TEXT |2147483647 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |14 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp_copy |last_name.keyword |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |15 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp_copy |last_name.keyword |12 |KEYWORD |32766 |2147483647 |null |null |1 |null |null |12 |0 |2147483647 |15 |YES |null |null |null |null |NO |NO
|
||||||
x-pack_plugin_sql_qa_single-node_integTestCluster |null |test_emp_copy |salary |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |16 |YES |null |null |null |null |NO |NO
|
integTest |null |test_emp_copy |salary |4 |INTEGER |11 |4 |null |10 |1 |null |null |4 |0 |null |16 |YES |null |null |null |null |NO |NO
|
||||||
;
|
;
|
|
@ -1,5 +1,4 @@
|
||||||
import org.elasticsearch.gradle.http.WaitForHttpResource
|
apply plugin: 'elasticsearch.testclusters'
|
||||||
|
|
||||||
apply plugin: 'elasticsearch.standalone-rest-test'
|
apply plugin: 'elasticsearch.standalone-rest-test'
|
||||||
apply plugin: 'elasticsearch.rest-test'
|
apply plugin: 'elasticsearch.rest-test'
|
||||||
|
|
||||||
|
@ -19,10 +18,11 @@ forbiddenPatterns {
|
||||||
|
|
||||||
File caFile = project.file('src/test/resources/ssl/ca.p12')
|
File caFile = project.file('src/test/resources/ssl/ca.p12')
|
||||||
|
|
||||||
integTestCluster {
|
testClusters.integTest {
|
||||||
|
distribution = "DEFAULT"
|
||||||
// Whitelist reindexing from the local node so we can test it.
|
// Whitelist reindexing from the local node so we can test it.
|
||||||
extraConfigFile 'http.key', project.projectDir.toPath().resolve('src/test/resources/ssl/http.key')
|
extraConfigFile 'http.key', file('src/test/resources/ssl/http.key')
|
||||||
extraConfigFile 'http.crt', project.projectDir.toPath().resolve('src/test/resources/ssl/http.crt')
|
extraConfigFile 'http.crt', file('src/test/resources/ssl/http.crt')
|
||||||
extraConfigFile 'ca.p12', caFile
|
extraConfigFile 'ca.p12', caFile
|
||||||
setting 'reindex.remote.whitelist', '127.0.0.1:*'
|
setting 'reindex.remote.whitelist', '127.0.0.1:*'
|
||||||
setting 'xpack.ilm.enabled', 'false'
|
setting 'xpack.ilm.enabled', 'false'
|
||||||
|
@ -43,26 +43,13 @@ integTestCluster {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
extraConfigFile 'roles.yml', 'roles.yml'
|
extraConfigFile 'roles.yml', file('roles.yml')
|
||||||
[
|
user username: "test_admin", password: 'x-pack-test-password', role: "superuser"
|
||||||
test_admin: 'superuser',
|
user username: "powerful_user", password: 'x-pack-test-password', role: "superuser"
|
||||||
powerful_user: 'superuser',
|
user username: "minimal_user", password: 'x-pack-test-password', role: "minimal"
|
||||||
minimal_user: 'minimal',
|
user username: "minimal_with_task_user", password: 'x-pack-test-password', role: "minimal_with_task"
|
||||||
minimal_with_task_user: 'minimal_with_task',
|
user username: "readonly_user", password: 'x-pack-test-password', role: "readonly"
|
||||||
readonly_user: 'readonly',
|
user username: "dest_only_user", password: 'x-pack-test-password', role: "dest_only"
|
||||||
dest_only_user: 'dest_only',
|
user username: "can_not_see_hidden_docs_user", password: 'x-pack-test-password', role: "can_not_see_hidden_docs"
|
||||||
can_not_see_hidden_docs_user: 'can_not_see_hidden_docs',
|
user username: "can_not_see_hidden_fields_user", password: 'x-pack-test-password', role: "can_not_see_hidden_fields"
|
||||||
can_not_see_hidden_fields_user: 'can_not_see_hidden_fields',
|
|
||||||
].each { String user, String role ->
|
|
||||||
setupCommand 'setupUser#' + user,
|
|
||||||
'bin/elasticsearch-users', 'useradd', user, '-p', 'x-pack-test-password', '-r', role
|
|
||||||
}
|
|
||||||
waitCondition = { node, ant ->
|
|
||||||
WaitForHttpResource http = new WaitForHttpResource("https", node.httpUri(), numNodes)
|
|
||||||
http.setTrustStoreFile(caFile)
|
|
||||||
http.setTrustStorePassword("password")
|
|
||||||
http.setUsername("test_admin")
|
|
||||||
http.setPassword("x-pack-test-password")
|
|
||||||
return http.wait(5000)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@ import org.elasticsearch.gradle.MavenFilteringHack
|
||||||
import org.elasticsearch.gradle.test.NodeInfo
|
import org.elasticsearch.gradle.test.NodeInfo
|
||||||
import org.elasticsearch.gradle.http.WaitForHttpResource
|
import org.elasticsearch.gradle.http.WaitForHttpResource
|
||||||
|
|
||||||
|
apply plugin: 'elasticsearch.testclusters'
|
||||||
apply plugin: 'elasticsearch.standalone-rest-test'
|
apply plugin: 'elasticsearch.standalone-rest-test'
|
||||||
apply plugin: 'elasticsearch.rest-test'
|
apply plugin: 'elasticsearch.rest-test'
|
||||||
|
|
||||||
|
@ -37,16 +38,11 @@ task copyKeyCerts(type: Copy) {
|
||||||
sourceSets.test.resources.srcDir(keystoreDir)
|
sourceSets.test.resources.srcDir(keystoreDir)
|
||||||
processTestResources.dependsOn(copyKeyCerts)
|
processTestResources.dependsOn(copyKeyCerts)
|
||||||
|
|
||||||
integTestCluster.dependsOn(copyKeyCerts)
|
integTest.runner.dependsOn(copyKeyCerts)
|
||||||
|
|
||||||
ext.pluginsCount = 0
|
def pluginsCount = 0
|
||||||
project(':plugins').getChildProjects().each { pluginName, pluginProject ->
|
testClusters.integTest {
|
||||||
// need to get a non-decorated project object, so must re-lookup the project by path
|
distribution = "DEFAULT"
|
||||||
integTestCluster.plugin(pluginProject.path)
|
|
||||||
pluginsCount += 1
|
|
||||||
}
|
|
||||||
|
|
||||||
integTestCluster {
|
|
||||||
setting 'xpack.monitoring.collection.interval', '1s'
|
setting 'xpack.monitoring.collection.interval', '1s'
|
||||||
setting 'xpack.monitoring.exporters._http.type', 'http'
|
setting 'xpack.monitoring.exporters._http.type', 'http'
|
||||||
setting 'xpack.monitoring.exporters._http.enabled', 'false'
|
setting 'xpack.monitoring.exporters._http.enabled', 'false'
|
||||||
|
@ -61,7 +57,7 @@ integTestCluster {
|
||||||
setting 'xpack.security.http.ssl.key', 'testnode.pem'
|
setting 'xpack.security.http.ssl.key', 'testnode.pem'
|
||||||
setting 'xpack.security.http.ssl.certificate', 'testnode.crt'
|
setting 'xpack.security.http.ssl.certificate', 'testnode.crt'
|
||||||
setting 'xpack.security.http.ssl.certificate_authorities', 'testnode.crt'
|
setting 'xpack.security.http.ssl.certificate_authorities', 'testnode.crt'
|
||||||
keystoreSetting 'xpack.security.http.ssl.secure_key_passphrase', 'testnode'
|
keystore 'xpack.security.http.ssl.secure_key_passphrase', 'testnode'
|
||||||
|
|
||||||
setting 'xpack.ilm.enabled', 'false'
|
setting 'xpack.ilm.enabled', 'false'
|
||||||
setting 'xpack.ml.enabled', 'false'
|
setting 'xpack.ml.enabled', 'false'
|
||||||
|
@ -73,18 +69,13 @@ integTestCluster {
|
||||||
extraConfigFile clientKey.name, clientKey
|
extraConfigFile clientKey.name, clientKey
|
||||||
extraConfigFile clientCert.name, clientCert
|
extraConfigFile clientCert.name, clientCert
|
||||||
|
|
||||||
setupCommand 'setupTestUser',
|
user username: "test_user", password: "x-pack-test-password"
|
||||||
'bin/elasticsearch-users', 'useradd', 'test_user', '-p', 'x-pack-test-password', '-r', 'superuser'
|
user username: "monitoring_agent", password: "x-pack-test-password", role: "remote_monitoring_agent"
|
||||||
setupCommand 'setupMonitoringUser',
|
|
||||||
'bin/elasticsearch-users', 'useradd', 'monitoring_agent', '-p', 'x-pack-test-password', '-r', 'remote_monitoring_agent'
|
|
||||||
|
|
||||||
waitCondition = { NodeInfo node, AntBuilder ant ->
|
project(':plugins').getChildProjects().each { pluginName, pluginProject ->
|
||||||
WaitForHttpResource http = new WaitForHttpResource("https", node.httpUri(), numNodes)
|
plugin file(pluginProject.tasks.bundlePlugin.archiveFile)
|
||||||
http.setTrustStoreFile(clientKeyStore)
|
tasks.integTest.dependsOn pluginProject.tasks.bundlePlugin
|
||||||
http.setTrustStorePassword("testclient")
|
pluginsCount += 1
|
||||||
http.setUsername("test_user")
|
|
||||||
http.setPassword("x-pack-test-password")
|
|
||||||
return http.wait(5000)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import org.elasticsearch.gradle.MavenFilteringHack
|
import org.elasticsearch.gradle.MavenFilteringHack
|
||||||
|
|
||||||
|
apply plugin: 'elasticsearch.testclusters'
|
||||||
apply plugin: 'elasticsearch.standalone-rest-test'
|
apply plugin: 'elasticsearch.standalone-rest-test'
|
||||||
apply plugin: 'elasticsearch.rest-test'
|
apply plugin: 'elasticsearch.rest-test'
|
||||||
|
|
||||||
|
@ -7,27 +8,16 @@ dependencies {
|
||||||
testCompile project(':x-pack:qa')
|
testCompile project(':x-pack:qa')
|
||||||
}
|
}
|
||||||
|
|
||||||
ext.pluginsCount = 0
|
int pluginsCount = 0
|
||||||
project(':plugins').getChildProjects().each { pluginName, pluginProject ->
|
testClusters.integTest {
|
||||||
// need to get a non-decorated project object, so must re-lookup the project by path
|
distribution = "DEFAULT"
|
||||||
integTestCluster.plugin(pluginProject.path)
|
|
||||||
pluginsCount += 1
|
|
||||||
}
|
|
||||||
|
|
||||||
integTestCluster {
|
|
||||||
setting 'xpack.security.enabled', 'true'
|
setting 'xpack.security.enabled', 'true'
|
||||||
setting 'xpack.license.self_generated.type', 'trial'
|
setting 'xpack.license.self_generated.type', 'trial'
|
||||||
setupCommand 'setupDummyUser',
|
user username: "test_user", password: "x-pack-test-password"
|
||||||
'bin/elasticsearch-users', 'useradd', 'test_user', '-p', 'x-pack-test-password', '-r', 'superuser'
|
project(':plugins').getChildProjects().each { pluginName, pluginProject ->
|
||||||
waitCondition = { node, ant ->
|
plugin file(pluginProject.tasks.bundlePlugin.archiveFile)
|
||||||
File tmpFile = new File(node.cwd, 'wait.success')
|
tasks.integTest.dependsOn pluginProject.tasks.bundlePlugin
|
||||||
ant.get(src: "http://${node.httpUri()}/_cluster/health?wait_for_nodes=>=${numNodes}&wait_for_status=yellow",
|
pluginsCount += 1
|
||||||
dest: tmpFile.toString(),
|
|
||||||
username: 'test_user',
|
|
||||||
password: 'x-pack-test-password',
|
|
||||||
ignoreerrors: true,
|
|
||||||
retries: 10)
|
|
||||||
return tmpFile.exists()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@ import groovy.json.JsonSlurper
|
||||||
import javax.net.ssl.HttpsURLConnection
|
import javax.net.ssl.HttpsURLConnection
|
||||||
import java.nio.charset.StandardCharsets
|
import java.nio.charset.StandardCharsets
|
||||||
|
|
||||||
|
apply plugin: 'elasticsearch.testclusters'
|
||||||
apply plugin: 'elasticsearch.standalone-rest-test'
|
apply plugin: 'elasticsearch.standalone-rest-test'
|
||||||
apply plugin: 'elasticsearch.rest-test'
|
apply plugin: 'elasticsearch.rest-test'
|
||||||
|
|
||||||
|
@ -11,23 +12,18 @@ dependencies {
|
||||||
testCompile project(path: xpackModule('watcher'), configuration: 'runtime')
|
testCompile project(path: xpackModule('watcher'), configuration: 'runtime')
|
||||||
}
|
}
|
||||||
|
|
||||||
ext {
|
|
||||||
jiraUrl = System.getenv('jira_url')
|
|
||||||
jiraUser = System.getenv('jira_user')
|
|
||||||
jiraPassword = System.getenv('jira_password')
|
|
||||||
jiraProject = System.getenv('jira_project')
|
|
||||||
}
|
|
||||||
|
|
||||||
integTestCluster {
|
String jiraUrl = System.getenv('jira_url')
|
||||||
|
String jiraUser = System.getenv('jira_user')
|
||||||
|
String jiraPassword = System.getenv('jira_password')
|
||||||
|
String jiraProject = System.getenv('jira_project')
|
||||||
|
|
||||||
|
testClusters.integTest {
|
||||||
setting 'xpack.security.enabled', 'false'
|
setting 'xpack.security.enabled', 'false'
|
||||||
setting 'xpack.monitoring.enabled', 'false'
|
setting 'xpack.monitoring.enabled', 'false'
|
||||||
setting 'xpack.ml.enabled', 'false'
|
setting 'xpack.ml.enabled', 'false'
|
||||||
setting 'xpack.license.self_generated.type', 'trial'
|
setting 'xpack.license.self_generated.type', 'trial'
|
||||||
setting 'logger.org.elasticsearch.xpack.watcher', 'DEBUG'
|
setting 'logger.org.elasticsearch.xpack.watcher', 'DEBUG'
|
||||||
keystoreSetting 'xpack.notification.jira.account.test.secure_url', jiraUrl
|
|
||||||
keystoreSetting 'xpack.notification.jira.account.test.secure_user', jiraUser
|
|
||||||
keystoreSetting 'xpack.notification.jira.account.test.secure_password', jiraPassword
|
|
||||||
setting 'xpack.notification.jira.account.test.issue_defaults.project.key', jiraProject
|
|
||||||
setting 'xpack.notification.jira.account.test.issue_defaults.issuetype.name', 'Bug'
|
setting 'xpack.notification.jira.account.test.issue_defaults.issuetype.name', 'Bug'
|
||||||
setting 'xpack.notification.jira.account.test.issue_defaults.labels.0', 'integration-tests'
|
setting 'xpack.notification.jira.account.test.issue_defaults.labels.0', 'integration-tests'
|
||||||
}
|
}
|
||||||
|
@ -49,7 +45,13 @@ if (!jiraUrl && !jiraUser && !jiraPassword && !jiraProject) {
|
||||||
integTest.enabled = false
|
integTest.enabled = false
|
||||||
testingConventions.enabled = false
|
testingConventions.enabled = false
|
||||||
} else {
|
} else {
|
||||||
integTestRunner.finalizedBy cleanJira
|
testClusters.integTest {
|
||||||
|
setting 'xpack.notification.jira.account.test.issue_defaults.project.key', jiraProject
|
||||||
|
keystore 'xpack.notification.jira.account.test.secure_url', jiraUrl
|
||||||
|
keystore 'xpack.notification.jira.account.test.secure_user', jiraUser
|
||||||
|
keystore 'xpack.notification.jira.account.test.secure_password', jiraPassword
|
||||||
|
}
|
||||||
|
integTest.runner.finalizedBy cleanJira
|
||||||
}
|
}
|
||||||
|
|
||||||
/** List all issues associated to a given Jira project **/
|
/** List all issues associated to a given Jira project **/
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
apply plugin: 'elasticsearch.testclusters'
|
||||||
apply plugin: 'elasticsearch.standalone-rest-test'
|
apply plugin: 'elasticsearch.standalone-rest-test'
|
||||||
apply plugin: 'elasticsearch.rest-test'
|
apply plugin: 'elasticsearch.rest-test'
|
||||||
|
|
||||||
|
@ -8,16 +9,16 @@ dependencies {
|
||||||
|
|
||||||
String pagerDutyServiceKey = System.getenv('pagerduty_service_api_key')
|
String pagerDutyServiceKey = System.getenv('pagerduty_service_api_key')
|
||||||
|
|
||||||
integTestCluster {
|
if (!pagerDutyServiceKey) {
|
||||||
|
integTest.enabled = false
|
||||||
|
testingConventions.enabled = false
|
||||||
|
} else {
|
||||||
|
testClusters.integTest {
|
||||||
setting 'xpack.security.enabled', 'false'
|
setting 'xpack.security.enabled', 'false'
|
||||||
setting 'xpack.monitoring.enabled', 'false'
|
setting 'xpack.monitoring.enabled', 'false'
|
||||||
setting 'xpack.ml.enabled', 'false'
|
setting 'xpack.ml.enabled', 'false'
|
||||||
setting 'xpack.license.self_generated.type', 'trial'
|
setting 'xpack.license.self_generated.type', 'trial'
|
||||||
setting 'logger.org.elasticsearch.xpack.watcher', 'DEBUG'
|
setting 'logger.org.elasticsearch.xpack.watcher', 'DEBUG'
|
||||||
keystoreSetting 'xpack.notification.pagerduty.account.test_account.secure_service_api_key', pagerDutyServiceKey
|
keystore 'xpack.notification.pagerduty.account.test_account.secure_service_api_key', pagerDutyServiceKey
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!pagerDutyServiceKey) {
|
|
||||||
integTest.enabled = false
|
|
||||||
testingConventions.enabled = false
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
apply plugin: 'elasticsearch.testclusters'
|
||||||
apply plugin: 'elasticsearch.standalone-rest-test'
|
apply plugin: 'elasticsearch.standalone-rest-test'
|
||||||
apply plugin: 'elasticsearch.rest-test'
|
apply plugin: 'elasticsearch.rest-test'
|
||||||
|
|
||||||
|
@ -8,16 +9,16 @@ dependencies {
|
||||||
|
|
||||||
String slackUrl = System.getenv('slack_url')
|
String slackUrl = System.getenv('slack_url')
|
||||||
|
|
||||||
integTestCluster {
|
if (!slackUrl) {
|
||||||
|
integTest.enabled = false
|
||||||
|
testingConventions.enabled = false
|
||||||
|
} else {
|
||||||
|
testClusters.integTest {
|
||||||
setting 'xpack.security.enabled', 'false'
|
setting 'xpack.security.enabled', 'false'
|
||||||
setting 'xpack.monitoring.enabled', 'false'
|
setting 'xpack.monitoring.enabled', 'false'
|
||||||
setting 'xpack.ml.enabled', 'false'
|
setting 'xpack.ml.enabled', 'false'
|
||||||
setting 'xpack.license.self_generated.type', 'trial'
|
setting 'xpack.license.self_generated.type', 'trial'
|
||||||
setting 'logger.org.elasticsearch.xpack.watcher', 'DEBUG'
|
setting 'logger.org.elasticsearch.xpack.watcher', 'DEBUG'
|
||||||
keystoreSetting 'xpack.notification.slack.account.test_account.secure_url', slackUrl
|
keystore 'xpack.notification.slack.account.test_account.secure_url', slackUrl
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!slackUrl) {
|
|
||||||
integTest.enabled = false
|
|
||||||
testingConventions.enabled = false
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue