123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- /*
- * Licensed to Elasticsearch under one or more contributor
- * license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright
- * ownership. Elasticsearch licenses this file to you under
- * the Apache License, Version 2.0 (the "License"); you may
- * not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
- apply plugin: 'elasticsearch.docs-test'
- integTest {
- cluster {
- setting 'script.inline', 'true'
- setting 'script.stored', 'true'
- Closure configFile = {
- extraConfigFile it, "src/test/cluster/config/$it"
- }
- configFile 'scripts/my_script.js'
- configFile 'scripts/my_script.py'
- configFile 'userdict_ja.txt'
- configFile 'KeywordTokenizer.rbbi'
- // Whitelist reindexing from the local node so we can test it.
- setting 'reindex.remote.whitelist', 'myself'
- }
- }
- // Build the cluser with all plugins
- project.rootProject.subprojects.findAll { it.parent.path == ':plugins' }.each { subproj ->
- /* Skip repositories. We just aren't going to be able to test them so it
- * doesn't make sense to waste time installing them. */
- if (subproj.path.startsWith(':plugins:repository-')) {
- return
- }
- subproj.afterEvaluate { // need to wait until the project has been configured
- integTest {
- cluster {
- plugin subproj.path
- }
- }
- }
- }
- buildRestTests.docs = fileTree(projectDir) {
- // No snippets in here!
- exclude 'build.gradle'
- // That is where the snippets go, not where they come from!
- exclude 'build'
- // This file simply doesn't pass yet. We should figure out how to fix it.
- exclude 'reference/modules/snapshots.asciidoc'
- }
- Closure setupTwitter = { String name, int count ->
- buildRestTests.setups[name] = '''
- - do:
- indices.create:
- index: twitter
- body:
- settings:
- number_of_shards: 1
- number_of_replicas: 1
- - do:
- bulk:
- index: twitter
- type: tweet
- refresh: true
- body: |'''
- for (int i = 0; i < count; i++) {
- String user, text
- if (i == 0) {
- user = 'kimchy'
- text = 'trying out Elasticsearch'
- } else {
- user = 'test'
- text = "some message with the number $i"
- }
- buildRestTests.setups[name] += """
- {"index":{"_id": "$i"}}
- {"user": "$user", "message": "$text", "date": "2009-11-15T14:12:12", "likes": $i}"""
- }
- }
- setupTwitter('twitter', 5)
- setupTwitter('big_twitter', 120)
- buildRestTests.setups['host'] = '''
- # Fetch the http host. We use the host of the master because we know there will always be a master.
- - do:
- cluster.state: {}
- - set: { master_node: master }
- - do:
- nodes.info:
- metric: [ http ]
- - is_true: nodes.$master.http.publish_address
- - set: {nodes.$master.http.publish_address: host}
- '''
|