From d260afc95c59d4ea8da3f8786023050b5e427903 Mon Sep 17 00:00:00 2001 From: Tim Meusel Date: Fri, 28 Oct 2022 20:59:53 +0200 Subject: [PATCH] Add CI job for package based installation --- spec/acceptance/class_spec.rb | 39 +++++++++++++++++++++++++++++++++++ spec/setup_acceptance_node.pp | 6 ++++++ 2 files changed, 45 insertions(+) create mode 100644 spec/setup_acceptance_node.pp diff --git a/spec/acceptance/class_spec.rb b/spec/acceptance/class_spec.rb index 9fc866cf..35d1f4e8 100644 --- a/spec/acceptance/class_spec.rb +++ b/spec/acceptance/class_spec.rb @@ -89,4 +89,43 @@ class { 'file_capability': it { is_expected.to be_listening.on('127.0.0.1').with('tcp') } end end + + context 'with package based setup' do + it_behaves_like 'an idempotent resource' do + let(:manifest) do + <<-PUPPET + if $facts['os']['name'] == 'Archlinux' { + class { 'file_capability': + package_name => 'libcap', + } + } else { + include file_capability + } + class { 'vault': + storage => { + file => { + path => '/tmp', + } + }, + listener => [{ + tcp => { + address => '127.0.0.1:8200', + tls_disable => 1, + } + }], + install_method => 'repo', + require => Class['file_capability'], + } + PUPPET + end + 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 + end end diff --git a/spec/setup_acceptance_node.pp b/spec/setup_acceptance_node.pp new file mode 100644 index 00000000..b45ad527 --- /dev/null +++ b/spec/setup_acceptance_node.pp @@ -0,0 +1,6 @@ +# Needed for os.distro.codebase fact +if $facts['os']['name'] == 'Ubuntu' and $facts['os']['release']['full'] == '18.04' and versioncmp($facts['puppetversion'], '7') <= 0 { + package{'lsb-release': + ensure => present, + } +}