1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
# frozen_string_literal: true
require 'json'
require 'helpers/acceptance/tests/manifest_shared_examples'
require 'helpers/acceptance/tests/plugin_api_shared_examples'
shared_examples 'plugin upgrade acceptance tests' do |plugin|
describe 'elasticsearch::plugin' do
# Ensure that instances are restarted to include plugins
let(:manifest_class_parameters) { 'restart_on_change => true' }
instances = {
'es-01' => {
'config' => {
'http.port' => 9200,
'node.name' => 'elasticsearch001'
}
}
}
describe 'installation' do
describe 'upgrades', :with_cleanup do
context 'initial installation' do
let(:extra_manifest) do
<<-MANIFEST
elasticsearch::plugin { '#{plugin[:repository]}-#{plugin[:name]}/v#{plugin[:initial]}':
instances => 'es-01',
}
MANIFEST
end
include_examples(
'manifest application',
instances
)
include_examples(
'plugin API response',
instances,
'contains the initial plugin version',
'name' => plugin[:name],
'version' => plugin[:initial]
)
end
describe 'upgrading' do
let(:extra_manifest) do
<<-MANIFEST
elasticsearch::plugin { '#{plugin[:repository]}-#{plugin[:name]}/v#{plugin[:upgraded]}':
instances => 'es-01',
}
MANIFEST
end
include_examples(
'manifest application',
instances
)
include_examples(
'plugin API response',
instances,
'contains the upgraded plugin version',
'name' => plugin[:name],
'version' => plugin[:upgraded]
)
end
end
end
end
end
|