sys-admin 1.7.6 → 1.8.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.
data/sys-admin.gemspec CHANGED
@@ -3,26 +3,32 @@ require 'rubygems'
3
3
 
4
4
  Gem::Specification.new do |spec|
5
5
  spec.name = 'sys-admin'
6
- spec.version = '1.7.6'
6
+ spec.version = '1.8.0'
7
7
  spec.author = 'Daniel J. Berger'
8
8
  spec.license = 'Apache-2.0'
9
9
  spec.email = 'djberg96@gmail.com'
10
10
  spec.homepage = 'http://www.github.com/djberg96/sys-admin'
11
11
  spec.summary = 'A unified, cross platform replacement for the "etc" library.'
12
- spec.test_file = 'test/test_sys_admin.rb'
12
+ spec.test_files = Dir['spec/*.rb']
13
13
  spec.files = Dir['**/*'].reject{ |f| f.include?('git') }
14
14
  spec.cert_chain = ['certs/djberg96_pub.pem']
15
15
 
16
+ spec.extra_rdoc_files = Dir['*.rdoc']
17
+
16
18
  spec.add_dependency('ffi', '~> 1.1')
17
- spec.add_dependency('win32-security', '~> 0.5') if Gem.win_platform?
18
19
 
19
- spec.add_development_dependency('test-unit', '>= 2.5.0')
20
+ if Gem.win_platform?
21
+ spec.platform = Gem::Platform.new(['universal', 'mingw32'])
22
+ spec.add_dependency('win32-security', '~> 0.5')
23
+ end
24
+
25
+ spec.add_development_dependency('rspec', '~> 3.9')
20
26
  spec.add_development_dependency('rake')
21
27
 
22
28
  spec.metadata = {
23
29
  'homepage_uri' => 'https://github.com/djberg96/sys-admin',
24
30
  'bug_tracker_uri' => 'https://github.com/djberg96/sys-admin/issues',
25
- 'changelog_uri' => 'https://github.com/djberg96/sys-admin/blob/ffi/CHANGES.md',
31
+ 'changelog_uri' => 'https://github.com/djberg96/sys-admin/blob/main/CHANGES.md',
26
32
  'documentation_uri' => 'https://github.com/djberg96/sys-admin/wiki',
27
33
  'source_code_uri' => 'https://github.com/djberg96/sys-admin',
28
34
  'wiki_uri' => 'https://github.com/djberg96/sys-admin/wiki'
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sys-admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.6
4
+ version: 1.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel J. Berger
@@ -35,7 +35,7 @@ cert_chain:
35
35
  ORVCZpRuCPpmC8qmqxUnARDArzucjaclkxjLWvCVHeFa9UP7K3Nl9oTjJNv+7/jM
36
36
  WZs4eecIcUc4tKdHxcAJ0MO/Dkqq7hGaiHpwKY76wQ1+8xAh
37
37
  -----END CERTIFICATE-----
38
- date: 2021-03-24 00:00:00.000000000 Z
38
+ date: 2021-08-26 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: ffi
@@ -52,19 +52,19 @@ dependencies:
52
52
  - !ruby/object:Gem::Version
53
53
  version: '1.1'
54
54
  - !ruby/object:Gem::Dependency
55
- name: test-unit
55
+ name: rspec
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - ">="
58
+ - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: 2.5.0
60
+ version: '3.9'
61
61
  type: :development
62
62
  prerelease: false
63
63
  version_requirements: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - ">="
65
+ - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: 2.5.0
67
+ version: '3.9'
68
68
  - !ruby/object:Gem::Dependency
69
69
  name: rake
70
70
  requirement: !ruby/object:Gem::Requirement
@@ -111,17 +111,16 @@ files:
111
111
  - lib/sys/admin/custom.rb
112
112
  - lib/unix/sys/admin.rb
113
113
  - lib/windows/sys/admin.rb
114
+ - spec/sys_admin_unix_spec.rb
115
+ - spec/sys_admin_windows_spec.rb
114
116
  - sys-admin.gemspec
115
- - test/test_sys_admin.rb
116
- - test/test_sys_admin_unix.rb
117
- - test/test_sys_admin_windows.rb
118
117
  homepage: http://www.github.com/djberg96/sys-admin
119
118
  licenses:
120
119
  - Apache-2.0
121
120
  metadata:
122
121
  homepage_uri: https://github.com/djberg96/sys-admin
123
122
  bug_tracker_uri: https://github.com/djberg96/sys-admin/issues
124
- changelog_uri: https://github.com/djberg96/sys-admin/blob/ffi/CHANGES.md
123
+ changelog_uri: https://github.com/djberg96/sys-admin/blob/main/CHANGES.md
125
124
  documentation_uri: https://github.com/djberg96/sys-admin/wiki
126
125
  source_code_uri: https://github.com/djberg96/sys-admin
127
126
  wiki_uri: https://github.com/djberg96/sys-admin/wiki
@@ -140,9 +139,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
140
139
  - !ruby/object:Gem::Version
141
140
  version: '0'
142
141
  requirements: []
143
- rubygems_version: 3.2.15
142
+ rubygems_version: 3.1.4
144
143
  signing_key:
145
144
  specification_version: 4
146
145
  summary: A unified, cross platform replacement for the "etc" library.
147
146
  test_files:
148
- - test/test_sys_admin.rb
147
+ - spec/sys_admin_unix_spec.rb
148
+ - spec/sys_admin_windows_spec.rb
metadata.gz.sig CHANGED
Binary file
@@ -1,23 +0,0 @@
1
- ###############################################################################
2
- # test_sys_admin.rb
3
- #
4
- # This exists mostly for the sake of the gemspec, so that it calls the right
5
- # test suite based on the platform.
6
- ###############################################################################
7
- require 'test-unit'
8
-
9
- if File::ALT_SEPARATOR
10
- require 'test_sys_admin_windows'
11
- else
12
- require 'test_sys_admin_unix'
13
- end
14
-
15
- class TC_Sys_Admin_All < Test::Unit::TestCase
16
- test "version is set to expected value" do
17
- assert_equal('1.7.6', Sys::Admin::VERSION)
18
- end
19
-
20
- test "version constant is frozen" do
21
- assert_true(Sys::Admin::VERSION.frozen?)
22
- end
23
- end
@@ -1,260 +0,0 @@
1
- ###############################################################################
2
- # test_sys_admin_unix.rb
3
- #
4
- # Test suite for the Unix version of sys-admin. This test should be run
5
- # via the 'rake test' task.
6
- ###############################################################################
7
- require 'test-unit'
8
- require 'sys/admin'
9
- include Sys
10
-
11
- class TC_Sys_Admin_Unix < Test::Unit::TestCase
12
- def setup
13
- @user = 'nobody'
14
- @user_id = 0
15
- @group = 'sys'
16
- @group_id = 3
17
- end
18
-
19
- ## Admin singleton methods
20
-
21
- test "get_login basic functionality" do
22
- assert_respond_to(Admin, :get_login)
23
- assert_nothing_raised{ Admin.get_login }
24
- end
25
-
26
- test "get_login returns a string" do
27
- assert_kind_of(String, Admin.get_login)
28
- assert_true(Admin.get_login.length > 0)
29
- end
30
-
31
- test "get_user basic functionality" do
32
- assert_respond_to(Admin, :get_user)
33
- assert_nothing_raised{ Admin.get_user(@user) }
34
- assert_nothing_raised{ Admin.get_user(@user_id) }
35
- end
36
-
37
- test "get_user with a string argument works as expected" do
38
- assert_kind_of(Admin::User, Admin.get_user(@user))
39
- end
40
-
41
- test "get_user with an integer argument works as expected" do
42
- assert_kind_of(Admin::User, Admin.get_user(@user_id))
43
- end
44
-
45
- test "get_user requires one argument only" do
46
- assert_raise(ArgumentError){ Admin.get_user }
47
- assert_raise(ArgumentError){ Admin.get_user(@user, @user) }
48
- end
49
-
50
- test "get_user requires a string or integer argument" do
51
- assert_raise(TypeError){ Admin.get_user([]) }
52
- end
53
-
54
- test "get_user raises an Error if the user cannot be found" do
55
- assert_raise(Admin::Error){ Admin.get_user('foofoofoo') }
56
- end
57
-
58
- test "users basic functionality" do
59
- assert_respond_to(Admin, :users)
60
- assert_nothing_raised{ Admin.users }
61
- end
62
-
63
- test "users returns an array of User objects" do
64
- users = Admin.users
65
- assert_kind_of(Array, users)
66
- assert_kind_of(Admin::User, users.first)
67
- end
68
-
69
- test "users does not accept any arguments" do
70
- assert_raise(ArgumentError){ Admin.users(@user_id) }
71
- end
72
-
73
- test "get_group basic functionality" do
74
- assert_respond_to(Admin, :get_group)
75
- assert_nothing_raised{ Admin.get_group(@group) }
76
- assert_nothing_raised{ Admin.get_group(@group_id) }
77
- end
78
-
79
- test "get_group accepts a string argument" do
80
- assert_kind_of(Admin::Group, Admin.get_group(@group))
81
- end
82
-
83
- test "get_group accepts an integer argument" do
84
- assert_kind_of(Admin::Group, Admin.get_group(@group_id))
85
- end
86
-
87
- test "get_group requires one argument only" do
88
- assert_raise(ArgumentError){ Admin.get_group }
89
- assert_raise(ArgumentError){ Admin.get_group(@group_id, @group_id) }
90
- end
91
-
92
- test "get_group raises a TypeError if an invalid type is passed" do
93
- assert_raise(TypeError){ Admin.get_group([]) }
94
- end
95
-
96
- test "get_group raises an Error if the group cannot be found" do
97
- assert_raise(Admin::Error){ Admin.get_group('foofoofoo') }
98
- end
99
-
100
- test "groups basic functionality" do
101
- assert_respond_to(Admin, :groups)
102
- assert_nothing_raised{ Admin.groups }
103
- end
104
-
105
- test "groups returns an array of Group objects" do
106
- groups = Admin.groups
107
- assert_kind_of(Array, groups)
108
- assert_kind_of(Admin::Group, groups.first)
109
- end
110
-
111
- test "groups method does not accept any arguments" do
112
- assert_raise(ArgumentError){ Admin.groups(@group_id) }
113
- end
114
-
115
- ## User Tests
116
-
117
- test "user.name behaves as expected" do
118
- @user = Admin.get_user(@user_id)
119
- assert_respond_to(@user, :name)
120
- assert_kind_of(String, @user.name)
121
- end
122
-
123
- test "user.passwd behaves as expected" do
124
- @user = Admin.get_user(@user_id)
125
- assert_respond_to(@user, :passwd)
126
- assert_kind_of(String, @user.passwd)
127
- end
128
-
129
- test "user.uid behaves as expected" do
130
- @user = Admin.get_user(@user_id)
131
- assert_respond_to(@user, :uid)
132
- assert_kind_of(Integer, @user.uid)
133
- end
134
-
135
- test "user.gid behaves as expected" do
136
- @user = Admin.get_user(@user_id)
137
- assert_respond_to(@user, :gid)
138
- assert_kind_of(Integer, @user.gid)
139
- end
140
-
141
- test "user.dir behaves as expected" do
142
- @user = Admin.get_user(@user_id)
143
- assert_respond_to(@user, :dir)
144
- assert_kind_of(String, @user.dir)
145
- end
146
-
147
- test "user.shell behaves as expected" do
148
- @user = Admin.get_user(@user_id)
149
- assert_respond_to(@user, :shell)
150
- assert_kind_of(String, @user.shell)
151
- end
152
-
153
- test "user.gecos behaves as expected" do
154
- @user = Admin.get_user(@user_id)
155
- assert_respond_to(@user, :gecos)
156
- assert_kind_of([String, NilClass], @user.gecos)
157
- end
158
-
159
- test "user.quota behaves as expected" do
160
- @user = Admin.get_user(@user_id)
161
- assert_respond_to(@user, :quota)
162
- assert_true([Integer, NilClass].include?(@user.quota.class))
163
- end
164
-
165
- test "user.age behaves as expected" do
166
- @user = Admin.get_user(@user_id)
167
- assert_respond_to(@user, :age)
168
- assert_true([Integer, NilClass].include?(@user.age.class))
169
- end
170
-
171
- test "user.access behaves as expected" do
172
- @user = Admin.get_user(@user_id)
173
- assert_respond_to(@user, :access_class)
174
- assert_true([String, NilClass].include?(@user.access_class.class))
175
- end
176
-
177
- test "user.comment behaves as expected" do
178
- @user = Admin.get_user(@user_id)
179
- assert_respond_to(@user, :comment)
180
- assert_true([String, NilClass].include?(@user.comment.class))
181
- end
182
-
183
- test "user.expire behaves as expected" do
184
- @user = Admin.get_user(@user_id)
185
- assert_respond_to(@user, :expire)
186
- assert_true([Time, NilClass].include?(@user.expire.class))
187
- end
188
-
189
- test "user.change behaves as expected" do
190
- @user = Admin.get_user(@user_id)
191
- assert_respond_to(@user, :change)
192
- assert_true([Time, NilClass].include?(@user.change.class))
193
- end
194
-
195
- test "user.login_time behaves as expected" do
196
- @user = Admin.get_user(@user_id)
197
- assert_respond_to(@user, :login_time)
198
- assert_true([Time, NilClass].include?(@user.login_time.class))
199
- end
200
-
201
- test "user.login_device behaves as expected" do
202
- @user = Admin.get_user(@user_id)
203
- assert_respond_to(@user, :login_device)
204
- assert_true([String, NilClass].include?(@user.login_device.class))
205
- end
206
-
207
- test "user.login_host behaves as expected" do
208
- @user = Admin.get_user(@user_id)
209
- assert_respond_to(@user, :login_host)
210
- assert_true([String, NilClass].include?(@user.login_host.class))
211
- end
212
-
213
- test "user.groups behaves as expected" do
214
- @user = Admin.get_user(@user_id)
215
- assert_respond_to(@user, :groups)
216
- assert_kind_of(Array, @user.groups)
217
- end
218
-
219
- ## Group Tests
220
-
221
- test "group.name behaves as expected" do
222
- @group = Admin.get_group(@group_id)
223
- assert_respond_to(@group, :name)
224
- assert_kind_of(String, @group.name)
225
- end
226
-
227
- test "group.gid behaves as expected" do
228
- @group = Admin.get_group(@group_id)
229
- assert_respond_to(@group, :gid)
230
- assert_kind_of(Integer, @group.gid)
231
- end
232
-
233
- test "group.members behaves as expected" do
234
- @group = Admin.get_group(@group_id)
235
- assert_respond_to(@group, :members)
236
- assert_kind_of(Array, @group.members)
237
- end
238
-
239
- test "group.passwd behaves as expected" do
240
- @group = Admin.get_group(@group_id)
241
- assert_respond_to(@group, :passwd)
242
- assert_kind_of(String, @group.passwd)
243
- end
244
-
245
- ## FFI
246
-
247
- test "ffi functions are private" do
248
- methods = Admin.methods(false).map{ |e| e.to_s }
249
- assert_false(methods.include?('getlogin'))
250
- assert_false(methods.include?('getlogin_r'))
251
- assert_false(methods.include?('strerror'))
252
- end
253
-
254
- def teardown
255
- @user = nil
256
- @user_id = nil
257
- @group = nil
258
- @group_id = nil
259
- end
260
- end
@@ -1,337 +0,0 @@
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