ldumbd 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,45 @@
1
+ require_relative 'spec_helper'
2
+
3
+ require 'ldumbd/table_map'
4
+
5
+ describe Ldumbd::TableMap do
6
+ before(:each) do
7
+ @john = new_user('John Doe')
8
+ @jane = new_user('Jane Doe')
9
+ @all_group = Group.create(name: 'allusers')
10
+ @all_group.add_user(@john)
11
+ @all_group.add_user(@jane)
12
+ end
13
+
14
+ describe 'sequel_to_ldap_object' do
15
+ it 'should return Hash objects unmodified' do
16
+ foobarbaz = {foo: [:bar, :baz]}
17
+ Ldumbd::TableMap.sequel_to_ldap_object(foobarbaz).must_equal foobarbaz
18
+ end
19
+
20
+ it 'should convert User objects' do
21
+ expected = {
22
+ 'uidNumber' => [@john.id],
23
+ 'uid' => [@john.name],
24
+ 'cn' => [@john.realname],
25
+ 'loginShell' => [@john.shell],
26
+ 'homeDirectory' => [@john.homedir],
27
+ 'gidNumber' => [@john.group_id],
28
+ 'objectClass' => ['posixAccount'],
29
+ 'dn_prefix' => "uid=#{@john.name},ou=People"
30
+ }
31
+ Ldumbd::TableMap.sequel_to_ldap_object(@john).must_equal expected
32
+ end
33
+
34
+ it 'should convert Group objects' do
35
+ expected = {
36
+ 'gidNumber' => [@all_group.id],
37
+ 'cn' => [@all_group.name],
38
+ 'memberUid' => [@john.name, @jane.name],
39
+ 'objectClass' => ['posixGroup'],
40
+ 'dn_prefix' => "cn=#{@all_group.name},ou=Groups"
41
+ }
42
+ Ldumbd::TableMap.sequel_to_ldap_object(@all_group).must_equal expected
43
+ end
44
+ end
45
+ end
metadata ADDED
@@ -0,0 +1,209 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ldumbd
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Sebastian Boehm
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2014-03-21 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: ruby-ldapserver
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 0.5.0
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 0.5.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: sequel
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: 4.7.0
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 4.7.0
46
+ - !ruby/object:Gem::Dependency
47
+ name: sqlite3
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 1.3.9
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 1.3.9
62
+ - !ruby/object:Gem::Dependency
63
+ name: pg
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: 0.17.1
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 0.17.1
78
+ - !ruby/object:Gem::Dependency
79
+ name: mysql2
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
85
+ version: 0.3.15
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: 0.3.15
94
+ - !ruby/object:Gem::Dependency
95
+ name: rake
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ~>
100
+ - !ruby/object:Gem::Version
101
+ version: 10.0.4
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: 10.0.4
110
+ - !ruby/object:Gem::Dependency
111
+ name: net-ldap
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: 0.3.1
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: 0.3.1
126
+ - !ruby/object:Gem::Dependency
127
+ name: minitest
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ~>
132
+ - !ruby/object:Gem::Version
133
+ version: 5.3.0
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ~>
140
+ - !ruby/object:Gem::Version
141
+ version: 5.3.0
142
+ description: ! 'Ldumbd is a simple, self-contained read-only LDAP server that uses
143
+
144
+ PostgreSQL, MySQL/MariaDB or SQLite as a back end.
145
+
146
+ '
147
+ email: sebastian@sometimesfood.org
148
+ executables:
149
+ - ldumbd
150
+ extensions: []
151
+ extra_rdoc_files: []
152
+ files:
153
+ - Gemfile
154
+ - LICENSE
155
+ - NEWS
156
+ - README.md
157
+ - Rakefile
158
+ - TODO.org
159
+ - bin/ldumbd
160
+ - config.yml.sample
161
+ - db/migrations/001_create_users.rb
162
+ - db/migrations/002_create_groups.rb
163
+ - db/migrations/003_add_user_group_id.rb
164
+ - db/migrations/004_create_groups_users.rb
165
+ - db/migrations/005_set_uid_and_gid_start_value.rb
166
+ - ldumbd.gemspec
167
+ - lib/ldumbd/filter_converter.rb
168
+ - lib/ldumbd/group.rb
169
+ - lib/ldumbd/ldap_tree.rb
170
+ - lib/ldumbd/operation.rb
171
+ - lib/ldumbd/preforkserver.rb
172
+ - lib/ldumbd/table_map.rb
173
+ - lib/ldumbd/tree_object.rb
174
+ - lib/ldumbd/user.rb
175
+ - lib/ldumbd/version.rb
176
+ - spec/filter_converter_spec.rb
177
+ - spec/operation_spec.rb
178
+ - spec/spec_helper.rb
179
+ - spec/table_map_spec.rb
180
+ homepage: https://github.com/sometimesfood/ldumbd
181
+ licenses:
182
+ - MIT
183
+ post_install_message:
184
+ rdoc_options: []
185
+ require_paths:
186
+ - lib
187
+ required_ruby_version: !ruby/object:Gem::Requirement
188
+ none: false
189
+ requirements:
190
+ - - ! '>='
191
+ - !ruby/object:Gem::Version
192
+ version: '0'
193
+ required_rubygems_version: !ruby/object:Gem::Requirement
194
+ none: false
195
+ requirements:
196
+ - - ! '>='
197
+ - !ruby/object:Gem::Version
198
+ version: '0'
199
+ requirements: []
200
+ rubyforge_project:
201
+ rubygems_version: 1.8.23.2
202
+ signing_key:
203
+ specification_version: 3
204
+ summary: A simple, self-contained LDAP server
205
+ test_files:
206
+ - spec/filter_converter_spec.rb
207
+ - spec/operation_spec.rb
208
+ - spec/spec_helper.rb
209
+ - spec/table_map_spec.rb