sys-admin 1.7.4 → 1.8.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.
metadata CHANGED
@@ -1,11 +1,11 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sys-admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.4
4
+ version: 1.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel J. Berger
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain:
11
11
  - |
@@ -35,36 +35,36 @@ cert_chain:
35
35
  ORVCZpRuCPpmC8qmqxUnARDArzucjaclkxjLWvCVHeFa9UP7K3Nl9oTjJNv+7/jM
36
36
  WZs4eecIcUc4tKdHxcAJ0MO/Dkqq7hGaiHpwKY76wQ1+8xAh
37
37
  -----END CERTIFICATE-----
38
- date:
38
+ date: 2021-09-25 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: ffi
42
42
  requirement: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - ">="
44
+ - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: 1.1.0
46
+ version: '1.1'
47
47
  type: :runtime
48
48
  prerelease: false
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - ">="
51
+ - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: 1.1.0
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
@@ -88,65 +88,45 @@ description: |2
88
88
  email: djberg96@gmail.com
89
89
  executables: []
90
90
  extensions: []
91
- extra_rdoc_files:
92
- - CHANGES.rdoc
93
- - MANIFEST.rdoc
94
- - README.rdoc
91
+ extra_rdoc_files: []
95
92
  files:
93
+ - CHANGES.md
94
+ - Gemfile
96
95
  - LICENSE
97
- - test
98
- - test/test_sys_admin_windows.rb
99
- - test/test_sys_admin.rb
100
- - test/test_sys_admin_unix.rb
96
+ - MANIFEST.md
97
+ - README.md
101
98
  - Rakefile
102
- - certs
103
99
  - certs/djberg96_pub.pem
104
- - examples
105
- - examples/example_users.rb
100
+ - doc/sys-admin-unix.txt
101
+ - doc/sys-admin-windows.txt
106
102
  - examples/example_groups.rb
107
- - lib
108
- - lib/sunos
109
- - lib/sunos/sys
110
- - lib/sunos/sys/admin.rb
111
- - lib/bsd
112
- - lib/bsd/sys
103
+ - examples/example_users.rb
113
104
  - lib/bsd/sys/admin.rb
105
+ - lib/darwin/sys/admin.rb
106
+ - lib/linux/sys/admin.rb
107
+ - lib/sunos/sys/admin.rb
114
108
  - lib/sys-admin.rb
115
- - lib/unix
116
- - lib/unix/sys
117
- - lib/unix/sys/admin.rb
118
- - lib/sys
119
- - lib/sys/admin
109
+ - lib/sys/admin.rb
120
110
  - lib/sys/admin/common.rb
121
111
  - lib/sys/admin/custom.rb
122
- - lib/sys/admin.rb
123
- - lib/linux
124
- - lib/linux/sys
125
- - lib/linux/sys/admin.rb
126
- - lib/darwin
127
- - lib/darwin/sys
128
- - lib/darwin/sys/admin.rb
129
- - lib/windows
130
- - lib/windows/sys
112
+ - lib/unix/sys/admin.rb
131
113
  - lib/windows/sys/admin.rb
132
- - CHANGES.rdoc
133
- - doc
134
- - doc/sys-admin-windows.txt
135
- - doc/sys-admin-unix.txt
136
- - MANIFEST.rdoc
114
+ - spec/spec_helper.rb
115
+ - spec/sys_admin_unix_spec.rb
116
+ - spec/sys_admin_version_spec.rb
117
+ - spec/sys_admin_windows_spec.rb
137
118
  - sys-admin.gemspec
138
- - README.rdoc
139
119
  homepage: http://www.github.com/djberg96/sys-admin
140
120
  licenses:
141
121
  - Apache-2.0
142
122
  metadata:
143
123
  homepage_uri: https://github.com/djberg96/sys-admin
144
124
  bug_tracker_uri: https://github.com/djberg96/sys-admin/issues
145
- changelog_uri: https://github.com/djberg96/sys-admin/blob/ffi/CHANGES
125
+ changelog_uri: https://github.com/djberg96/sys-admin/blob/main/CHANGES.md
146
126
  documentation_uri: https://github.com/djberg96/sys-admin/wiki
147
127
  source_code_uri: https://github.com/djberg96/sys-admin
148
128
  wiki_uri: https://github.com/djberg96/sys-admin/wiki
149
- post_install_message:
129
+ post_install_message:
150
130
  rdoc_options: []
151
131
  require_paths:
152
132
  - lib
@@ -161,9 +141,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
161
141
  - !ruby/object:Gem::Version
162
142
  version: '0'
163
143
  requirements: []
164
- rubygems_version: 3.0.6
165
- signing_key:
144
+ rubygems_version: 3.2.28
145
+ signing_key:
166
146
  specification_version: 4
167
147
  summary: A unified, cross platform replacement for the "etc" library.
168
148
  test_files:
169
- - test/test_sys_admin.rb
149
+ - spec/spec_helper.rb
150
+ - spec/sys_admin_unix_spec.rb
151
+ - spec/sys_admin_version_spec.rb
152
+ - 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.4', 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