From e2e76272c9fa8749c3f62e6becf42b0c40be0f4b Mon Sep 17 00:00:00 2001 From: Tim Meusel Date: Thu, 31 May 2018 00:47:35 +0200 Subject: [PATCH 1/5] add test to validate vault upgrade --- spec/acceptance/class_spec.rb | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/spec/acceptance/class_spec.rb b/spec/acceptance/class_spec.rb index 75e92cd2..71d4b746 100644 --- a/spec/acceptance/class_spec.rb +++ b/spec/acceptance/class_spec.rb @@ -108,4 +108,29 @@ class { '::vault': it { is_expected.to be_listening.on('127.0.0.1').with('tcp') } end end + + # we will test if we can update vault to another version + context 'updated vault version' do + it 'works idempotently with no errors' do + pp = <<-MANIFEST + class { 'vault': + version => '0.10.1' + storage => { + file => { + path => '/tmp', + } + }, + listener => [{ + tcp => { + address => '127.0.0.1:8200', + tls_disable => 1, + } + }] + } + MANIFEST + # Run it twice and test for idempotency + apply_manifest(pp, catch_failures: true) + apply_manifest(pp, catch_changes: true) + end + end end From 49c12b5f5eeaf8ee023a0a684e92924c764011b5 Mon Sep 17 00:00:00 2001 From: Tim Meusel Date: Thu, 31 May 2018 00:50:29 +0200 Subject: [PATCH 2/5] add debian 9 acceptance test --- .travis.yml | 6 ++++++ .../nodesets/debian-9-x86_64-docker.yml | 19 +++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 spec/acceptance/nodesets/debian-9-x86_64-docker.yml diff --git a/.travis.yml b/.travis.yml index 8c04718d..f0efed4a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -39,6 +39,12 @@ matrix: env: PUPPET_INSTALL_TYPE=agent BEAKER_set="ubuntu-16.04-x86_64-docker" script: bundle exec rake acceptance bundler_args: --without development + - sudo: required + services: docker + rvm: 2.4.2 + env: PUPPET_INSTALL_TYPE=agent BEAKER_set="debian-9-x86_64-docker" + script: bundle exec rake acceptance + bundler_args: --without development deploy: provider: puppetforge user: jsok diff --git a/spec/acceptance/nodesets/debian-9-x86_64-docker.yml b/spec/acceptance/nodesets/debian-9-x86_64-docker.yml new file mode 100644 index 00000000..8773b16d --- /dev/null +++ b/spec/acceptance/nodesets/debian-9-x86_64-docker.yml @@ -0,0 +1,19 @@ +HOSTS: + debian-9-x64: + default_apply_opts: + order: random + strict_variables: + platform: debian-9-amd64 + hypervisor : docker + # Need upstart to tests services + image: debian:9 + docker_cmd: '["/sbin/init"]' + # This stops the image from being deleted on completion, speeding up the process. + docker_preserve_image: true + docker_image_commands: + - 'apt-get install -y curl unzip' +CONFIG: + type: foss + log_level: debug + docker_options: + ssl_verify_peer: false From f642732ad4fd16130d87ae51d90a349c5ecec05c Mon Sep 17 00:00:00 2001 From: Tim Meusel Date: Thu, 31 May 2018 00:53:08 +0200 Subject: [PATCH 3/5] add missing comma --- spec/acceptance/class_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/acceptance/class_spec.rb b/spec/acceptance/class_spec.rb index 71d4b746..533d2e3a 100644 --- a/spec/acceptance/class_spec.rb +++ b/spec/acceptance/class_spec.rb @@ -114,7 +114,7 @@ class { '::vault': it 'works idempotently with no errors' do pp = <<-MANIFEST class { 'vault': - version => '0.10.1' + version => '0.10.1', storage => { file => { path => '/tmp', From afa201d897e94b92a17d151096f88270f115c40b Mon Sep 17 00:00:00 2001 From: Tim Meusel Date: Thu, 31 May 2018 01:00:02 +0200 Subject: [PATCH 4/5] fix debian nodeset --- spec/acceptance/nodesets/debian-9-x86_64-docker.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/spec/acceptance/nodesets/debian-9-x86_64-docker.yml b/spec/acceptance/nodesets/debian-9-x86_64-docker.yml index 8773b16d..bcffd0e6 100644 --- a/spec/acceptance/nodesets/debian-9-x86_64-docker.yml +++ b/spec/acceptance/nodesets/debian-9-x86_64-docker.yml @@ -11,7 +11,9 @@ HOSTS: # This stops the image from being deleted on completion, speeding up the process. docker_preserve_image: true docker_image_commands: - - 'apt-get install -y curl unzip' + - 'apt-get update && apt-get install -y cron locales-all net-tools wget systemd-sysv' + - 'rm -f /usr/sbin/policy-rc.d' + - 'systemctl mask getty@tty1.service getty-static.service' CONFIG: type: foss log_level: debug From 0ecd92f04ccc977e45e6f9b95f04ad2f4b69ef4b Mon Sep 17 00:00:00 2001 From: Tim Meusel Date: Thu, 31 May 2018 01:07:09 +0200 Subject: [PATCH 5/5] enhance acceptance tests --- spec/acceptance/class_spec.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/spec/acceptance/class_spec.rb b/spec/acceptance/class_spec.rb index 533d2e3a..fcf9db7f 100644 --- a/spec/acceptance/class_spec.rb +++ b/spec/acceptance/class_spec.rb @@ -107,6 +107,9 @@ class { '::vault': describe port(8200) do it { is_expected.to be_listening.on('127.0.0.1').with('tcp') } end + describe command('vault version') do + its(:stdout) { is_expected.to match %r{v0\.10\.0} } + end end # we will test if we can update vault to another version @@ -132,5 +135,16 @@ class { 'vault': apply_manifest(pp, catch_failures: true) apply_manifest(pp, catch_changes: true) end + describe service('vault') do + it { is_expected.to be_enabled } + it { is_expected.to be_running } + end + + describe port(8200) do + it { is_expected.to be_listening.on('127.0.0.1').with('tcp') } + end + describe command('vault version') do + its(:stdout) { is_expected.to match %r{v0\.10\.1} } + end end end