spec/octocatalog-diff/integration/enc_branch_spec.rb (32 lines of code) (raw):

# frozen_string_literal: true require_relative 'integration_helper' require 'fileutils' require 'json' require 'yaml' describe 'with different ENCs per catalog' do before(:all) do @result = OctocatalogDiff::Integration.integration( spec_repo: 'enc-diff', spec_fact_file: 'facts.yaml', argv: [ '--from-enc', OctocatalogDiff::Spec.fixture_path('repos/enc-diff/config/enc-1.sh'), '--to-enc', OctocatalogDiff::Spec.fixture_path('repos/enc-diff/config/enc-2.sh') ] ) end it 'should run without an error' do expect(@result[:exitcode]).not_to eq(-1), "Internal error: #{OctocatalogDiff::Integration.format_exception(@result)}" expect(@result[:exitcode]).to eq(2), "Runtime error: #{@result[:logs]}" expect(@result[:diffs].size).to eq(2), @result[:diffs].map(&:inspect).join("\n") end it 'should have /tmp/bar influenced by ENC' do pending 'catalog-diff failed' unless @result[:exitcode] == 2 obj = @result[:diffs].select { |x| x[1] == "File\f/tmp/bar\fparameters\fensure" } expect(obj.size).to eq(1) expect(obj[0][2]).to eq('absent') expect(obj[0][3]).to eq(nil) obj2 = @result[:diffs].select { |x| x[1] == "File\f/tmp/bar\fparameters\fcontent" } expect(obj2.size).to eq(1) expect(obj2[0][2]).to eq(nil) expect(obj2[0][3]).to eq('foo') end end