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