From 3302811eccb88b60c3a7b77ba4d8b8bba0031616 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Romain=20Tarti=C3=A8re?= Date: Tue, 12 Jul 2022 21:56:58 -1000 Subject: [PATCH 01/26] Update FreeBSD default version for OpenLDAP FreeBSD ports are now build against OpenLDAP 2.6 by default. Update the package names accordingly. --- data/os/FreeBSD.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/os/FreeBSD.yaml b/data/os/FreeBSD.yaml index c5ad86ac..88b68e91 100644 --- a/data/os/FreeBSD.yaml +++ b/data/os/FreeBSD.yaml @@ -1,9 +1,9 @@ --- -openldap::client::package: "openldap24-client" +openldap::client::package: "openldap26-client" openldap::client::file: "/usr/local/etc/openldap/ldap.conf" openldap::server::confdir: "/usr/local/etc/openldap/slapd.d" openldap::server::conffile: "/usr/local/etc/openldap/slapd.conf" -openldap::server::package: "openldap24-server" +openldap::server::package: "openldap26-server" openldap::server::escape_ldapi_ifs: true openldap::server::ldapi_ifs: - "/var/run/openldap/ldapi" From b8fffd8a00752afd670da64c30ddbfd703a1f918 Mon Sep 17 00:00:00 2001 From: Tobias Wolter Date: Thu, 25 Aug 2022 16:54:07 +0200 Subject: [PATCH 02/26] Fix readonly handling The database `readonly` properly expecteds a boolean, but the olc provider doesn't take care to parse the existing value into a boolean, thus leading to issues. Simply applies the same logic applied to `olcMirrorMode` for `olcReadOnly`. --- lib/puppet/provider/openldap_database/olc.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/puppet/provider/openldap_database/olc.rb b/lib/puppet/provider/openldap_database/olc.rb index 2abf4d55..a9ce8dda 100644 --- a/lib/puppet/provider/openldap_database/olc.rb +++ b/lib/puppet/provider/openldap_database/olc.rb @@ -49,7 +49,7 @@ def self.instances when %r{^olcRelay: } relay = line.split[1] when %r{^olcReadOnly: }i - readonly = line.split[1] + readonly = line.split[1] == 'TRUE' ? :true : :false when %r{^olcSizeLimit: }i sizelimit = line.split[1] when %r{^olcDbMaxSize: }i From bc0cd00e671c011b267ef3c63dfb4199a9ad6f6a Mon Sep 17 00:00:00 2001 From: Tobias Wolter Date: Tue, 30 Aug 2022 11:12:19 +0200 Subject: [PATCH 03/26] Needs `newvalues` anolagous to mirromode to have symbols available --- lib/puppet/type/openldap_database.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/puppet/type/openldap_database.rb b/lib/puppet/type/openldap_database.rb index ab8947ac..5cf8ac18 100644 --- a/lib/puppet/type/openldap_database.rb +++ b/lib/puppet/type/openldap_database.rb @@ -159,6 +159,8 @@ def should_to_s(_newvalue) newproperty(:readonly) do desc 'Puts the database into read-only mode.' + newvalues(:true, :false) + defaultto(:false) end newproperty(:sizelimit) do From 9840c628836a064e349e6d3ebe15814d483c4d84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Romain=20Tarti=C3=A8re?= Date: Wed, 31 Aug 2022 09:01:08 +0200 Subject: [PATCH 04/26] Add spec c/o @smortex --- .../provider/openldap_database/olc_spec.rb | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 spec/unit/puppet/provider/openldap_database/olc_spec.rb diff --git a/spec/unit/puppet/provider/openldap_database/olc_spec.rb b/spec/unit/puppet/provider/openldap_database/olc_spec.rb new file mode 100644 index 00000000..75c24b08 --- /dev/null +++ b/spec/unit/puppet/provider/openldap_database/olc_spec.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +require 'spec_helper' + +describe Puppet::Type.type(:openldap_database).provider(:olc) do + 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 + end + end + end +end From e10d0029d4b3e88b6c84538e8e1e3b163f4105ec Mon Sep 17 00:00:00 2001 From: Tobias Wolter Date: Wed, 31 Aug 2022 09:08:36 +0200 Subject: [PATCH 05/26] Linter and spec fixes --- .../provider/openldap_database/olc_spec.rb | 34 ++++++++++++++----- 1 file changed, 25 insertions(+), 9 deletions(-) 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 From efc3ae210467b35b3ba80aee4889e18362d54319 Mon Sep 17 00:00:00 2001 From: Tobias Wolter Date: Wed, 31 Aug 2022 09:59:22 +0200 Subject: [PATCH 06/26] Implement a test for readonly being set to true --- .../puppet/provider/openldap_database/olc_spec.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/spec/unit/puppet/provider/openldap_database/olc_spec.rb b/spec/unit/puppet/provider/openldap_database/olc_spec.rb index 1907a6e8..47ce3668 100644 --- a/spec/unit/puppet/provider/openldap_database/olc_spec.rb +++ b/spec/unit/puppet/provider/openldap_database/olc_spec.rb @@ -33,5 +33,17 @@ expect(described_class.instances.first.readonly).to eq(:false) end end + + context 'with readonly set to true' do + let(:params) do + { + readonly: true + } + end + + it 'parses olcReadonly' do + expect(described_class.instances.first.readonly).to eq(:true) + end + end end end From bfda2147ff87c34bb64ff3c8bf1df3f2a042b00e Mon Sep 17 00:00:00 2001 From: Tobias Wolter Date: Wed, 31 Aug 2022 10:07:14 +0200 Subject: [PATCH 07/26] fixup! Implement a test for readonly being set to true --- spec/unit/puppet/provider/openldap_database/olc_spec.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/spec/unit/puppet/provider/openldap_database/olc_spec.rb b/spec/unit/puppet/provider/openldap_database/olc_spec.rb index 47ce3668..4f5ea5d1 100644 --- a/spec/unit/puppet/provider/openldap_database/olc_spec.rb +++ b/spec/unit/puppet/provider/openldap_database/olc_spec.rb @@ -42,6 +42,7 @@ end it 'parses olcReadonly' do + provider.create expect(described_class.instances.first.readonly).to eq(:true) end end From 26231582be4e2e8f493bb276f5ab7b335b121f4c Mon Sep 17 00:00:00 2001 From: Tobias Wolter Date: Wed, 31 Aug 2022 10:14:30 +0200 Subject: [PATCH 08/26] fixup! Implement a test for readonly being set to true --- spec/unit/puppet/provider/openldap_database/olc_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/unit/puppet/provider/openldap_database/olc_spec.rb b/spec/unit/puppet/provider/openldap_database/olc_spec.rb index 4f5ea5d1..2622abea 100644 --- a/spec/unit/puppet/provider/openldap_database/olc_spec.rb +++ b/spec/unit/puppet/provider/openldap_database/olc_spec.rb @@ -5,7 +5,7 @@ describe Puppet::Type.type(:openldap_database).provider(:olc) do let(:params) do { - suffix: 'dc=example,dc=com', + title: 'dc=example,dc=com', backend: 'mdb', provider: described_class.name, } From 617816a2b0a68a8d1a2f040bb60319e7faf41639 Mon Sep 17 00:00:00 2001 From: Tobias Wolter Date: Wed, 31 Aug 2022 10:31:09 +0200 Subject: [PATCH 09/26] fixup! Implement a test for readonly being set to true --- spec/unit/puppet/provider/openldap_database/olc_spec.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/spec/unit/puppet/provider/openldap_database/olc_spec.rb b/spec/unit/puppet/provider/openldap_database/olc_spec.rb index 2622abea..16330f31 100644 --- a/spec/unit/puppet/provider/openldap_database/olc_spec.rb +++ b/spec/unit/puppet/provider/openldap_database/olc_spec.rb @@ -5,8 +5,9 @@ describe Puppet::Type.type(:openldap_database).provider(:olc) do let(:params) do { - title: 'dc=example,dc=com', + suffix: 'dc=example,dc=com', backend: 'mdb', + readonly: false, provider: described_class.name, } end @@ -37,7 +38,10 @@ context 'with readonly set to true' do let(:params) do { + suffix: 'dc=example,dc=com', + backend: 'mdb', readonly: true + provider: described_class.name, } end From 1b4709422c739c7023e8240268699ce7b717a617 Mon Sep 17 00:00:00 2001 From: Tobias Wolter Date: Wed, 31 Aug 2022 10:38:02 +0200 Subject: [PATCH 10/26] fixup! Implement a test for readonly being set to true --- spec/unit/puppet/provider/openldap_database/olc_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/unit/puppet/provider/openldap_database/olc_spec.rb b/spec/unit/puppet/provider/openldap_database/olc_spec.rb index 16330f31..30efe936 100644 --- a/spec/unit/puppet/provider/openldap_database/olc_spec.rb +++ b/spec/unit/puppet/provider/openldap_database/olc_spec.rb @@ -40,7 +40,7 @@ { suffix: 'dc=example,dc=com', backend: 'mdb', - readonly: true + readonly: true, provider: described_class.name, } end From d0fe5db92822e2ba159bb83e46ccc00420379281 Mon Sep 17 00:00:00 2001 From: Tobias Wolter Date: Wed, 31 Aug 2022 12:18:15 +0200 Subject: [PATCH 11/26] fixup! Implement a test for readonly being set to true --- spec/unit/puppet/provider/openldap_database/olc_spec.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spec/unit/puppet/provider/openldap_database/olc_spec.rb b/spec/unit/puppet/provider/openldap_database/olc_spec.rb index 30efe936..ec4cb9d5 100644 --- a/spec/unit/puppet/provider/openldap_database/olc_spec.rb +++ b/spec/unit/puppet/provider/openldap_database/olc_spec.rb @@ -26,6 +26,8 @@ olcDatabase: {1}mdb olcReadOnly: FALSE SLAPCAT + allow(provider).to receive(:slapcat) + allow(provider).to receive(:ldapmodify) end describe '::instances' do From 0737c848328b8e30c8c64bd26fb0e29c65ffcd80 Mon Sep 17 00:00:00 2001 From: Tobias Wolter Date: Wed, 31 Aug 2022 12:21:09 +0200 Subject: [PATCH 12/26] fixup! Implement a test for readonly being set to true --- spec/unit/puppet/provider/openldap_database/olc_spec.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/spec/unit/puppet/provider/openldap_database/olc_spec.rb b/spec/unit/puppet/provider/openldap_database/olc_spec.rb index ec4cb9d5..278036bc 100644 --- a/spec/unit/puppet/provider/openldap_database/olc_spec.rb +++ b/spec/unit/puppet/provider/openldap_database/olc_spec.rb @@ -28,6 +28,7 @@ SLAPCAT allow(provider).to receive(:slapcat) allow(provider).to receive(:ldapmodify) + allow(provider).to receive(:ldapadd) end describe '::instances' do From eca43b88a268914503ed66701636412885fde5d0 Mon Sep 17 00:00:00 2001 From: Tobias Wolter Date: Wed, 31 Aug 2022 12:30:38 +0200 Subject: [PATCH 13/26] fixup! Implement a test for readonly being set to true --- .../puppet/provider/openldap_database/olc_spec.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/spec/unit/puppet/provider/openldap_database/olc_spec.rb b/spec/unit/puppet/provider/openldap_database/olc_spec.rb index 278036bc..9804cdef 100644 --- a/spec/unit/puppet/provider/openldap_database/olc_spec.rb +++ b/spec/unit/puppet/provider/openldap_database/olc_spec.rb @@ -21,11 +21,11 @@ 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 + # 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 allow(provider).to receive(:slapcat) allow(provider).to receive(:ldapmodify) allow(provider).to receive(:ldapadd) @@ -41,7 +41,7 @@ context 'with readonly set to true' do let(:params) do { - suffix: 'dc=example,dc=com', + suffix: 'dc=example,dc=net', backend: 'mdb', readonly: true, provider: described_class.name, From 00cd63e0107843d2a0a9ca89b566d759187c0d89 Mon Sep 17 00:00:00 2001 From: Tobias Wolter Date: Wed, 31 Aug 2022 12:35:50 +0200 Subject: [PATCH 14/26] fixup! Implement a test for readonly being set to true --- spec/unit/puppet/provider/openldap_database/olc_spec.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/spec/unit/puppet/provider/openldap_database/olc_spec.rb b/spec/unit/puppet/provider/openldap_database/olc_spec.rb index 9804cdef..728eee0f 100644 --- a/spec/unit/puppet/provider/openldap_database/olc_spec.rb +++ b/spec/unit/puppet/provider/openldap_database/olc_spec.rb @@ -44,7 +44,6 @@ suffix: 'dc=example,dc=net', backend: 'mdb', readonly: true, - provider: described_class.name, } end From 12078a10ee3f3a6d280b6510f887addd903ad372 Mon Sep 17 00:00:00 2001 From: Tobias Wolter Date: Thu, 1 Sep 2022 10:03:39 +0200 Subject: [PATCH 15/26] fixup! Implement a test for readonly being set to true --- .../provider/openldap_database/olc_spec.rb | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/spec/unit/puppet/provider/openldap_database/olc_spec.rb b/spec/unit/puppet/provider/openldap_database/olc_spec.rb index 728eee0f..44246e5e 100644 --- a/spec/unit/puppet/provider/openldap_database/olc_spec.rb +++ b/spec/unit/puppet/provider/openldap_database/olc_spec.rb @@ -8,17 +8,17 @@ suffix: 'dc=example,dc=com', backend: 'mdb', readonly: false, - provider: described_class.name, + # provider: described_class.name, } end - let(:resource) do - Puppet::Type.type(:openldap_database).new(params) - end +# let(:resource) do +# Puppet::Type.type(:openldap_database).new(params) +# end - let(:provider) do - resource.provider - 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) @@ -26,9 +26,12 @@ # olcDatabase: {1}mdb # olcReadOnly: FALSE # SLAPCAT - allow(provider).to receive(:slapcat) - allow(provider).to receive(:ldapmodify) - allow(provider).to receive(:ldapadd) + # allow(provider).to receive(:slapcat) + # allow(provider).to receive(:ldapmodify) + # allow(provider).to receive(:ldapadd) + allow(described_class).to receive(:slapcat) + allow(described_class).to receive(:ldapmodify) + allow(described_class).to receive(:ldapadd) end describe '::instances' do @@ -48,7 +51,6 @@ end it 'parses olcReadonly' do - provider.create expect(described_class.instances.first.readonly).to eq(:true) end end From 21b822f7c06ba024c823f53c6395c3f2da7c2b73 Mon Sep 17 00:00:00 2001 From: Tobias Wolter Date: Thu, 1 Sep 2022 10:05:15 +0200 Subject: [PATCH 16/26] fixup! Implement a test for readonly being set to true --- .../puppet/provider/openldap_database/olc_spec.rb | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/spec/unit/puppet/provider/openldap_database/olc_spec.rb b/spec/unit/puppet/provider/openldap_database/olc_spec.rb index 44246e5e..1f219774 100644 --- a/spec/unit/puppet/provider/openldap_database/olc_spec.rb +++ b/spec/unit/puppet/provider/openldap_database/olc_spec.rb @@ -12,13 +12,12 @@ } end -# let(:resource) do -# Puppet::Type.type(:openldap_database).new(params) -# end - -# let(:provider) do -# resource.provider -# 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) From cec2110206f9f8d5b6154370a45f8e40f7e98d75 Mon Sep 17 00:00:00 2001 From: Tobias Wolter Date: Thu, 1 Sep 2022 10:23:16 +0200 Subject: [PATCH 17/26] fixup! Implement a test for readonly being set to true --- .../provider/openldap_database/olc_spec.rb | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/spec/unit/puppet/provider/openldap_database/olc_spec.rb b/spec/unit/puppet/provider/openldap_database/olc_spec.rb index 1f219774..4ed71b5b 100644 --- a/spec/unit/puppet/provider/openldap_database/olc_spec.rb +++ b/spec/unit/puppet/provider/openldap_database/olc_spec.rb @@ -12,12 +12,12 @@ } end - # let(:resource) do - # Puppet::Type.type(:openldap_database).new(params) - # end - # let(:provider) do - # resource.provider - # 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) @@ -25,28 +25,28 @@ # olcDatabase: {1}mdb # olcReadOnly: FALSE # SLAPCAT - # allow(provider).to receive(:slapcat) - # allow(provider).to receive(:ldapmodify) - # allow(provider).to receive(:ldapadd) - allow(described_class).to receive(:slapcat) - allow(described_class).to receive(:ldapmodify) - allow(described_class).to receive(:ldapadd) + allow(provider).to receive(:slapcat) + allow(provider).to receive(:ldapmodify) + allow(provider).to receive(:ldapadd) + # allow(described_class).to receive(:slapcat) + # allow(described_class).to receive(:ldapmodify) + # allow(described_class).to receive(:ldapadd) end - describe '::instances' do - context 'with all parameters' do - it 'parses olcReadOnly' do - expect(described_class.instances.first.readonly).to eq(:false) + describe 'when creating' do + context 'with readonly set to false' do + it 'parses olcReadOnly as false' do + expect { + described_class.new(:params) + }[:readonly].to eq :false + # is_expected.to + # expect(described_class.instances.first.readonly).to eq(:false) end end context 'with readonly set to true' do let(:params) do - { - suffix: 'dc=example,dc=net', - backend: 'mdb', - readonly: true, - } + super().merge({ readonly: true }) end it 'parses olcReadonly' do From 91b30c8bc54956a020a68a62a1c4d62451203f9c Mon Sep 17 00:00:00 2001 From: Tobias Wolter Date: Thu, 1 Sep 2022 10:25:44 +0200 Subject: [PATCH 18/26] fixup! Implement a test for readonly being set to true --- spec/unit/puppet/provider/openldap_database/olc_spec.rb | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/spec/unit/puppet/provider/openldap_database/olc_spec.rb b/spec/unit/puppet/provider/openldap_database/olc_spec.rb index 4ed71b5b..34a31677 100644 --- a/spec/unit/puppet/provider/openldap_database/olc_spec.rb +++ b/spec/unit/puppet/provider/openldap_database/olc_spec.rb @@ -36,10 +36,7 @@ describe 'when creating' do context 'with readonly set to false' do it 'parses olcReadOnly as false' do - expect { - described_class.new(:params) - }[:readonly].to eq :false - # is_expected.to + expect(described_class.new(:params))[:readonly].to eq :false # expect(described_class.instances.first.readonly).to eq(:false) end end From 3fafa3068f4fee2e59287af45dce358d65bb972d Mon Sep 17 00:00:00 2001 From: Tobias Wolter Date: Thu, 1 Sep 2022 10:38:22 +0200 Subject: [PATCH 19/26] fixup! Implement a test for readonly being set to true --- spec/unit/puppet/provider/openldap_database/olc_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/unit/puppet/provider/openldap_database/olc_spec.rb b/spec/unit/puppet/provider/openldap_database/olc_spec.rb index 34a31677..afbb6294 100644 --- a/spec/unit/puppet/provider/openldap_database/olc_spec.rb +++ b/spec/unit/puppet/provider/openldap_database/olc_spec.rb @@ -36,7 +36,7 @@ describe 'when creating' do context 'with readonly set to false' do it 'parses olcReadOnly as false' do - expect(described_class.new(:params))[:readonly].to eq :false + expect(described_class.new(:params)[:readonly]).to eq :false # expect(described_class.instances.first.readonly).to eq(:false) end end From ec7e5c686bc572a1917746e7ec20f563d31ababe Mon Sep 17 00:00:00 2001 From: Tobias Wolter Date: Thu, 1 Sep 2022 10:42:28 +0200 Subject: [PATCH 20/26] fixup! Implement a test for readonly being set to true --- spec/unit/puppet/provider/openldap_database/olc_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/unit/puppet/provider/openldap_database/olc_spec.rb b/spec/unit/puppet/provider/openldap_database/olc_spec.rb index afbb6294..767a7b41 100644 --- a/spec/unit/puppet/provider/openldap_database/olc_spec.rb +++ b/spec/unit/puppet/provider/openldap_database/olc_spec.rb @@ -36,7 +36,7 @@ describe 'when creating' do context 'with readonly set to false' do it 'parses olcReadOnly as false' do - expect(described_class.new(:params)[:readonly]).to eq :false + expect(described_class.new[:readonly]).to eq :false # expect(described_class.instances.first.readonly).to eq(:false) end end From f26427f02e210872b5e273fee2649658a29b53c2 Mon Sep 17 00:00:00 2001 From: Tobias Wolter Date: Thu, 1 Sep 2022 10:47:09 +0200 Subject: [PATCH 21/26] fixup! Implement a test for readonly being set to true --- spec/unit/puppet/provider/openldap_database/olc_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/unit/puppet/provider/openldap_database/olc_spec.rb b/spec/unit/puppet/provider/openldap_database/olc_spec.rb index 767a7b41..76270e12 100644 --- a/spec/unit/puppet/provider/openldap_database/olc_spec.rb +++ b/spec/unit/puppet/provider/openldap_database/olc_spec.rb @@ -36,7 +36,7 @@ describe 'when creating' do context 'with readonly set to false' do it 'parses olcReadOnly as false' do - expect(described_class.new[:readonly]).to eq :false + expect(described_class.new.instances.first.readonly).to eq :false # expect(described_class.instances.first.readonly).to eq(:false) end end From 405d793291b5ef8810139fb4dbff9ce68a02c5ea Mon Sep 17 00:00:00 2001 From: Tobias Wolter Date: Thu, 1 Sep 2022 10:53:10 +0200 Subject: [PATCH 22/26] fixup! Implement a test for readonly being set to true --- spec/unit/puppet/provider/openldap_database/olc_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/unit/puppet/provider/openldap_database/olc_spec.rb b/spec/unit/puppet/provider/openldap_database/olc_spec.rb index 76270e12..87eba090 100644 --- a/spec/unit/puppet/provider/openldap_database/olc_spec.rb +++ b/spec/unit/puppet/provider/openldap_database/olc_spec.rb @@ -36,7 +36,7 @@ describe 'when creating' do context 'with readonly set to false' do it 'parses olcReadOnly as false' do - expect(described_class.new.instances.first.readonly).to eq :false + expect(described_class.create.instances.first.readonly).to eq :false # expect(described_class.instances.first.readonly).to eq(:false) end end From a297ef17cd9392c5333f55a8d44fafe9317c9e5e Mon Sep 17 00:00:00 2001 From: Tobias Wolter Date: Thu, 1 Sep 2022 11:05:04 +0200 Subject: [PATCH 23/26] fixup! Implement a test for readonly being set to true --- spec/unit/puppet/provider/openldap_database/olc_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/unit/puppet/provider/openldap_database/olc_spec.rb b/spec/unit/puppet/provider/openldap_database/olc_spec.rb index 87eba090..eca3860c 100644 --- a/spec/unit/puppet/provider/openldap_database/olc_spec.rb +++ b/spec/unit/puppet/provider/openldap_database/olc_spec.rb @@ -36,7 +36,7 @@ describe 'when creating' do context 'with readonly set to false' do it 'parses olcReadOnly as false' do - expect(described_class.create.instances.first.readonly).to eq :false + expect(described_class.instances.first.readonly).to eq :false # expect(described_class.instances.first.readonly).to eq(:false) end end From 6da413a99de3effa0c6176c0473012c23e688b58 Mon Sep 17 00:00:00 2001 From: Tobias Wolter Date: Thu, 1 Sep 2022 11:20:05 +0200 Subject: [PATCH 24/26] fixup! Implement a test for readonly being set to true --- spec/unit/puppet/provider/openldap_database/olc_spec.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/spec/unit/puppet/provider/openldap_database/olc_spec.rb b/spec/unit/puppet/provider/openldap_database/olc_spec.rb index eca3860c..18681348 100644 --- a/spec/unit/puppet/provider/openldap_database/olc_spec.rb +++ b/spec/unit/puppet/provider/openldap_database/olc_spec.rb @@ -36,6 +36,7 @@ describe 'when creating' do context 'with readonly set to false' do it 'parses olcReadOnly as false' do + provider.create expect(described_class.instances.first.readonly).to eq :false # expect(described_class.instances.first.readonly).to eq(:false) end From cc08532a831553f8ca906972d042c5cc4a1c82b0 Mon Sep 17 00:00:00 2001 From: Tobias Wolter Date: Thu, 1 Sep 2022 12:18:07 +0200 Subject: [PATCH 25/26] fixup! Implement a test for readonly being set to true --- .../provider/openldap_database/olc_spec.rb | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/spec/unit/puppet/provider/openldap_database/olc_spec.rb b/spec/unit/puppet/provider/openldap_database/olc_spec.rb index 18681348..67f0dda3 100644 --- a/spec/unit/puppet/provider/openldap_database/olc_spec.rb +++ b/spec/unit/puppet/provider/openldap_database/olc_spec.rb @@ -20,12 +20,16 @@ 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 - allow(provider).to receive(:slapcat) + 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 + allow(provider).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 allow(provider).to receive(:ldapmodify) allow(provider).to receive(:ldapadd) # allow(described_class).to receive(:slapcat) From 936c78b5ab1623440651cb666e0c061427ab0115 Mon Sep 17 00:00:00 2001 From: Tobias Wolter Date: Thu, 1 Sep 2022 12:35:47 +0200 Subject: [PATCH 26/26] fixup! Implement a test for readonly being set to true --- spec/unit/puppet/provider/openldap_database/olc_spec.rb | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/spec/unit/puppet/provider/openldap_database/olc_spec.rb b/spec/unit/puppet/provider/openldap_database/olc_spec.rb index 67f0dda3..c1468c87 100644 --- a/spec/unit/puppet/provider/openldap_database/olc_spec.rb +++ b/spec/unit/puppet/provider/openldap_database/olc_spec.rb @@ -25,11 +25,7 @@ olcDatabase: {1}mdb olcReadOnly: FALSE SLAPCAT - allow(provider).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 + allow(provider).to receive(:slapcat) allow(provider).to receive(:ldapmodify) allow(provider).to receive(:ldapadd) # allow(described_class).to receive(:slapcat)