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/class_spec.rb b/spec/acceptance/class_spec.rb index 75e92cd2..fcf9db7f 100644 --- a/spec/acceptance/class_spec.rb +++ b/spec/acceptance/class_spec.rb @@ -107,5 +107,44 @@ 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 + 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 + 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 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..bcffd0e6 --- /dev/null +++ b/spec/acceptance/nodesets/debian-9-x86_64-docker.yml @@ -0,0 +1,21 @@ +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 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 + docker_options: + ssl_verify_peer: false