diff --git a/spec/unit/puppet/provider/openldap_database/olc_spec.rb b/spec/unit/puppet/provider/openldap_database/olc_spec.rb index 75c24b08..1907a6e8 100644 --- a/spec/unit/puppet/provider/openldap_database/olc_spec.rb +++ b/spec/unit/puppet/provider/openldap_database/olc_spec.rb @@ -3,18 +3,34 @@ require 'spec_helper' describe Puppet::Type.type(:openldap_database).provider(:olc) do + let(:params) do + { + suffix: 'dc=example,dc=com', + backend: 'mdb', + provider: described_class.name, + } + end + + let(:resource) do + Puppet::Type.type(:openldap_database).new(params) + end + + let(:provider) do + resource.provider + end + + before do + allow(described_class).to receive(:slapcat).with('(|(olcDatabase=monitor)(olcDatabase={0}config)(&(objectClass=olcDatabaseConfig)(|(objectClass=olcBdbConfig)(objectClass=olcHdbConfig)(objectClass=olcMdbConfig)(objectClass=olcMonitorConfig)(objectClass=olcRelayConfig)(objectClass=olcLDAPConfig))))').and_return(<<~SLAPCAT) + dn: olcDatabase={1}mdb,cn=config + olcDatabase: {1}mdb + olcReadOnly: FALSE + SLAPCAT + end + describe '::instances' do context 'with all parameters' do - before do - expect(described_class).to receive(:slapcat).with('(|(olcDatabase=monitor)(olcDatabase={0}config)(&(objectClass=olcDatabaseConfig)(|(objectClass=olcBdbConfig)(objectClass=olcHdbConfig)(objectClass=olcMdbConfig)(objectClass=olcMonitorConfig)(objectClass=olcRelayConfig)(objectClass=olcLDAPConfig))))').and_return(<<~SLAPCAT) - dn: olcDatabase={1}mdb,cn=config - olcDatabase: {1}mdb - olcReadOnly: FALSE - SLAPCAT - end - it 'parses olcReadOnly' do - expect(described_class.instances.first.readonly).to be_falsey + expect(described_class.instances.first.readonly).to eq(:false) end end end