From 61fa65d16133d151b5a3ccdc8c78249ce9221860 Mon Sep 17 00:00:00 2001 From: Dale McDiarmid Date: Thu, 26 Nov 2015 10:20:58 +0000 Subject: [PATCH] Tests for templates --- files/templates/basic.json | 11 +++++++++++ tasks/elasticsearch-templates.yml | 4 ++-- test/integration/package.yml | 3 ++- .../package/serverspec/default_spec.rb | 18 ++++++++++++++++++ .../standard/serverspec/default_spec.rb | 4 ++-- 5 files changed, 35 insertions(+), 5 deletions(-) diff --git a/files/templates/basic.json b/files/templates/basic.json index e69de29..3a3871d 100644 --- a/files/templates/basic.json +++ b/files/templates/basic.json @@ -0,0 +1,11 @@ +{ + "template" : "te*", + "settings" : { + "number_of_shards" : 1 + }, + "mappings" : { + "type1" : { + "_source" : { "enabled" : false } + } + } +} \ No newline at end of file diff --git a/tasks/elasticsearch-templates.yml b/tasks/elasticsearch-templates.yml index e524c0c..3033e73 100644 --- a/tasks/elasticsearch-templates.yml +++ b/tasks/elasticsearch-templates.yml @@ -2,7 +2,7 @@ #TODO: How to handle in multi node # 1. Template directory needs to be specifiable - name: Copy templates to elasticsearch - copy: src=templates dest=/etc/elasticsearch/ + copy: src=templates dest=/etc/elasticsearch/ owner={{ es_user }} group={{ es_group }} - set_fact: http_port=9200 @@ -18,4 +18,4 @@ - name: Install template(s) command: "curl -sL -XPUT http://localhost:{{http_port}}/_template/{{item}} -d @/etc/elasticsearch/templates/{{item}}.json" - with_items: resultstemplate.stdout_lines + with_items: resultstemplate.stdout_lines \ No newline at end of file diff --git a/test/integration/package.yml b/test/integration/package.yml index 9c7db94..13710e7 100644 --- a/test/integration/package.yml +++ b/test/integration/package.yml @@ -4,4 +4,5 @@ roles: - { role: elasticsearch, es_config: { "discovery.zen.ping.multicast.enabled": true }, es_instance_name: "node1" } vars: - es_scripts: true \ No newline at end of file + es_scripts: true + es_templates: true \ No newline at end of file diff --git a/test/integration/package/serverspec/default_spec.rb b/test/integration/package/serverspec/default_spec.rb index 5670024..4751760 100644 --- a/test/integration/package/serverspec/default_spec.rb +++ b/test/integration/package/serverspec/default_spec.rb @@ -34,5 +34,23 @@ context "basic tests" do end end + describe file('/etc/elasticsearch/templates') do + it { should be_directory } + it { should be_owned_by 'elasticsearch' } + end + + describe file('/etc/elasticsearch/templates/basic.json') do + it { should be_file } + it { should be_owned_by 'elasticsearch' } + end + + describe 'Template Installed' do + it 'should be reported as being installed', :retry => 3, :retry_wait => 10 do + command = command('curl localhost:9200/_template/basic') + expect(command.stdout).to match(/basic/) + expect(command.exit_status).to eq(0) + end + end + end diff --git a/test/integration/standard/serverspec/default_spec.rb b/test/integration/standard/serverspec/default_spec.rb index d378831..78c7823 100644 --- a/test/integration/standard/serverspec/default_spec.rb +++ b/test/integration/standard/serverspec/default_spec.rb @@ -16,10 +16,12 @@ context "basic tests" do describe file('/etc/elasticsearch/node1/elasticsearch.yml') do it { should be_file } + it { should be_owned_by 'elasticsearch' } end describe file('/etc/elasticsearch/node1/logging.yml') do it { should be_file } + it { should be_owned_by 'elasticsearch' } end describe file('/etc/elasticsearch/node1/elasticsearch.yml') do @@ -38,13 +40,11 @@ context "basic tests" do end describe 'plugin' do - it 'should be reported as existing', :retry => 3, :retry_wait => 10 do command = command('curl localhost:9200/_nodes/?plugin | grep kopf') expect(command.stdout).to match(/kopf/) expect(command.exit_status).to eq(0) end - end end