aboutsummaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorMickaël Canévet <mickael.canevet@camptocamp.com>2015-11-04 11:24:25 +0100
committerMickaël Canévet <mickael.canevet@camptocamp.com>2015-11-04 11:24:25 +0100
commitb5ee63a48adbea3e50300e2c0c26c575ec1b5abb (patch)
treeb5d4822f3c9c048064ab2f20cd70899aba0c16d1 /spec
parent3a974fea4562a9f2afc446b20ddc3fd221e4f8ed (diff)
parent4dbb5a09e23e56fc8ed7ff04fc1cfcdc17932786 (diff)
downloadpuppet-dhcp-b5ee63a48adbea3e50300e2c0c26c575ec1b5abb.tar.gz
puppet-dhcp-b5ee63a48adbea3e50300e2c0c26c575ec1b5abb.tar.bz2
Merge pull request #16 from mcanevet/feature/acceptance
Add acceptance tests
Diffstat (limited to 'spec')
-rw-r--r--spec/acceptance/dhcp_server_spec.rb20
-rw-r--r--spec/defines/dhcp_subnet_spec.rb4
-rw-r--r--spec/spec_helper_acceptance.rb21
3 files changed, 45 insertions, 0 deletions
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/defines/dhcp_subnet_spec.rb b/spec/defines/dhcp_subnet_spec.rb
index b0f7ab7..f3ea284 100644
--- a/spec/defines/dhcp_subnet_spec.rb
+++ b/spec/defines/dhcp_subnet_spec.rb
@@ -3,6 +3,10 @@ require 'spec_helper'
describe 'dhcp::subnet' do
let (:title) { '1.2.3.4' }
+ let(:pre_condition) do
+ "class { '::dhcp::server': }"
+ end
+
on_supported_os.each do |os, facts|
context "on #{os}" do
let(:facts) do
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