From 3d06981f4037ca508666a8818e88005d013427a4 Mon Sep 17 00:00:00 2001 From: Mickaël Canévet Date: Wed, 4 Nov 2015 08:56:14 +0100 Subject: Add acceptance tests --- .sync.yml | 2 ++ .travis.yml | 30 ++++++++++++++++++++++++++++++ spec/acceptance/dhcp_server_spec.rb | 20 ++++++++++++++++++++ spec/spec_helper_acceptance.rb | 21 +++++++++++++++++++++ 4 files changed, 73 insertions(+) create mode 100644 spec/acceptance/dhcp_server_spec.rb create mode 100644 spec/spec_helper_acceptance.rb diff --git a/.sync.yml b/.sync.yml index 40cef54..6a3715e 100644 --- a/.sync.yml +++ b/.sync.yml @@ -1,3 +1,5 @@ --- .travis.yml: + acceptance: + - '*' forge_password: "vAwCsf7dOPitWzwZFk/nKa8vCqkpvBHc/Ik9lgJHpp1f/FY+ywetifCFHtCCiaJnvmLfsolB3m6oh7XmxVfToXNb7Lcr/qwngoFI0AMDOQH3P8WXN5xTuBFWYZTz3ffjllHZGwykVPgd1DgGbStlXFZST8OoCEpRGFGf9nPxNrU=" diff --git a/.travis.yml b/.travis.yml index ec3a8ee..43ab8d1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,6 +21,36 @@ matrix: env: PUPPET_GEM_VERSION="~> 3.0" FUTURE_PARSER="yes" - rvm: 2.1.6 env: PUPPET_GEM_VERSION="~> 4.0" + - rvm: default + sudo: required + services: docker + env: BEAKER_set="debian-6-x86_64-docker" + bundler_args: + script: sudo service docker restart ; sleep 10 && bundle exec rspec spec/acceptance/*_spec.rb + - rvm: default + sudo: required + services: docker + env: BEAKER_set="debian-7-x86_64-docker" + bundler_args: + script: sudo service docker restart ; sleep 10 && bundle exec rspec spec/acceptance/*_spec.rb + - rvm: default + sudo: required + services: docker + env: BEAKER_set="debian-8-x86_64-docker" + bundler_args: + script: sudo service docker restart ; sleep 10 && bundle exec rspec spec/acceptance/*_spec.rb + - rvm: default + sudo: required + services: docker + env: BEAKER_set="ubuntu-12.04-x86_64-docker" + bundler_args: + script: sudo service docker restart ; sleep 10 && bundle exec rspec spec/acceptance/*_spec.rb + - rvm: default + sudo: required + services: docker + env: BEAKER_set="ubuntu-14.04-x86_64-docker" + bundler_args: + script: sudo service docker restart ; sleep 10 && bundle exec rspec spec/acceptance/*_spec.rb notifications: email: false deploy: diff --git a/spec/acceptance/dhcp_server_spec.rb b/spec/acceptance/dhcp_server_spec.rb new file mode 100644 index 0000000..ae54c9f --- /dev/null +++ b/spec/acceptance/dhcp_server_spec.rb @@ -0,0 +1,20 @@ +require 'spec_helper_acceptance' + +describe 'dhcp::server' do + describe 'running puppet code' do + it 'should work with no errors' do + pp = <<-EOS + class { 'dhcp::server': } + dhcp::subnet { '172.17.0.0': + ensure => present, + broadcast => '172.17.0.255', + other_opts => ['range 172.17.0.100 172.17.0.250'], + } + EOS + + # Run it twice and test for idempotency + apply_manifest(pp, :catch_failures => true) + apply_manifest(pp, :catch_changes => true) + end + end +end diff --git a/spec/spec_helper_acceptance.rb b/spec/spec_helper_acceptance.rb new file mode 100644 index 0000000..3fa72d4 --- /dev/null +++ b/spec/spec_helper_acceptance.rb @@ -0,0 +1,21 @@ +require 'beaker-rspec' + +install_puppet_agent_on hosts, {} + +RSpec.configure do |c| + module_root = File.expand_path(File.join(File.dirname(__FILE__), '..')) + module_name = module_root.split('-').last + + # Readable test descriptions + c.formatter = :documentation + + # Configure all nodes in nodeset + c.before :suite do + # Install module + puppet_module_install(:source => module_root, :module_name => module_name) + hosts.each do |host| + on host, puppet('module','install','puppetlabs-concat'), { :acceptable_exit_codes => [0,1] } + on host, puppet('module','install','puppetlabs-stdlib'), { :acceptable_exit_codes => [0,1] } + end + end +end -- cgit v1.2.3