sys-admin 1.7.0 → 1.7.1
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.
- checksums.yaml +5 -5
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/CHANGES +173 -168
- data/MANIFEST +18 -18
- data/README +148 -148
- data/Rakefile +47 -47
- data/certs/djberg96_pub.pem +21 -21
- data/doc/sys-admin-unix.txt +162 -162
- data/doc/sys-admin-windows.txt +346 -346
- data/examples/example_groups.rb +27 -27
- data/examples/example_users.rb +41 -41
- data/lib/bsd/sys/admin.rb +256 -256
- data/lib/darwin/sys/admin.rb +237 -237
- data/lib/linux/sys/admin.rb +273 -273
- data/lib/sunos/sys/admin.rb +261 -261
- data/lib/sys-admin.rb +1 -1
- data/lib/sys/admin.rb +24 -24
- data/lib/sys/admin/common.rb +137 -137
- data/lib/sys/admin/custom.rb +16 -16
- data/lib/unix/sys/admin.rb +163 -163
- data/lib/windows/sys/admin.rb +997 -997
- data/sys-admin.gemspec +39 -31
- data/test/test_sys_admin.rb +23 -19
- data/test/test_sys_admin_unix.rb +260 -260
- data/test/test_sys_admin_windows.rb +337 -337
- metadata +32 -26
- metadata.gz.sig +0 -0
@@ -1,337 +1,337 @@
|
|
1
|
-
###############################################################################
|
2
|
-
# test_sys_admin_windows.rb
|
3
|
-
#
|
4
|
-
# Test suite for the Win32 version of sys-admin. Note that some of the tests
|
5
|
-
# are numbered to ensure a certain order. That way I can add test users
|
6
|
-
# before configuring or deleting them.
|
7
|
-
#
|
8
|
-
# It is assumed that this test will be run via the 'rake test' task.
|
9
|
-
###############################################################################
|
10
|
-
require 'test-unit'
|
11
|
-
require 'sys/admin'
|
12
|
-
require 'win32/security'
|
13
|
-
require 'socket'
|
14
|
-
include Sys
|
15
|
-
|
16
|
-
class TC_Sys_Admin_Win32 < Test::Unit::TestCase
|
17
|
-
def self.startup
|
18
|
-
@@host = Socket.gethostname
|
19
|
-
@@elevated = Win32::Security.elevated_security?
|
20
|
-
end
|
21
|
-
|
22
|
-
def setup
|
23
|
-
@user = User.new
|
24
|
-
@user_name = 'Guest'
|
25
|
-
@user_id = 501 # best guess, may fail
|
26
|
-
@group = Group.new
|
27
|
-
@group_name = 'Guests'
|
28
|
-
@group_id = 546 # best guess, may fail
|
29
|
-
end
|
30
|
-
|
31
|
-
# Admin singleton methods
|
32
|
-
|
33
|
-
def test_01_add_user
|
34
|
-
omit_unless(@@elevated)
|
35
|
-
assert_respond_to(Admin, :add_user)
|
36
|
-
assert_nothing_raised{
|
37
|
-
Admin.add_user(:name => 'foo', :password => 'a1b2c3D4')
|
38
|
-
}
|
39
|
-
end
|
40
|
-
|
41
|
-
def test_02_config_user
|
42
|
-
omit_unless(@@elevated)
|
43
|
-
assert_respond_to(Admin, :configure_user)
|
44
|
-
assert_nothing_raised{
|
45
|
-
Admin.configure_user(
|
46
|
-
:name => 'foo',
|
47
|
-
:description => 'delete me',
|
48
|
-
:fullname => 'fubar',
|
49
|
-
:password => 'd1c2b3A4'
|
50
|
-
)
|
51
|
-
}
|
52
|
-
end
|
53
|
-
|
54
|
-
def test_06_delete_user
|
55
|
-
omit_unless(@@elevated)
|
56
|
-
assert_respond_to(Admin, :delete_user)
|
57
|
-
assert_nothing_raised{ Admin.delete_user('foo') }
|
58
|
-
end
|
59
|
-
|
60
|
-
def test_01_add_group
|
61
|
-
omit_unless(@@elevated)
|
62
|
-
assert_respond_to(Admin, :add_group)
|
63
|
-
assert_nothing_raised{ Admin.add_group(:name => 'bar') }
|
64
|
-
end
|
65
|
-
|
66
|
-
def test_02_configure_group
|
67
|
-
omit_unless(@@elevated)
|
68
|
-
assert_respond_to(Admin, :configure_group)
|
69
|
-
assert_nothing_raised{
|
70
|
-
Admin.configure_group(:name => 'bar', :description => 'delete me')
|
71
|
-
}
|
72
|
-
end
|
73
|
-
|
74
|
-
def test_03_add_group_member
|
75
|
-
omit_unless(@@elevated)
|
76
|
-
assert_respond_to(Admin, :add_group_member)
|
77
|
-
assert_nothing_raised{ Admin.add_group_member('foo', 'bar') }
|
78
|
-
end
|
79
|
-
|
80
|
-
def test_04_remove_group_member
|
81
|
-
omit_unless(@@elevated)
|
82
|
-
assert_respond_to(Admin, :remove_group_member)
|
83
|
-
assert_nothing_raised{ Admin.remove_group_member('foo', 'bar') }
|
84
|
-
end
|
85
|
-
|
86
|
-
def test_05_delete_group
|
87
|
-
omit_unless(@@elevated)
|
88
|
-
assert_respond_to(Admin, :delete_group)
|
89
|
-
assert_nothing_raised{ Admin.delete_group('bar') }
|
90
|
-
end
|
91
|
-
|
92
|
-
test "get_login basic functionality" do
|
93
|
-
assert_respond_to(Admin, :get_login)
|
94
|
-
assert_nothing_raised{ Admin.get_login }
|
95
|
-
end
|
96
|
-
|
97
|
-
test "get_login returns a string" do
|
98
|
-
assert_kind_of(String, Admin.get_login)
|
99
|
-
assert_true(Admin.get_login.size > 0)
|
100
|
-
end
|
101
|
-
|
102
|
-
test "get_login does not accept any arguments" do
|
103
|
-
assert_raise(ArgumentError){ Admin.get_login('foo') }
|
104
|
-
end
|
105
|
-
|
106
|
-
test "get_user basic functionality" do
|
107
|
-
assert_respond_to(Admin, :get_user)
|
108
|
-
end
|
109
|
-
|
110
|
-
test "get_user with string argument works as expected" do
|
111
|
-
assert_nothing_raised{ Admin.get_user(@user_name, :localaccount => true) }
|
112
|
-
assert_kind_of(User, Admin.get_user(@user_name, :localaccount => true))
|
113
|
-
end
|
114
|
-
|
115
|
-
test "get user with integer argument works as expected" do
|
116
|
-
assert_nothing_raised{ Admin.get_user(@user_id, :localaccount => true) }
|
117
|
-
assert_kind_of(User, Admin.get_user(@user_id, :localaccount => true))
|
118
|
-
end
|
119
|
-
|
120
|
-
test "get_user method by string accepts a hash of options" do
|
121
|
-
options = {:host => @@host, :localaccount => true}
|
122
|
-
assert_nothing_raised{ Admin.get_user(@user_name, options) }
|
123
|
-
assert_kind_of(User, Admin.get_user(@user_name, options))
|
124
|
-
end
|
125
|
-
|
126
|
-
test "get_user method by uid accepts a hash of options" do
|
127
|
-
options = {:host => @@host, :localaccount => true}
|
128
|
-
assert_nothing_raised{ Admin.get_user(@user_id, options) }
|
129
|
-
assert_kind_of(User, Admin.get_user(@user_id, options))
|
130
|
-
end
|
131
|
-
|
132
|
-
test "get_user method requires an argument" do
|
133
|
-
assert_raises(ArgumentError){ Admin.get_user }
|
134
|
-
end
|
135
|
-
|
136
|
-
test "users method basic functionality" do
|
137
|
-
assert_respond_to(Admin, :users)
|
138
|
-
assert_nothing_raised{ Admin.users(:localaccount => true) }
|
139
|
-
end
|
140
|
-
|
141
|
-
test "users method returns an array of User objects" do
|
142
|
-
assert_kind_of(Array, Admin.users(:localaccount => true))
|
143
|
-
assert_kind_of(User, Admin.users(:localaccount => true).first)
|
144
|
-
end
|
145
|
-
|
146
|
-
test "get_group basic functionality" do
|
147
|
-
assert_respond_to(Admin, :get_group)
|
148
|
-
end
|
149
|
-
|
150
|
-
test "get_group method returns expected results with a string argument" do
|
151
|
-
assert_nothing_raised{ Admin.get_group(@group_name, :localaccount => true) }
|
152
|
-
assert_kind_of(Group, Admin.get_group(@group_name, :localaccount => true))
|
153
|
-
end
|
154
|
-
|
155
|
-
test "get_group method returns expected results with an integer argument" do
|
156
|
-
assert_nothing_raised{ Admin.get_group(@group_id, :localaccount => true) }
|
157
|
-
assert_kind_of(Group, Admin.get_group(@group_id, :localaccount => true))
|
158
|
-
end
|
159
|
-
|
160
|
-
# TODO: Update
|
161
|
-
test "get_group method accepts a hash of options" do
|
162
|
-
assert_nothing_raised{ Admin.get_group(@group_name, :localaccount => true) }
|
163
|
-
assert_kind_of(Group, Admin.get_group(@group_name, :localaccount => true))
|
164
|
-
end
|
165
|
-
|
166
|
-
test "get_group method requires an argument" do
|
167
|
-
assert_raise(ArgumentError){ Admin.get_group }
|
168
|
-
end
|
169
|
-
|
170
|
-
test "get_groups method basic functionality" do
|
171
|
-
assert_respond_to(Admin, :groups)
|
172
|
-
assert_nothing_raised{ Admin.groups(:localaccount => true) }
|
173
|
-
end
|
174
|
-
|
175
|
-
test "get_groups method returns an array of Group objects" do
|
176
|
-
assert_kind_of(Array, Admin.groups(:localaccount => true))
|
177
|
-
assert_kind_of(Group, Admin.groups(:localaccount => true).first)
|
178
|
-
end
|
179
|
-
|
180
|
-
# User class
|
181
|
-
|
182
|
-
test "caption accessor for User class" do
|
183
|
-
assert_respond_to(@user, :caption)
|
184
|
-
assert_respond_to(@user, :caption=)
|
185
|
-
end
|
186
|
-
|
187
|
-
test "description accessor for User class" do
|
188
|
-
assert_respond_to(@user, :description)
|
189
|
-
assert_respond_to(@user, :description=)
|
190
|
-
end
|
191
|
-
|
192
|
-
test "domain accessor for User class" do
|
193
|
-
assert_respond_to(@user, :domain)
|
194
|
-
assert_respond_to(@user, :domain=)
|
195
|
-
end
|
196
|
-
|
197
|
-
test "password accessor for User class" do
|
198
|
-
assert_respond_to(@user, :password)
|
199
|
-
assert_respond_to(@user, :password=)
|
200
|
-
end
|
201
|
-
|
202
|
-
test "full_name accessor for User class" do
|
203
|
-
assert_respond_to(@user, :full_name)
|
204
|
-
assert_respond_to(@user, :full_name=)
|
205
|
-
end
|
206
|
-
|
207
|
-
test "name accessor for User class" do
|
208
|
-
assert_respond_to(@user, :name)
|
209
|
-
assert_respond_to(@user, :name=)
|
210
|
-
end
|
211
|
-
|
212
|
-
test "sid accessor for User class" do
|
213
|
-
assert_respond_to(@user, :sid)
|
214
|
-
assert_respond_to(@user, :sid=)
|
215
|
-
end
|
216
|
-
|
217
|
-
test "status accessor for User class" do
|
218
|
-
assert_respond_to(@user, :status)
|
219
|
-
assert_respond_to(@user, :status=)
|
220
|
-
end
|
221
|
-
|
222
|
-
test "disabled accessor for User class" do
|
223
|
-
assert_respond_to(@user, :disabled?)
|
224
|
-
assert_respond_to(@user, :disabled=)
|
225
|
-
end
|
226
|
-
|
227
|
-
test "local accessor for User class" do
|
228
|
-
assert_respond_to(@user, :local?)
|
229
|
-
assert_respond_to(@user, :local=)
|
230
|
-
end
|
231
|
-
|
232
|
-
test "lockout accessor for User class" do
|
233
|
-
assert_respond_to(@user, :lockout?)
|
234
|
-
assert_respond_to(@user, :lockout=)
|
235
|
-
end
|
236
|
-
|
237
|
-
test "password_changeable accessor for User class" do
|
238
|
-
assert_respond_to(@user, :password_changeable?)
|
239
|
-
assert_respond_to(@user, :password_changeable=)
|
240
|
-
end
|
241
|
-
|
242
|
-
test "password_expires accessor for User class" do
|
243
|
-
assert_respond_to(@user, :password_expires?)
|
244
|
-
assert_respond_to(@user, :password_expires=)
|
245
|
-
end
|
246
|
-
|
247
|
-
test "password_required accessor for User class" do
|
248
|
-
assert_respond_to(@user, :password_required?)
|
249
|
-
assert_respond_to(@user, :password_required=)
|
250
|
-
end
|
251
|
-
|
252
|
-
test "account_type accessor for User class" do
|
253
|
-
assert_respond_to(@user, :account_type)
|
254
|
-
assert_respond_to(@user, :account_type=)
|
255
|
-
end
|
256
|
-
|
257
|
-
test "uid accessor for User class" do
|
258
|
-
assert_respond_to(@user, :uid)
|
259
|
-
assert_respond_to(@user, :uid=)
|
260
|
-
end
|
261
|
-
|
262
|
-
test "dir accessor for User class" do
|
263
|
-
assert_respond_to(@user, :dir)
|
264
|
-
assert_respond_to(@user, :dir=)
|
265
|
-
end
|
266
|
-
|
267
|
-
test "dir method returns either a string or nil" do
|
268
|
-
assert_nothing_raised{ @user = Admin.get_user(@user_name, :localaccount => true) }
|
269
|
-
assert_kind_of([String, NilClass], @user.dir)
|
270
|
-
end
|
271
|
-
|
272
|
-
# Group class
|
273
|
-
|
274
|
-
test "caption accessor for Group class" do
|
275
|
-
assert_respond_to(@group, :caption)
|
276
|
-
assert_respond_to(@group, :caption=)
|
277
|
-
end
|
278
|
-
|
279
|
-
test "description accessor for Group class" do
|
280
|
-
assert_respond_to(@group, :description)
|
281
|
-
assert_respond_to(@group, :description=)
|
282
|
-
end
|
283
|
-
|
284
|
-
test "domain accessor for Group class" do
|
285
|
-
assert_respond_to(@group, :domain)
|
286
|
-
assert_respond_to(@group, :domain=)
|
287
|
-
end
|
288
|
-
|
289
|
-
test "install_date accessor for Group class" do
|
290
|
-
assert_respond_to(@group, :install_date)
|
291
|
-
assert_respond_to(@group, :install_date=)
|
292
|
-
end
|
293
|
-
|
294
|
-
test "name accessor for Group class" do
|
295
|
-
assert_respond_to(@group, :name)
|
296
|
-
assert_respond_to(@group, :name)
|
297
|
-
end
|
298
|
-
|
299
|
-
test "gid accessor for Group class" do
|
300
|
-
assert_respond_to(@group, :gid)
|
301
|
-
assert_respond_to(@group, :gid=)
|
302
|
-
end
|
303
|
-
|
304
|
-
test "status accessor for Group class" do
|
305
|
-
assert_respond_to(@group, :status)
|
306
|
-
assert_respond_to(@group, :status=)
|
307
|
-
end
|
308
|
-
|
309
|
-
test "sid accessor for Group class" do
|
310
|
-
assert_respond_to(@group, :sid)
|
311
|
-
assert_respond_to(@group, :sid=)
|
312
|
-
end
|
313
|
-
|
314
|
-
test "sid_type accessor for Group class" do
|
315
|
-
assert_respond_to(@group, :sid_type)
|
316
|
-
assert_respond_to(@group, :sid_type=)
|
317
|
-
end
|
318
|
-
|
319
|
-
test "local accessor for Group class" do
|
320
|
-
assert_respond_to(@group, :local?)
|
321
|
-
assert_respond_to(@group, :local=)
|
322
|
-
end
|
323
|
-
|
324
|
-
def teardown
|
325
|
-
@user = nil
|
326
|
-
@user_name = nil
|
327
|
-
@user_id = nil
|
328
|
-
@group = nil
|
329
|
-
@group_name = nil
|
330
|
-
@group_id = nil
|
331
|
-
end
|
332
|
-
|
333
|
-
def self.shutdown
|
334
|
-
@@host = nil
|
335
|
-
@@elevated = nil
|
336
|
-
end
|
337
|
-
end
|
1
|
+
###############################################################################
|
2
|
+
# test_sys_admin_windows.rb
|
3
|
+
#
|
4
|
+
# Test suite for the Win32 version of sys-admin. Note that some of the tests
|
5
|
+
# are numbered to ensure a certain order. That way I can add test users
|
6
|
+
# before configuring or deleting them.
|
7
|
+
#
|
8
|
+
# It is assumed that this test will be run via the 'rake test' task.
|
9
|
+
###############################################################################
|
10
|
+
require 'test-unit'
|
11
|
+
require 'sys/admin'
|
12
|
+
require 'win32/security'
|
13
|
+
require 'socket'
|
14
|
+
include Sys
|
15
|
+
|
16
|
+
class TC_Sys_Admin_Win32 < Test::Unit::TestCase
|
17
|
+
def self.startup
|
18
|
+
@@host = Socket.gethostname
|
19
|
+
@@elevated = Win32::Security.elevated_security?
|
20
|
+
end
|
21
|
+
|
22
|
+
def setup
|
23
|
+
@user = User.new
|
24
|
+
@user_name = 'Guest'
|
25
|
+
@user_id = 501 # best guess, may fail
|
26
|
+
@group = Group.new
|
27
|
+
@group_name = 'Guests'
|
28
|
+
@group_id = 546 # best guess, may fail
|
29
|
+
end
|
30
|
+
|
31
|
+
# Admin singleton methods
|
32
|
+
|
33
|
+
def test_01_add_user
|
34
|
+
omit_unless(@@elevated)
|
35
|
+
assert_respond_to(Admin, :add_user)
|
36
|
+
assert_nothing_raised{
|
37
|
+
Admin.add_user(:name => 'foo', :password => 'a1b2c3D4')
|
38
|
+
}
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_02_config_user
|
42
|
+
omit_unless(@@elevated)
|
43
|
+
assert_respond_to(Admin, :configure_user)
|
44
|
+
assert_nothing_raised{
|
45
|
+
Admin.configure_user(
|
46
|
+
:name => 'foo',
|
47
|
+
:description => 'delete me',
|
48
|
+
:fullname => 'fubar',
|
49
|
+
:password => 'd1c2b3A4'
|
50
|
+
)
|
51
|
+
}
|
52
|
+
end
|
53
|
+
|
54
|
+
def test_06_delete_user
|
55
|
+
omit_unless(@@elevated)
|
56
|
+
assert_respond_to(Admin, :delete_user)
|
57
|
+
assert_nothing_raised{ Admin.delete_user('foo') }
|
58
|
+
end
|
59
|
+
|
60
|
+
def test_01_add_group
|
61
|
+
omit_unless(@@elevated)
|
62
|
+
assert_respond_to(Admin, :add_group)
|
63
|
+
assert_nothing_raised{ Admin.add_group(:name => 'bar') }
|
64
|
+
end
|
65
|
+
|
66
|
+
def test_02_configure_group
|
67
|
+
omit_unless(@@elevated)
|
68
|
+
assert_respond_to(Admin, :configure_group)
|
69
|
+
assert_nothing_raised{
|
70
|
+
Admin.configure_group(:name => 'bar', :description => 'delete me')
|
71
|
+
}
|
72
|
+
end
|
73
|
+
|
74
|
+
def test_03_add_group_member
|
75
|
+
omit_unless(@@elevated)
|
76
|
+
assert_respond_to(Admin, :add_group_member)
|
77
|
+
assert_nothing_raised{ Admin.add_group_member('foo', 'bar') }
|
78
|
+
end
|
79
|
+
|
80
|
+
def test_04_remove_group_member
|
81
|
+
omit_unless(@@elevated)
|
82
|
+
assert_respond_to(Admin, :remove_group_member)
|
83
|
+
assert_nothing_raised{ Admin.remove_group_member('foo', 'bar') }
|
84
|
+
end
|
85
|
+
|
86
|
+
def test_05_delete_group
|
87
|
+
omit_unless(@@elevated)
|
88
|
+
assert_respond_to(Admin, :delete_group)
|
89
|
+
assert_nothing_raised{ Admin.delete_group('bar') }
|
90
|
+
end
|
91
|
+
|
92
|
+
test "get_login basic functionality" do
|
93
|
+
assert_respond_to(Admin, :get_login)
|
94
|
+
assert_nothing_raised{ Admin.get_login }
|
95
|
+
end
|
96
|
+
|
97
|
+
test "get_login returns a string" do
|
98
|
+
assert_kind_of(String, Admin.get_login)
|
99
|
+
assert_true(Admin.get_login.size > 0)
|
100
|
+
end
|
101
|
+
|
102
|
+
test "get_login does not accept any arguments" do
|
103
|
+
assert_raise(ArgumentError){ Admin.get_login('foo') }
|
104
|
+
end
|
105
|
+
|
106
|
+
test "get_user basic functionality" do
|
107
|
+
assert_respond_to(Admin, :get_user)
|
108
|
+
end
|
109
|
+
|
110
|
+
test "get_user with string argument works as expected" do
|
111
|
+
assert_nothing_raised{ Admin.get_user(@user_name, :localaccount => true) }
|
112
|
+
assert_kind_of(User, Admin.get_user(@user_name, :localaccount => true))
|
113
|
+
end
|
114
|
+
|
115
|
+
test "get user with integer argument works as expected" do
|
116
|
+
assert_nothing_raised{ Admin.get_user(@user_id, :localaccount => true) }
|
117
|
+
assert_kind_of(User, Admin.get_user(@user_id, :localaccount => true))
|
118
|
+
end
|
119
|
+
|
120
|
+
test "get_user method by string accepts a hash of options" do
|
121
|
+
options = {:host => @@host, :localaccount => true}
|
122
|
+
assert_nothing_raised{ Admin.get_user(@user_name, options) }
|
123
|
+
assert_kind_of(User, Admin.get_user(@user_name, options))
|
124
|
+
end
|
125
|
+
|
126
|
+
test "get_user method by uid accepts a hash of options" do
|
127
|
+
options = {:host => @@host, :localaccount => true}
|
128
|
+
assert_nothing_raised{ Admin.get_user(@user_id, options) }
|
129
|
+
assert_kind_of(User, Admin.get_user(@user_id, options))
|
130
|
+
end
|
131
|
+
|
132
|
+
test "get_user method requires an argument" do
|
133
|
+
assert_raises(ArgumentError){ Admin.get_user }
|
134
|
+
end
|
135
|
+
|
136
|
+
test "users method basic functionality" do
|
137
|
+
assert_respond_to(Admin, :users)
|
138
|
+
assert_nothing_raised{ Admin.users(:localaccount => true) }
|
139
|
+
end
|
140
|
+
|
141
|
+
test "users method returns an array of User objects" do
|
142
|
+
assert_kind_of(Array, Admin.users(:localaccount => true))
|
143
|
+
assert_kind_of(User, Admin.users(:localaccount => true).first)
|
144
|
+
end
|
145
|
+
|
146
|
+
test "get_group basic functionality" do
|
147
|
+
assert_respond_to(Admin, :get_group)
|
148
|
+
end
|
149
|
+
|
150
|
+
test "get_group method returns expected results with a string argument" do
|
151
|
+
assert_nothing_raised{ Admin.get_group(@group_name, :localaccount => true) }
|
152
|
+
assert_kind_of(Group, Admin.get_group(@group_name, :localaccount => true))
|
153
|
+
end
|
154
|
+
|
155
|
+
test "get_group method returns expected results with an integer argument" do
|
156
|
+
assert_nothing_raised{ Admin.get_group(@group_id, :localaccount => true) }
|
157
|
+
assert_kind_of(Group, Admin.get_group(@group_id, :localaccount => true))
|
158
|
+
end
|
159
|
+
|
160
|
+
# TODO: Update
|
161
|
+
test "get_group method accepts a hash of options" do
|
162
|
+
assert_nothing_raised{ Admin.get_group(@group_name, :localaccount => true) }
|
163
|
+
assert_kind_of(Group, Admin.get_group(@group_name, :localaccount => true))
|
164
|
+
end
|
165
|
+
|
166
|
+
test "get_group method requires an argument" do
|
167
|
+
assert_raise(ArgumentError){ Admin.get_group }
|
168
|
+
end
|
169
|
+
|
170
|
+
test "get_groups method basic functionality" do
|
171
|
+
assert_respond_to(Admin, :groups)
|
172
|
+
assert_nothing_raised{ Admin.groups(:localaccount => true) }
|
173
|
+
end
|
174
|
+
|
175
|
+
test "get_groups method returns an array of Group objects" do
|
176
|
+
assert_kind_of(Array, Admin.groups(:localaccount => true))
|
177
|
+
assert_kind_of(Group, Admin.groups(:localaccount => true).first)
|
178
|
+
end
|
179
|
+
|
180
|
+
# User class
|
181
|
+
|
182
|
+
test "caption accessor for User class" do
|
183
|
+
assert_respond_to(@user, :caption)
|
184
|
+
assert_respond_to(@user, :caption=)
|
185
|
+
end
|
186
|
+
|
187
|
+
test "description accessor for User class" do
|
188
|
+
assert_respond_to(@user, :description)
|
189
|
+
assert_respond_to(@user, :description=)
|
190
|
+
end
|
191
|
+
|
192
|
+
test "domain accessor for User class" do
|
193
|
+
assert_respond_to(@user, :domain)
|
194
|
+
assert_respond_to(@user, :domain=)
|
195
|
+
end
|
196
|
+
|
197
|
+
test "password accessor for User class" do
|
198
|
+
assert_respond_to(@user, :password)
|
199
|
+
assert_respond_to(@user, :password=)
|
200
|
+
end
|
201
|
+
|
202
|
+
test "full_name accessor for User class" do
|
203
|
+
assert_respond_to(@user, :full_name)
|
204
|
+
assert_respond_to(@user, :full_name=)
|
205
|
+
end
|
206
|
+
|
207
|
+
test "name accessor for User class" do
|
208
|
+
assert_respond_to(@user, :name)
|
209
|
+
assert_respond_to(@user, :name=)
|
210
|
+
end
|
211
|
+
|
212
|
+
test "sid accessor for User class" do
|
213
|
+
assert_respond_to(@user, :sid)
|
214
|
+
assert_respond_to(@user, :sid=)
|
215
|
+
end
|
216
|
+
|
217
|
+
test "status accessor for User class" do
|
218
|
+
assert_respond_to(@user, :status)
|
219
|
+
assert_respond_to(@user, :status=)
|
220
|
+
end
|
221
|
+
|
222
|
+
test "disabled accessor for User class" do
|
223
|
+
assert_respond_to(@user, :disabled?)
|
224
|
+
assert_respond_to(@user, :disabled=)
|
225
|
+
end
|
226
|
+
|
227
|
+
test "local accessor for User class" do
|
228
|
+
assert_respond_to(@user, :local?)
|
229
|
+
assert_respond_to(@user, :local=)
|
230
|
+
end
|
231
|
+
|
232
|
+
test "lockout accessor for User class" do
|
233
|
+
assert_respond_to(@user, :lockout?)
|
234
|
+
assert_respond_to(@user, :lockout=)
|
235
|
+
end
|
236
|
+
|
237
|
+
test "password_changeable accessor for User class" do
|
238
|
+
assert_respond_to(@user, :password_changeable?)
|
239
|
+
assert_respond_to(@user, :password_changeable=)
|
240
|
+
end
|
241
|
+
|
242
|
+
test "password_expires accessor for User class" do
|
243
|
+
assert_respond_to(@user, :password_expires?)
|
244
|
+
assert_respond_to(@user, :password_expires=)
|
245
|
+
end
|
246
|
+
|
247
|
+
test "password_required accessor for User class" do
|
248
|
+
assert_respond_to(@user, :password_required?)
|
249
|
+
assert_respond_to(@user, :password_required=)
|
250
|
+
end
|
251
|
+
|
252
|
+
test "account_type accessor for User class" do
|
253
|
+
assert_respond_to(@user, :account_type)
|
254
|
+
assert_respond_to(@user, :account_type=)
|
255
|
+
end
|
256
|
+
|
257
|
+
test "uid accessor for User class" do
|
258
|
+
assert_respond_to(@user, :uid)
|
259
|
+
assert_respond_to(@user, :uid=)
|
260
|
+
end
|
261
|
+
|
262
|
+
test "dir accessor for User class" do
|
263
|
+
assert_respond_to(@user, :dir)
|
264
|
+
assert_respond_to(@user, :dir=)
|
265
|
+
end
|
266
|
+
|
267
|
+
test "dir method returns either a string or nil" do
|
268
|
+
assert_nothing_raised{ @user = Admin.get_user(@user_name, :localaccount => true) }
|
269
|
+
assert_kind_of([String, NilClass], @user.dir)
|
270
|
+
end
|
271
|
+
|
272
|
+
# Group class
|
273
|
+
|
274
|
+
test "caption accessor for Group class" do
|
275
|
+
assert_respond_to(@group, :caption)
|
276
|
+
assert_respond_to(@group, :caption=)
|
277
|
+
end
|
278
|
+
|
279
|
+
test "description accessor for Group class" do
|
280
|
+
assert_respond_to(@group, :description)
|
281
|
+
assert_respond_to(@group, :description=)
|
282
|
+
end
|
283
|
+
|
284
|
+
test "domain accessor for Group class" do
|
285
|
+
assert_respond_to(@group, :domain)
|
286
|
+
assert_respond_to(@group, :domain=)
|
287
|
+
end
|
288
|
+
|
289
|
+
test "install_date accessor for Group class" do
|
290
|
+
assert_respond_to(@group, :install_date)
|
291
|
+
assert_respond_to(@group, :install_date=)
|
292
|
+
end
|
293
|
+
|
294
|
+
test "name accessor for Group class" do
|
295
|
+
assert_respond_to(@group, :name)
|
296
|
+
assert_respond_to(@group, :name)
|
297
|
+
end
|
298
|
+
|
299
|
+
test "gid accessor for Group class" do
|
300
|
+
assert_respond_to(@group, :gid)
|
301
|
+
assert_respond_to(@group, :gid=)
|
302
|
+
end
|
303
|
+
|
304
|
+
test "status accessor for Group class" do
|
305
|
+
assert_respond_to(@group, :status)
|
306
|
+
assert_respond_to(@group, :status=)
|
307
|
+
end
|
308
|
+
|
309
|
+
test "sid accessor for Group class" do
|
310
|
+
assert_respond_to(@group, :sid)
|
311
|
+
assert_respond_to(@group, :sid=)
|
312
|
+
end
|
313
|
+
|
314
|
+
test "sid_type accessor for Group class" do
|
315
|
+
assert_respond_to(@group, :sid_type)
|
316
|
+
assert_respond_to(@group, :sid_type=)
|
317
|
+
end
|
318
|
+
|
319
|
+
test "local accessor for Group class" do
|
320
|
+
assert_respond_to(@group, :local?)
|
321
|
+
assert_respond_to(@group, :local=)
|
322
|
+
end
|
323
|
+
|
324
|
+
def teardown
|
325
|
+
@user = nil
|
326
|
+
@user_name = nil
|
327
|
+
@user_id = nil
|
328
|
+
@group = nil
|
329
|
+
@group_name = nil
|
330
|
+
@group_id = nil
|
331
|
+
end
|
332
|
+
|
333
|
+
def self.shutdown
|
334
|
+
@@host = nil
|
335
|
+
@@elevated = nil
|
336
|
+
end
|
337
|
+
end
|