# Licensed to Elasticsearch B.V. under one or more contributor # license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright # ownership. Elasticsearch B.V. 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. require 'bundler/gem_tasks' require 'rake/testtask' require 'rspec/core/rake_task' task :default do exec "rake --tasks" end Rake::TestTask.new('test:unit') do |test| test.libs << 'test' test.test_files = FileList['test/unit/**/*_test.rb'] test.verbose = false test.warning = false end namespace :test do RSpec::Core::RakeTask.new(:spec) desc "Run rest api yaml tests" Rake::TestTask.new(:rest_api) do |test| `rm Gemfile.lock` test.deps = [ :spec ] end desc "Run integration tests" task :integration desc "Run Elasticsearch with X-Pack installed (Docker)" task :elasticsearch do sh <<-COMMAND.gsub(/^\s*/, '').gsub(/\s{1,}/, ' ') docker run \ --name elasticsearch-xpack \ --env "discovery.type=single-node" \ --env "cluster.name=elasticsearch-api-test" \ --env "node.name=es-01" \ --env "http.port=9200" \ --env "cluster.routing.allocation.disk.threshold_enabled=false" \ --env "node.attr.testattr=test" \ --env "path.repo=/tmp" \ --env "repositories.url.allowed_urls=http://snapshot.test*" \ --env "bootstrap.memory_lock=true" \ --env "ELASTIC_PASSWORD=MagicWord" \ --ulimit nofile=65536:65536 \ --ulimit memlock=-1:-1 \ --publish 9260:9200 \ --volume $(pwd)/tmp/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ --memory 4g \ --rm \ docker.elastic.co/elasticsearch/elasticsearch:7.0.0-SNAPSHOT COMMAND end end