]> gitweb.fluxo.info Git - puppet-dhcp.git/commitdiff
Add acceptance tests
authorMickaël Canévet <mickael.canevet@camptocamp.com>
Wed, 4 Nov 2015 07:56:14 +0000 (08:56 +0100)
committerMickaël Canévet <mickael.canevet@camptocamp.com>
Wed, 4 Nov 2015 08:57:05 +0000 (09:57 +0100)
.sync.yml
.travis.yml
spec/acceptance/dhcp_server_spec.rb [new file with mode: 0644]
spec/spec_helper_acceptance.rb [new file with mode: 0644]

index 40cef548450df61fd46008d8832d1dd4e639dfbd..6a3715e84dd783b0035f37f192993834d0f27599 100644 (file)
--- a/.sync.yml
+++ b/.sync.yml
@@ -1,3 +1,5 @@
 ---
 .travis.yml:
+  acceptance:
+    - '*'
   forge_password: "vAwCsf7dOPitWzwZFk/nKa8vCqkpvBHc/Ik9lgJHpp1f/FY+ywetifCFHtCCiaJnvmLfsolB3m6oh7XmxVfToXNb7Lcr/qwngoFI0AMDOQH3P8WXN5xTuBFWYZTz3ffjllHZGwykVPgd1DgGbStlXFZST8OoCEpRGFGf9nPxNrU="
index ec3a8ee96e14186e493e63e092232ea5ffe24f14..43ab8d191609cf1e624f7588b27707c49fdb3c62 100644 (file)
@@ -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 (file)
index 0000000..ae54c9f
--- /dev/null
@@ -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 (file)
index 0000000..3fa72d4
--- /dev/null
@@ -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