From e55b0f02e3e4ef300a5c3e96caf755f518d91c4b Mon Sep 17 00:00:00 2001 From: Melissa Stone Date: Fri, 18 May 2018 11:28:42 -0700 Subject: (maint) Update the acceptance tests Prior to this commit, the acceptance tests for mailalias were broken up in a way that was not logical. The tests had been broken up simply following the 'steps' from the previous iteration. This new structure did not work, since later steps were dependent on earlier steps. The tests could not be run in isolation. This commit changes the test set up so that we can more easily run tests in isolation and in random order. --- spec/acceptance/tests/create_spec.rb | 6 +++--- spec/acceptance/tests/destroy_spec.rb | 8 ++++---- spec/acceptance/tests/modify_spec.rb | 9 ++++----- 3 files changed, 11 insertions(+), 12 deletions(-) (limited to 'spec/acceptance/tests') diff --git a/spec/acceptance/tests/create_spec.rb b/spec/acceptance/tests/create_spec.rb index 82adfec..80fe8d3 100644 --- a/spec/acceptance/tests/create_spec.rb +++ b/spec/acceptance/tests/create_spec.rb @@ -16,13 +16,13 @@ RSpec.context 'Mailalias: should create an email alias' do end non_windows_agents.each do |agent| - it 'creates a mailalias with puppet' do + it 'creates a mailalias resource' do + # create a mailalias with puppet args = ['ensure=present', 'recipient="foo,bar,baz"'] on(agent, puppet_resource('mailalias', name, args)) - end - it 'verifies the alias exists' do + # verify the alias exists on(agent, 'cat /etc/aliases') do |res| assert_match(%r{#{name}:.*foo,bar,baz}, res.stdout, 'mailalias not in aliases file') end diff --git a/spec/acceptance/tests/destroy_spec.rb b/spec/acceptance/tests/destroy_spec.rb index 0f805a5..a5cb122 100644 --- a/spec/acceptance/tests/destroy_spec.rb +++ b/spec/acceptance/tests/destroy_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper_acceptance' -RSpec.context 'should delete an email alias' do +RSpec.context 'Mailalias: should delete an email alias' do name = "pl#{rand(999_999).to_i}" before(:all) do @@ -26,13 +26,13 @@ RSpec.context 'should delete an email alias' do end non_windows_agents.each do |agent| - it 'deletes the aliases database with puppet' do + it 'deletes a mailalias resource' do + # delete the aliases database with puppet args = ['ensure=absent', 'recipient="foo,bar,baz"'] on(agent, puppet_resource('mailalias', name, args)) - end - it 'verifies the alias is absent' do + # verify the alias is absent on(agent, 'cat /etc/aliases') do |res| assert_no_match(%r{#{name}:.*foo,bar,baz}, res.stdout, 'mailalias was not removed from aliases file') end diff --git a/spec/acceptance/tests/modify_spec.rb b/spec/acceptance/tests/modify_spec.rb index f4ea7bf..24903b6 100644 --- a/spec/acceptance/tests/modify_spec.rb +++ b/spec/acceptance/tests/modify_spec.rb @@ -1,11 +1,10 @@ require 'spec_helper_acceptance' -RSpec.context 'should modify an email alias' do +RSpec.context 'Mailalias: should modify an email alias' do name = "pl#{rand(999_999).to_i}" before(:all) do non_windows_agents.each do |agent| - #------- SETUP -------# # (setup) backup alias file on(agent, 'cp /etc/aliases /tmp/aliases', acceptable_exit_codes: [0, 1]) @@ -27,13 +26,13 @@ RSpec.context 'should modify an email alias' do end non_windows_agents.each do |agent| - it 'modifies the aliases database with puppet' do + it 'modifies an existing mailalias resource' do + # modify the aliases database with puppet args = ['ensure=present', 'recipient="foo,bar,baz,blarvitz"'] on(agent, puppet_resource('mailalias', name, args)) - end - it 'verifies the updated alias is present' do + # verify the updated alias is present on(agent, 'cat /etc/aliases') do |res| assert_match(%r{#{name}:.*foo,bar,baz,blarvitz}, res.stdout, 'updated mailalias not in aliases file') end -- cgit v1.2.3