docker/spec/dockerfile_spec.rb in r10k-3.8.0 vs docker/spec/dockerfile_spec.rb in r10k-3.9.0
- old
+ new
@@ -1,43 +1,37 @@
require 'rspec/core'
require 'fileutils'
require 'open3'
+include Pupperware::SpecHelpers
-SPEC_DIRECTORY = File.dirname(__FILE__)
+ENV['SPEC_DIRECTORY'] = File.dirname(__FILE__)
+# unifies volume naming
+ENV['COMPOSE_PROJECT_NAME'] ||= 'r10k'
-describe 'r10k container' do
- include Pupperware::SpecHelpers
- def run_r10k(command)
- run_command("docker run --detach \
- --volume #{File.join(SPEC_DIRECTORY, 'fixtures')}:/home/puppet/test \
- #{@image} #{command} \
- --verbose \
- --trace \
- --puppetfile test/Puppetfile")
+RSpec.configure do |c|
+ c.before(:suite) do
+ ENV['R10K_IMAGE'] = require_test_image
+ pull_images(['r10k_check','r10k_install'])
+ teardown_cluster()
+ # no certs to preload, but if the suite adds puppetserver, be explicit
+ docker_compose_up(preload_certs: true)
end
- before(:all) do
- @image = require_test_image
+ c.after(:suite) do
+ teardown_cluster()
+ FileUtils.rm_rf(File.join(ENV['SPEC_DIRECTORY'], 'fixtures', 'modules'))
end
+end
- after(:all) do
- FileUtils.rm_rf(File.join(SPEC_DIRECTORY, 'fixtures', 'modules'))
- end
-
- it 'should validate the Puppetfile' do
- result = run_r10k('puppetfile check')
- container = result[:stdout].chomp
- wait_on_container_exit(container)
- expect(get_container_exit_code(container)).to eq(0)
- emit_log(container)
- teardown_container(container)
- end
-
- it 'should install the Puppetfile' do
- result = run_r10k('puppetfile install')
- container = result[:stdout].chomp
- wait_on_container_exit(container)
- expect(get_container_exit_code(container)).to eq(0)
- emit_log(container)
- teardown_container(container)
+describe 'r10k container' do
+ {
+ 'r10k_check': 'validate',
+ 'r10k_install': 'install',
+ }.each do |container, op|
+ it "should #{op} the Puppetfile" do
+ container = get_service_container(container)
+ wait_on_container_exit(container)
+ expect(get_container_exit_code(container)).to eq(0)
+ emit_log(container)
+ end
end
end