Sha256: db4adb19127b65bbdadf3954fdec09d41f828199c69afe9883d1565b4aa1438f

Contents?: true

Size: 1.46 KB

Versions: 36

Compression:

Stored size: 1.46 KB

Contents

require 'spec_helper'

maillist = Puppet::Type.type(:maillist)

describe maillist do
  before do
    @provider_class = Puppet::Type.type(:maillist).provider(:mailman)

    @provider = double('provider', :class => @provider_class, :clear => nil)
    allow(@provider).to receive(:respond_to).with(:aliases).and_return(true)

    allow(@provider_class).to receive(:new).and_return(@provider)

    allow(Puppet::Type.type(:maillist)).to receive(:defaultprovider).and_return(@provider_class)

    @maillist = Puppet::Type.type(:maillist).new( :name => 'test' )

    @catalog = Puppet::Resource::Catalog.new
    @maillist.catalog = @catalog
  end

  it "should generate aliases unless they already exist" do
    # Mail List aliases are careful not to stomp on managed Mail Alias aliases

    # test1 is an unmanaged alias from /etc/aliases
    allow(Puppet::Type.type(:mailalias).provider(:aliases)).to receive(:target_object).and_return(StringIO.new("test1: root\n"))

    # test2 is a managed alias from the manifest
    dupe = Puppet::Type.type(:mailalias).new( :name => 'test2' )
    @catalog.add_resource dupe

    allow(@provider).to receive(:aliases).and_return({"test1" => 'this will get included', "test2" => 'this will dropped', "test3" => 'this will get included'})

    generated = @maillist.generate
    expect(generated.map{ |x| x.name  }.sort).to eq(['test1', 'test3'])
    expect(generated.map{ |x| x.class }).to      eq([Puppet::Type::Mailalias, Puppet::Type::Mailalias])
  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
puppet-5.5.22 spec/unit/type/maillist_spec.rb
puppet-5.5.22-x86-mingw32 spec/unit/type/maillist_spec.rb
puppet-5.5.22-x64-mingw32 spec/unit/type/maillist_spec.rb
puppet-5.5.22-universal-darwin spec/unit/type/maillist_spec.rb
puppet-5.5.21 spec/unit/type/maillist_spec.rb
puppet-5.5.21-x86-mingw32 spec/unit/type/maillist_spec.rb
puppet-5.5.21-x64-mingw32 spec/unit/type/maillist_spec.rb
puppet-5.5.21-universal-darwin spec/unit/type/maillist_spec.rb
puppet-5.5.20 spec/unit/type/maillist_spec.rb
puppet-5.5.20-x86-mingw32 spec/unit/type/maillist_spec.rb
puppet-5.5.20-x64-mingw32 spec/unit/type/maillist_spec.rb
puppet-5.5.20-universal-darwin spec/unit/type/maillist_spec.rb
puppet-5.5.19 spec/unit/type/maillist_spec.rb
puppet-5.5.19-x86-mingw32 spec/unit/type/maillist_spec.rb
puppet-5.5.19-x64-mingw32 spec/unit/type/maillist_spec.rb
puppet-5.5.19-universal-darwin spec/unit/type/maillist_spec.rb
puppet-5.5.18 spec/unit/type/maillist_spec.rb
puppet-5.5.18-x86-mingw32 spec/unit/type/maillist_spec.rb
puppet-5.5.18-x64-mingw32 spec/unit/type/maillist_spec.rb
puppet-5.5.18-universal-darwin spec/unit/type/maillist_spec.rb