sys-admin 1.7.3 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
data/sys-admin.gemspec CHANGED
@@ -3,27 +3,32 @@ require 'rubygems'
3
3
 
4
4
  Gem::Specification.new do |spec|
5
5
  spec.name = 'sys-admin'
6
- spec.version = '1.7.3'
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
16
  spec.extra_rdoc_files = Dir['*.rdoc']
17
17
 
18
- spec.add_dependency('ffi', '>= 1.1.0')
18
+ spec.add_dependency('ffi', '~> 1.1')
19
19
 
20
- 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')
21
26
  spec.add_development_dependency('rake')
22
27
 
23
28
  spec.metadata = {
24
29
  'homepage_uri' => 'https://github.com/djberg96/sys-admin',
25
30
  'bug_tracker_uri' => 'https://github.com/djberg96/sys-admin/issues',
26
- 'changelog_uri' => 'https://github.com/djberg96/sys-admin/blob/ffi/CHANGES',
31
+ 'changelog_uri' => 'https://github.com/djberg96/sys-admin/blob/main/CHANGES.md',
27
32
  'documentation_uri' => 'https://github.com/djberg96/sys-admin/wiki',
28
33
  'source_code_uri' => 'https://github.com/djberg96/sys-admin',
29
34
  'wiki_uri' => 'https://github.com/djberg96/sys-admin/wiki'
data.tar.gz.sig CHANGED
Binary file
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.3
4
+ version: 1.8.0
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-08-26 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,52 +88,31 @@ 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:
96
- - test
97
- - test/test_sys_admin_unix.rb
98
- - test/test_sys_admin_windows.rb
99
- - test/test_sys_admin.rb
100
- - examples
93
+ - CHANGES.md
94
+ - Gemfile
95
+ - LICENSE
96
+ - MANIFEST.md
97
+ - README.md
98
+ - Rakefile
99
+ - certs/djberg96_pub.pem
100
+ - doc/sys-admin-unix.txt
101
+ - doc/sys-admin-windows.txt
101
102
  - examples/example_groups.rb
102
103
  - examples/example_users.rb
103
- - doc
104
- - doc/sys-admin-windows.txt
105
- - doc/sys-admin-unix.txt
106
- - Rakefile
107
- - lib
108
- - lib/windows
109
- - lib/windows/sys
110
- - lib/windows/sys/admin.rb
111
- - lib/sys-admin.rb
112
- - lib/sunos
113
- - lib/sunos/sys
114
- - lib/sunos/sys/admin.rb
115
- - lib/linux
116
- - lib/linux/sys
117
- - lib/linux/sys/admin.rb
118
- - lib/bsd
119
- - lib/bsd/sys
120
104
  - lib/bsd/sys/admin.rb
121
- - lib/darwin
122
- - lib/darwin/sys
123
105
  - lib/darwin/sys/admin.rb
124
- - lib/unix
125
- - lib/unix/sys
126
- - lib/unix/sys/admin.rb
127
- - lib/sys
128
- - lib/sys/admin
129
- - lib/sys/admin/custom.rb
130
- - lib/sys/admin/common.rb
106
+ - lib/linux/sys/admin.rb
107
+ - lib/sunos/sys/admin.rb
108
+ - lib/sys-admin.rb
131
109
  - lib/sys/admin.rb
132
- - certs
133
- - certs/djberg96_pub.pem
134
- - CHANGES.rdoc
135
- - MANIFEST.rdoc
136
- - README.rdoc
110
+ - lib/sys/admin/common.rb
111
+ - lib/sys/admin/custom.rb
112
+ - lib/unix/sys/admin.rb
113
+ - lib/windows/sys/admin.rb
114
+ - spec/sys_admin_unix_spec.rb
115
+ - spec/sys_admin_windows_spec.rb
137
116
  - sys-admin.gemspec
138
117
  homepage: http://www.github.com/djberg96/sys-admin
139
118
  licenses:
@@ -141,11 +120,11 @@ licenses:
141
120
  metadata:
142
121
  homepage_uri: https://github.com/djberg96/sys-admin
143
122
  bug_tracker_uri: https://github.com/djberg96/sys-admin/issues
144
- changelog_uri: https://github.com/djberg96/sys-admin/blob/ffi/CHANGES
123
+ changelog_uri: https://github.com/djberg96/sys-admin/blob/main/CHANGES.md
145
124
  documentation_uri: https://github.com/djberg96/sys-admin/wiki
146
125
  source_code_uri: https://github.com/djberg96/sys-admin
147
126
  wiki_uri: https://github.com/djberg96/sys-admin/wiki
148
- post_install_message:
127
+ post_install_message:
149
128
  rdoc_options: []
150
129
  require_paths:
151
130
  - lib
@@ -160,9 +139,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
160
139
  - !ruby/object:Gem::Version
161
140
  version: '0'
162
141
  requirements: []
163
- rubygems_version: 3.0.6
164
- signing_key:
142
+ rubygems_version: 3.1.4
143
+ signing_key:
165
144
  specification_version: 4
166
145
  summary: A unified, cross platform replacement for the "etc" library.
167
146
  test_files:
168
- - 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.3', 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