ldap_fluff 0.4.4 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,74 @@
1
+ require 'lib/ldap_test_helper'
2
+
3
+ class TestPosixNetgroupMemberService < MiniTest::Test
4
+ include LdapTestHelper
5
+
6
+ def setup
7
+ netgroups_config
8
+ super
9
+ @ms = LdapFluff::Posix::NetgroupMemberService.new(@ldap, netgroups_config)
10
+ end
11
+
12
+ def test_find_user
13
+ user = posix_user_payload
14
+ @ldap.expect(:search, user, [:filter => @ms.name_filter('john'),
15
+ :base => config.base_dn])
16
+ @ms.ldap = @ldap
17
+ assert_equal posix_user_payload, @ms.find_user('john')
18
+ @ldap.verify
19
+ end
20
+
21
+ def test_find_user_groups
22
+ response = posix_netgroup_payload('bros', ['(,john,)', '(,joe,)'])
23
+ @ldap.expect(:search, response, [:filter => Net::LDAP::Filter.eq('objectClass', 'nisNetgroup'),
24
+ :base => config.group_base])
25
+
26
+ @ms.ldap = @ldap
27
+ assert_equal ['bros'], @ms.find_user_groups('john')
28
+ @ldap.verify
29
+ end
30
+
31
+ def test_find_no_user_groups
32
+ response = posix_netgroup_payload('bros', ['(,joe,)'])
33
+ @ldap.expect(:search, response, [:filter => Net::LDAP::Filter.eq('objectClass', 'nisNetgroup'),
34
+ :base => config.group_base])
35
+
36
+ @ms.ldap = @ldap
37
+ assert_equal [], @ms.find_user_groups('john')
38
+ @ldap.verify
39
+ end
40
+
41
+ def test_user_exists
42
+ user = posix_user_payload
43
+ @ldap.expect(:search, user, [:filter => @ms.name_filter('john'),
44
+ :base => config.base_dn])
45
+ @ms.ldap = @ldap
46
+ assert @ms.find_user('john')
47
+ @ldap.verify
48
+ end
49
+
50
+ def test_user_doesnt_exists
51
+ @ldap.expect(:search, nil, [:filter => @ms.name_filter('john'),
52
+ :base => config.base_dn])
53
+ @ms.ldap = @ldap
54
+ assert_raises(LdapFluff::Posix::MemberService::UIDNotFoundException) { @ms.find_user('john') }
55
+ @ldap.verify
56
+ end
57
+
58
+ def test_group_exists
59
+ group = posix_netgroup_payload('broze')
60
+ @ldap.expect(:search, group, [:filter => @ms.group_filter('broze'),
61
+ :base => config.group_base])
62
+ @ms.ldap = @ldap
63
+ assert @ms.find_group('broze')
64
+ @ldap.verify
65
+ end
66
+
67
+ def test_group_doesnt_exists
68
+ @ldap.expect(:search, nil, [:filter => @ms.group_filter('broze'),
69
+ :base => config.group_base])
70
+ @ms.ldap = @ldap
71
+ assert_raises(LdapFluff::Posix::MemberService::GIDNotFoundException) { @ms.find_group('broze') }
72
+ @ldap.verify
73
+ end
74
+ end
data/test/posix_test.rb CHANGED
@@ -16,12 +16,12 @@ class TestPosix < MiniTest::Test
16
16
  def test_groups
17
17
  service_bind
18
18
  basic_user
19
- assert_equal(@posix.groups_for_uid("john"), %w(bros))
19
+ assert_equal(@posix.groups_for_uid("john"), %w[bros])
20
20
  end
21
21
 
22
22
  def test_missing_user
23
23
  md = MiniTest::Mock.new
24
- md.expect(:find_user_groups, [], %w(john))
24
+ md.expect(:find_user_groups, [], %w[john])
25
25
  @posix.member_service = md
26
26
  assert_equal([], @posix.groups_for_uid('john'))
27
27
  end
@@ -29,19 +29,13 @@ class TestPosix < MiniTest::Test
29
29
  def test_isnt_in_groups
30
30
  service_bind
31
31
  basic_user
32
- md = MiniTest::Mock.new
33
- md.expect(:times_in_groups, 0, ['john', %w(bros), true])
34
- @posix.member_service = md
35
- assert_equal(@posix.is_in_groups('john', %w(bros), true), false)
32
+ assert_equal(@posix.is_in_groups('john', %w[broskies], true), false)
36
33
  end
37
34
 
38
35
  def test_is_in_groups
39
36
  service_bind
40
37
  basic_user
41
- md = MiniTest::Mock.new
42
- md.expect(:times_in_groups, 1, ['john', %w(bros), true])
43
- @posix.member_service = md
44
- assert_equal(@posix.is_in_groups('john', %w(bros), true), true)
38
+ assert_equal(@posix.is_in_groups('john', %w[bros], true), true)
45
39
  end
46
40
 
47
41
  def test_is_in_no_groups
@@ -55,7 +49,7 @@ class TestPosix < MiniTest::Test
55
49
  @md = MiniTest::Mock.new
56
50
  user_result = MiniTest::Mock.new
57
51
  user_result.expect(:dn, 'uid=internet,dn=example')
58
- @md.expect(:find_user, [user_result], %w(internet))
52
+ @md.expect(:find_user, [user_result], %w[internet])
59
53
  @posix.member_service = @md
60
54
  service_bind
61
55
  @ldap.expect(:auth, nil, %w[uid=internet,dn=example password])
@@ -82,7 +76,7 @@ class TestPosix < MiniTest::Test
82
76
  def test_user_exists
83
77
  service_bind
84
78
  md = MiniTest::Mock.new
85
- md.expect(:find_user, 'notnilluser', %w(john))
79
+ md.expect(:find_user, 'notnilluser', %w[john])
86
80
  @posix.member_service = md
87
81
  assert(@posix.user_exists?('john'))
88
82
  end
@@ -90,8 +84,8 @@ class TestPosix < MiniTest::Test
90
84
  def test_missing_user
91
85
  service_bind
92
86
  md = MiniTest::Mock.new
93
- md.expect(:find_user, nil, %w(john))
94
- def md.find_user(uid)
87
+ md.expect(:find_user, nil, %w[john])
88
+ def md.find_user(_uid)
95
89
  raise LdapFluff::Posix::MemberService::UIDNotFoundException
96
90
  end
97
91
  @posix.member_service = md
@@ -101,7 +95,7 @@ class TestPosix < MiniTest::Test
101
95
  def test_group_exists
102
96
  service_bind
103
97
  md = MiniTest::Mock.new
104
- md.expect(:find_group, 'notnillgroup', %w(broskies))
98
+ md.expect(:find_group, 'notnillgroup', %w[broskies])
105
99
  @posix.member_service = md
106
100
  assert(@posix.group_exists?('broskies'))
107
101
  end
@@ -109,8 +103,8 @@ class TestPosix < MiniTest::Test
109
103
  def test_missing_group
110
104
  service_bind
111
105
  md = MiniTest::Mock.new
112
- md.expect(:find_group, nil, %w(broskies))
113
- def md.find_group(uid)
106
+ md.expect(:find_group, nil, %w[broskies])
107
+ def md.find_group(_uid)
114
108
  raise LdapFluff::Posix::MemberService::GIDNotFoundException
115
109
  end
116
110
  @posix.member_service = md
@@ -125,12 +119,12 @@ class TestPosix < MiniTest::Test
125
119
  nested_group[:memberuid] = ['testuser']
126
120
 
127
121
  @ldap.expect(:search,
128
- [nested_group],
129
- [{ :base => group.dn,
130
- :filter => Net::LDAP::Filter.eq('objectClass','posixGroup') |
131
- Net::LDAP::Filter.eq('objectClass', 'organizationalunit') |
132
- Net::LDAP::Filter.eq('objectClass', 'groupOfUniqueNames') |
133
- Net::LDAP::Filter.eq('objectClass', 'groupOfNames')}])
122
+ [nested_group],
123
+ [{ :base => group.dn,
124
+ :filter => Net::LDAP::Filter.eq('objectClass', 'posixGroup') |
125
+ Net::LDAP::Filter.eq('objectClass', 'organizationalunit') |
126
+ Net::LDAP::Filter.eq('objectClass', 'groupOfUniqueNames') |
127
+ Net::LDAP::Filter.eq('objectClass', 'groupOfNames')}])
134
128
  @posix.ldap = @ldap
135
129
 
136
130
  md = MiniTest::Mock.new
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ldap_fluff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.4
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jordan O'Mara
@@ -10,41 +10,41 @@ authors:
10
10
  - Adam Price
11
11
  - Marek Hulan
12
12
  - Dominic Cleal
13
- autorequire:
13
+ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2016-09-26 00:00:00.000000000 Z
16
+ date: 2021-06-25 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
- name: net-ldap
19
+ name: activesupport
20
20
  requirement: !ruby/object:Gem::Requirement
21
21
  requirements:
22
22
  - - ">="
23
23
  - !ruby/object:Gem::Version
24
- version: 0.3.1
24
+ version: '0'
25
25
  type: :runtime
26
26
  prerelease: false
27
27
  version_requirements: !ruby/object:Gem::Requirement
28
28
  requirements:
29
29
  - - ">="
30
30
  - !ruby/object:Gem::Version
31
- version: 0.3.1
31
+ version: '0'
32
32
  - !ruby/object:Gem::Dependency
33
- name: activesupport
33
+ name: net-ldap
34
34
  requirement: !ruby/object:Gem::Requirement
35
35
  requirements:
36
36
  - - ">="
37
37
  - !ruby/object:Gem::Version
38
- version: '0'
38
+ version: '0.11'
39
39
  type: :runtime
40
40
  prerelease: false
41
41
  version_requirements: !ruby/object:Gem::Requirement
42
42
  requirements:
43
43
  - - ">="
44
44
  - !ruby/object:Gem::Version
45
- version: '0'
45
+ version: '0.11'
46
46
  - !ruby/object:Gem::Dependency
47
- name: rake
47
+ name: minitest
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  requirements:
50
50
  - - ">="
@@ -58,7 +58,7 @@ dependencies:
58
58
  - !ruby/object:Gem::Version
59
59
  version: '0'
60
60
  - !ruby/object:Gem::Dependency
61
- name: minitest
61
+ name: rake
62
62
  requirement: !ruby/object:Gem::Requirement
63
63
  requirements:
64
64
  - - ">="
@@ -94,25 +94,29 @@ files:
94
94
  - lib/ldap_fluff/error.rb
95
95
  - lib/ldap_fluff/freeipa.rb
96
96
  - lib/ldap_fluff/freeipa_member_service.rb
97
+ - lib/ldap_fluff/freeipa_netgroup_member_service.rb
97
98
  - lib/ldap_fluff/generic.rb
98
99
  - lib/ldap_fluff/generic_member_service.rb
99
100
  - lib/ldap_fluff/ldap_fluff.rb
100
101
  - lib/ldap_fluff/posix.rb
101
102
  - lib/ldap_fluff/posix_member_service.rb
103
+ - lib/ldap_fluff/posix_netgroup_member_service.rb
102
104
  - test/ad_member_services_test.rb
103
105
  - test/ad_test.rb
104
106
  - test/config_test.rb
105
107
  - test/ipa_member_services_test.rb
108
+ - test/ipa_netgroup_member_services_test.rb
106
109
  - test/ipa_test.rb
107
110
  - test/ldap_test.rb
108
111
  - test/lib/ldap_test_helper.rb
109
112
  - test/posix_member_services_test.rb
113
+ - test/posix_netgroup_member_services_test.rb
110
114
  - test/posix_test.rb
111
115
  homepage: https://github.com/theforeman/ldap_fluff
112
116
  licenses:
113
117
  - GPLv2
114
118
  metadata: {}
115
- post_install_message:
119
+ post_install_message:
116
120
  rdoc_options: []
117
121
  require_paths:
118
122
  - lib
@@ -120,25 +124,26 @@ required_ruby_version: !ruby/object:Gem::Requirement
120
124
  requirements:
121
125
  - - ">="
122
126
  - !ruby/object:Gem::Version
123
- version: 1.9.3
127
+ version: 2.4.0
124
128
  required_rubygems_version: !ruby/object:Gem::Requirement
125
129
  requirements:
126
130
  - - ">="
127
131
  - !ruby/object:Gem::Version
128
132
  version: '0'
129
133
  requirements: []
130
- rubyforge_project:
131
- rubygems_version: 2.4.5
132
- signing_key:
134
+ rubygems_version: 3.1.4
135
+ signing_key:
133
136
  specification_version: 4
134
137
  summary: LDAP querying tools for Active Directory, FreeIPA and POSIX-style
135
138
  test_files:
136
- - test/ipa_member_services_test.rb
137
- - test/config_test.rb
138
- - test/ipa_test.rb
139
139
  - test/lib/ldap_test_helper.rb
140
140
  - test/ad_test.rb
141
+ - test/config_test.rb
142
+ - test/ipa_member_services_test.rb
143
+ - test/ipa_netgroup_member_services_test.rb
144
+ - test/ipa_test.rb
141
145
  - test/ldap_test.rb
142
- - test/ad_member_services_test.rb
143
- - test/posix_test.rb
144
146
  - test/posix_member_services_test.rb
147
+ - test/posix_netgroup_member_services_test.rb
148
+ - test/posix_test.rb
149
+ - test/ad_member_services_test.rb