File tree Expand file tree Collapse file tree 4 files changed +62
-1
lines changed
provider/openldap_database
spec/unit/puppet/provider/openldap_database Expand file tree Collapse file tree 4 files changed +62
-1
lines changed Original file line number Diff line number Diff line change @@ -1386,8 +1386,12 @@ This option puts a replica database into "multiprovider" mode
1386
1386
1387
1387
##### ` readonly `
1388
1388
1389
+ Valid values: ` true ` , ` false `
1390
+
1389
1391
Puts the database into read-only mode.
1390
1392
1393
+ Default value: ` false `
1394
+
1391
1395
##### ` rootdn `
1392
1396
1393
1397
The distinguished name that is not subject to access control or administrative limit restrictions for operations on this database.
Original file line number Diff line number Diff line change @@ -50,7 +50,7 @@ def self.instances
50
50
when %r{^olcRelay: }
51
51
relay = line . split [ 1 ]
52
52
when %r{^olcReadOnly: }i
53
- readonly = line . split [ 1 ]
53
+ readonly = line . split [ 1 ] == 'TRUE' ? :true : :false
54
54
when %r{^olcSizeLimit: }i
55
55
sizelimit = line . split [ 1 ]
56
56
when %r{^olcDbMaxSize: }i
Original file line number Diff line number Diff line change @@ -167,6 +167,8 @@ def should_to_s(_newvalue)
167
167
168
168
newproperty ( :readonly ) do
169
169
desc 'Puts the database into read-only mode.'
170
+ newvalues ( :true , :false )
171
+ defaultto ( :false )
170
172
end
171
173
172
174
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