File tree Expand file tree Collapse file tree 3 files changed +58
-1
lines changed
provider/openldap_database
spec/unit/puppet/provider/openldap_database Expand file tree Collapse file tree 3 files changed +58
-1
lines changed Original file line number Diff line number Diff line change @@ -50,7 +50,7 @@ def self.instances
5050 when %r{^olcRelay: }
5151 relay = line . split [ 1 ]
5252 when %r{^olcReadOnly: }i
53- readonly = line . split [ 1 ]
53+ readonly = line . split [ 1 ] == 'TRUE' ? :true : :false
5454 when %r{^olcSizeLimit: }i
5555 sizelimit = line . split [ 1 ]
5656 when %r{^olcDbMaxSize: }i
Original file line number Diff line number Diff line change @@ -167,6 +167,8 @@ def should_to_s(_newvalue)
167167
168168 newproperty ( :readonly ) do
169169 desc 'Puts the database into read-only mode.'
170+ newvalues ( :true , :false )
171+ defaultto ( :false )
170172 end
171173
172174 newproperty ( :sizelimit ) do
Original file line number Diff line number Diff line change 1+ # frozen_string_literal: true
2+
3+ require 'spec_helper'
4+
5+ describe Puppet ::Type . type ( :openldap_database ) . provider ( :olc ) do
6+ let ( :params ) do
7+ {
8+ suffix : 'dc=example,dc=com' ,
9+ backend : 'mdb' ,
10+ readonly : false ,
11+ # provider: described_class.name,
12+ }
13+ end
14+
15+ let ( :resource ) do
16+ Puppet ::Type . type ( :openldap_database ) . new ( params )
17+ end
18+ let ( :provider ) do
19+ resource . provider
20+ end
21+
22+ before do
23+ 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 )
24+ dn: olcDatabase={1}mdb,cn=config
25+ olcDatabase: {1}mdb
26+ olcReadOnly: FALSE
27+ SLAPCAT
28+ allow ( provider ) . to receive ( :slapcat )
29+ allow ( provider ) . to receive ( :ldapmodify )
30+ allow ( provider ) . to receive ( :ldapadd )
31+ # allow(described_class).to receive(:slapcat)
32+ # allow(described_class).to receive(:ldapmodify)
33+ # allow(described_class).to receive(:ldapadd)
34+ end
35+
36+ describe 'when creating' do
37+ context 'with readonly set to false' do
38+ it 'parses olcReadOnly as false' do
39+ provider . create
40+ expect ( described_class . instances . first . readonly ) . to eq :false
41+ # expect(described_class.instances.first.readonly).to eq(:false)
42+ end
43+ end
44+
45+ context 'with readonly set to true' do
46+ let ( :params ) do
47+ super ( ) . merge ( { readonly : true } )
48+ end
49+
50+ it 'parses olcReadonly' do
51+ expect ( described_class . instances . first . readonly ) . to eq ( :true )
52+ end
53+ end
54+ end
55+ end
You can’t perform that action at this time.
0 commit comments