mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-03-25 09:28:27 +00:00
Drop the ssl tests against the java builtin https server. They were failing and the failures were undebuggable. I still don't know what was happening because you can't get any logging out of the server. Add SSL tests against Elasticsearch because that is what actually needs to work. relates elastic/x-pack-elasticsearch#2870 Original commit: elastic/x-pack-elasticsearch@284cf7fb58
176 lines
6.1 KiB
Groovy
176 lines
6.1 KiB
Groovy
import org.elasticsearch.gradle.precommit.PrecommitTasks
|
|
import org.elasticsearch.gradle.test.RunTask
|
|
|
|
description = 'Integration tests for SQL'
|
|
apply plugin: 'elasticsearch.build'
|
|
|
|
dependencies {
|
|
compile "org.elasticsearch.test:framework:${versions.elasticsearch}"
|
|
|
|
// JDBC testing dependencies
|
|
if (false == isEclipse && false == isIdea) {
|
|
// If we're not doing IDE stuff use the shadowed jar
|
|
compile(project(path: ':x-pack-elasticsearch:sql:jdbc', configuration: 'shadow'))
|
|
} else {
|
|
/* If we're doing IDE stuff then use then use the project
|
|
* dependency so the IDEs don't get confused. Transitive
|
|
* deps are OK here too because this is the only time we
|
|
* pull all of those deps in. We make sure exclude them
|
|
* below so they don't cause jar hell with the shadowed
|
|
* jar. */
|
|
compile(project(':x-pack-elasticsearch:sql:jdbc'))
|
|
}
|
|
compile "net.sourceforge.csvjdbc:csvjdbc:1.0.34"
|
|
runtime "com.h2database:h2:1.4.194"
|
|
// used for running debug tests
|
|
runtime 'org.antlr:antlr4-runtime:4.5.3'
|
|
|
|
// There are *no* CLI testing dependencies because we
|
|
// communicate fork a new CLI process when we need it.
|
|
|
|
// Used to support embedded testing mode
|
|
compile(project(':x-pack-elasticsearch:sql:server')) {
|
|
transitive = false
|
|
}
|
|
compile(project(':x-pack-elasticsearch:sql:cli-proto')) {
|
|
transitive = false
|
|
}
|
|
compile "org.elasticsearch.client:transport:${version}"
|
|
}
|
|
|
|
/* disable unit tests because these are all integration tests used
|
|
* other qa projects. */
|
|
test.enabled = false
|
|
|
|
dependencyLicenses.enabled = false
|
|
|
|
// Allow for com.sun.net.httpserver.* usage for embedded mode
|
|
eclipse {
|
|
classpath.file {
|
|
whenMerged { cp ->
|
|
def con = entries.find { e ->
|
|
e.kind == "con" && e.toString().contains("org.eclipse.jdt.launching.JRE_CONTAINER")
|
|
}
|
|
con.accessRules.add(new org.gradle.plugins.ide.eclipse.model.AccessRule(
|
|
"accessible", "com/sun/net/httpserver/*"))
|
|
}
|
|
}
|
|
}
|
|
forbiddenApisMain {
|
|
bundledSignatures -= 'jdk-non-portable'
|
|
bundledSignatures += 'jdk-internal'
|
|
}
|
|
|
|
// the main files are actually test files, so use the appropriate forbidden api sigs
|
|
forbiddenApisMain {
|
|
signaturesURLs = [PrecommitTasks.getResource('/forbidden/es-all-signatures.txt'),
|
|
PrecommitTasks.getResource('/forbidden/es-test-signatures.txt')]
|
|
}
|
|
|
|
thirdPartyAudit.excludes = [
|
|
// H2 dependencies that we don't actually use....
|
|
'javax.servlet.ServletConfig',
|
|
'javax.servlet.ServletContext',
|
|
'javax.servlet.ServletContextEvent',
|
|
'javax.servlet.ServletContextListener',
|
|
'javax.servlet.ServletOutputStream',
|
|
'javax.servlet.http.HttpServlet',
|
|
'javax.servlet.http.HttpServletRequest',
|
|
'javax.servlet.http.HttpServletResponse',
|
|
'org.apache.lucene.document.Field$Index',
|
|
'org.apache.lucene.queryParser.QueryParser',
|
|
'org.osgi.framework.BundleActivator',
|
|
'org.osgi.framework.BundleContext',
|
|
'org.osgi.service.jdbc.DataSourceFactory',
|
|
'org.slf4j.Logger',
|
|
'org.slf4j.LoggerFactory',
|
|
]
|
|
|
|
subprojects {
|
|
apply plugin: 'elasticsearch.standalone-rest-test'
|
|
configurations {
|
|
cliFixture
|
|
}
|
|
dependencies {
|
|
/* Since we're a standalone rest test we actually get transitive
|
|
* dependencies but we don't really want them because they cause
|
|
* all kinds of trouble with the jar hell checks. So we suppress
|
|
* them explicitly for non-es projects. */
|
|
testCompile(project(':x-pack-elasticsearch:qa:sql')) {
|
|
transitive = false
|
|
}
|
|
testCompile "org.elasticsearch.test:framework:${versions.elasticsearch}"
|
|
|
|
// JDBC testing dependencies
|
|
testRuntime(project(':x-pack-elasticsearch:sql:jdbc')) {
|
|
if (false == isEclipse && false == isIdea) {
|
|
/* Skip the transitive dependencies of the server when outside
|
|
* of an IDE because outside of an IDE we use the jdbc jar
|
|
* which includes all the transitive dependencies *already*.
|
|
* If we didn't skip these dependencies the jar hell checks
|
|
* would fail. And we need the transitive dependencies to
|
|
* run in embedded mode but only do that inside of an IDE. */
|
|
transitive = false
|
|
}
|
|
}
|
|
testRuntime("net.sourceforge.csvjdbc:csvjdbc:1.0.34") {
|
|
transitive = false
|
|
}
|
|
testRuntime("com.h2database:h2:1.4.194") {
|
|
transitive = false
|
|
}
|
|
testRuntime("org.antlr:antlr4-runtime:4.5.3") {
|
|
transitive = false
|
|
}
|
|
|
|
cliFixture project(':x-pack-elasticsearch:test:sql-cli-fixture')
|
|
|
|
// Used to support embedded testing mode
|
|
testRuntime(project(':x-pack-elasticsearch:sql:server')) {
|
|
transitive = false
|
|
}
|
|
testRuntime "org.elasticsearch.client:transport:${version}"
|
|
}
|
|
|
|
if (project.name != 'security') {
|
|
// The security project just configures it subprojects
|
|
apply plugin: 'elasticsearch.rest-test'
|
|
|
|
task cliFixture(type: org.elasticsearch.gradle.test.AntFixture) {
|
|
Project cli = project(':x-pack-elasticsearch:sql:cli')
|
|
dependsOn project.configurations.cliFixture
|
|
dependsOn cli.jar
|
|
executable = new File(project.javaHome, 'bin/java')
|
|
env 'CLASSPATH', "${ -> project.configurations.cliFixture.asPath }"
|
|
args 'org.elasticsearch.xpack.sql.cli.fixture.CliFixture',
|
|
baseDir, "${ -> cli.jar.outputs.files.singleFile}"
|
|
}
|
|
|
|
integTestCluster {
|
|
distribution = 'zip'
|
|
plugin project(':x-pack-elasticsearch:plugin').path
|
|
setting 'xpack.monitoring.enabled', 'false'
|
|
setting 'xpack.ml.enabled', 'false'
|
|
setting 'xpack.watcher.enabled', 'false'
|
|
setting 'script.max_compilations_rate', '1000/1m'
|
|
dependsOn cliFixture
|
|
}
|
|
|
|
integTestRunner {
|
|
systemProperty 'tests.cli.fixture', "${ -> cliFixture.addressAndPort }"
|
|
finalizedBy cliFixture.stopTask
|
|
}
|
|
|
|
task run(type: RunTask) {
|
|
distribution = 'zip'
|
|
plugin project(':x-pack-elasticsearch:plugin').path
|
|
setting 'xpack.monitoring.enabled', 'false'
|
|
setting 'xpack.ml.enabled', 'false'
|
|
setting 'xpack.watcher.enabled', 'false'
|
|
setting 'script.max_compilations_rate', '1000/1m'
|
|
dependsOn cliFixture
|
|
}
|
|
run.finalizedBy cliFixture.stopTask
|
|
}
|
|
}
|