kanrisuru 0.8.18 → 0.8.22

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6e813c072c86f8c0b076a90d2b8136fb9bc64271df996c6c54c4e2bf6c7b5806
4
- data.tar.gz: a763991aa4979eb17c1c0e123d80c2057552b2caf9be24358b39659a292e241d
3
+ metadata.gz: 610fa46fc1f2af6ea5b805092f9528858c586cfad6c9754b18bdad109eaa9e77
4
+ data.tar.gz: 210c27c89350d4b5cbbba4b5677711d2032f8d4bbbc7bac79a2c2a722f0c6caa
5
5
  SHA512:
6
- metadata.gz: 52be23f3a72de4d6f9633e8b01470949035aec9be4123a87bbfc2e4a93120c463fa1470a69030ad696fbabb389ce60890b64925d129654f513a4baa392846ca8
7
- data.tar.gz: 749dfdd773a1256575ab262a73f56be48ec6caaef21e8499ea9fb42d9cb2ae79e569d3f8b9581aa153d9d7031eef88d46c64a9a68900d27e00cf85e28885d45d
6
+ metadata.gz: cd1f29eb444fe67904563cc2f0edaf3480c068e374f75242f7d802d94588c7023549186ddce860f9ac1b79a66413435f18b57f36b3b53cfa5f688ca32689ba8f
7
+ data.tar.gz: 3e784e517b5fa233c97b14dee47ab7f58562ebf2b484c602bd6d59ce1853a8749d7c53268574368269be7b4a711eac02bf6ce60bed1454232bf4d6a8a18b389d
data/CHANGELOG.md CHANGED
@@ -1,4 +1,24 @@
1
- ## Kanrisuru 0.8.17 (October 16 2021)
1
+ ## Kanrisuru 0.8.22 (November 18, 2021)
2
+ * Add functional test cases for `apt` command
3
+
4
+ ## Kanrisuru 0.8.21 (November 15, 2021)
5
+ * Fix bug with `Kanrisuru::Mode` class, lookup table had incorrect value for execute only symbolic to numeric field.
6
+
7
+ ## Kanrisuru 0.8.20 (November 13, 2021)
8
+ * Unstub network requests for full rspec test-suite run
9
+
10
+ ## Kanrisuru 0.8.19 (October 31, 2021)
11
+ * Add functional test cases for `ss` command.
12
+ * Enforce contraints on `family` parameter for `ss` command.
13
+ * Deprecating `string_join_array` in favor of `array_join_string`. Both methods do the same thing, and the `array_join_string` has a better nameing interface; will be removed in the next major release.
14
+ * Replace `string_join_array` method calls in `apt`, `transfer`, `yum`, and `zypper` with `array_join_string`.
15
+
16
+ ## Kanrisuru 0.8.18 (October 19, 2021)
17
+ * Add functional test cases for `find` commmand.
18
+ * Add `regex_type` option for `find` command.
19
+ * Fix bug with `size` option when using number in a string format, regex testing has been simplified on matching correctness for size with options like `100`, `+100`, `-100M` for comparitive fields.
20
+
21
+ ## Kanrisuru 0.8.17 (October 16, 2021)
2
22
  * Add functional test cases for `transfer` module
3
23
  * Update wget command to accept hash for `headers` opt.
4
24
 
@@ -142,7 +142,7 @@ module Kanrisuru
142
142
  command = Kanrisuru::Command.new('apt-get purge')
143
143
  command.append_flag('-y')
144
144
 
145
- packages = Kanrisuru::Util.string_join_array(opts[:packages], ' ')
145
+ packages = Kanrisuru::Util.array_join_string(opts[:packages], ' ')
146
146
  command << packages
147
147
 
148
148
  execute_shell(command)
@@ -153,7 +153,7 @@ module Kanrisuru
153
153
  command = Kanrisuru::Command.new('apt-get remove')
154
154
  command.append_flag('-y')
155
155
 
156
- packages = Kanrisuru::Util.string_join_array(opts[:packages], ' ')
156
+ packages = Kanrisuru::Util.array_join_string(opts[:packages], ' ')
157
157
  command << packages
158
158
 
159
159
  execute_shell(command)
@@ -168,7 +168,7 @@ module Kanrisuru
168
168
  command.append_flag('--only-upgrade', opts[:only_upgrade])
169
169
  command.append_flag('--reinstall', opts[:reinstall])
170
170
 
171
- packages = Kanrisuru::Util.string_join_array(opts[:packages], ' ')
171
+ packages = Kanrisuru::Util.array_join_string(opts[:packages], ' ')
172
172
  command << packages
173
173
 
174
174
  execute_shell(command)
@@ -200,7 +200,7 @@ module Kanrisuru
200
200
  command = Kanrisuru::Command.new('apt show')
201
201
  command.append_flag('-a')
202
202
 
203
- packages = Kanrisuru::Util.string_join_array(opts[:packages], ' ')
203
+ packages = Kanrisuru::Util.array_join_string(opts[:packages], ' ')
204
204
  command << packages
205
205
 
206
206
  execute_shell(command)
@@ -38,9 +38,14 @@ module Kanrisuru
38
38
  'LAST-ACK' => 'last-ack', 'CLOSING' => 'closing'
39
39
  }.freeze
40
40
 
41
+ NETWORK_FAMILIES = %w[
42
+ unix inet inet6 link netlink
43
+ ].freeze
44
+
41
45
  def ss(opts = {})
42
46
  state = opts[:state]
43
47
  expression = opts[:expression]
48
+ family = opts[:family]
44
49
 
45
50
  command = Kanrisuru::Command.new('ss')
46
51
 
@@ -53,7 +58,10 @@ module Kanrisuru
53
58
  command.append_flag('-x', opts[:unix])
54
59
  command.append_flag('-w', opts[:raw])
55
60
 
56
- command.append_arg('-f', opts[:family])
61
+ if Kanrisuru::Util.present?(family)
62
+ raise ArgumentError, 'invalid family type' if !NETWORK_FAMILIES.include?(family)
63
+ command.append_arg('-f', family)
64
+ end
57
65
 
58
66
  if Kanrisuru::Util.present?(state)
59
67
  raise ArgumentError, 'invalid filter state' if !TCP_STATES.include?(state) && !OTHER_STATES.include?(state)
@@ -87,7 +87,7 @@ module Kanrisuru
87
87
  command.append_arg('--quota', opts[:quota])
88
88
 
89
89
  if Kanrisuru::Util.present?(opts[:restrict_file_names])
90
- command.append_arg('--restrict-file-names', Kanrisuru::Util.string_join_array(opts[:restrict_file_names]))
90
+ command.append_arg('--restrict-file-names', Kanrisuru::Util.array_join_string(opts[:restrict_file_names]))
91
91
  end
92
92
 
93
93
  case opts[:family]
@@ -78,7 +78,7 @@ module Kanrisuru
78
78
  command = Kanrisuru::Command.new('yum install')
79
79
  command.append_flag('-y')
80
80
 
81
- packages = Kanrisuru::Util.string_join_array(opts[:packages], ' ')
81
+ packages = Kanrisuru::Util.array_join_string(opts[:packages], ' ')
82
82
  command << packages
83
83
 
84
84
  execute_shell(command)
@@ -91,7 +91,7 @@ module Kanrisuru
91
91
  command.append_flag('-y')
92
92
 
93
93
  if Kanrisuru::Util.present?(opts[:repos])
94
- repos = Kanrisuru::Util.string_join_array(opts[:repos], ' ')
94
+ repos = Kanrisuru::Util.array_join_string(opts[:repos], ' ')
95
95
  command << repos
96
96
  end
97
97
 
@@ -136,7 +136,7 @@ module Kanrisuru
136
136
  command = Kanrisuru::Command.new('yum remove')
137
137
  command.append_flag('-y')
138
138
 
139
- packages = Kanrisuru::Util.string_join_array(opts[:packages], ' ')
139
+ packages = Kanrisuru::Util.array_join_string(opts[:packages], ' ')
140
140
  raise ArugmentError, "can't remove yum" if packages.include?('yum')
141
141
 
142
142
  command << packages
@@ -172,7 +172,7 @@ module Kanrisuru
172
172
  command = Kanrisuru::Command.new('yum erase')
173
173
  command.append_flag('-y')
174
174
 
175
- packages = Kanrisuru::Util.string_join_array(opts[:packages], ' ')
175
+ packages = Kanrisuru::Util.array_join_string(opts[:packages], ' ')
176
176
  raise ArugmentError, "can't erase yum" if packages.include?('yum')
177
177
 
178
178
  command << packages
@@ -198,7 +198,7 @@ module Kanrisuru
198
198
  def yum_search(opts)
199
199
  command = Kanrisuru::Command.new('yum search')
200
200
  command.append_flag('all', opts[:all])
201
- command << Kanrisuru::Util.string_join_array(opts[:packages], ' ')
201
+ command << Kanrisuru::Util.array_join_string(opts[:packages], ' ')
202
202
 
203
203
  pipe_output_newline(command)
204
204
 
@@ -228,7 +228,7 @@ module Kanrisuru
228
228
  command = Kanrisuru::Command.new('yum repolist')
229
229
  command.append_flag('--verbose')
230
230
 
231
- command << Kanrisuru::Util.string_join_array(opts[:repos], ' ') if opts[:repos]
231
+ command << Kanrisuru::Util.array_join_string(opts[:repos], ' ') if opts[:repos]
232
232
 
233
233
  execute_shell(command)
234
234
 
@@ -287,7 +287,7 @@ module Kanrisuru
287
287
  command.append_flag('--quiet')
288
288
  command.append_flag('installed', opts[:installed])
289
289
 
290
- command << Kanrisuru::Util.string_join_array(opts[:packages], ' ') if opts[:packages]
290
+ command << Kanrisuru::Util.array_join_string(opts[:packages], ' ') if opts[:packages]
291
291
 
292
292
  execute_shell(command)
293
293
 
@@ -567,7 +567,7 @@ module Kanrisuru
567
567
  zypper_repos_opt(command, opts)
568
568
  zypper_package_type_opt(command, opts)
569
569
 
570
- packages = Kanrisuru::Util.string_join_array(opts[:packages], ' ')
570
+ packages = Kanrisuru::Util.array_join_string(opts[:packages], ' ')
571
571
  command << packages
572
572
 
573
573
  execute_shell(command)
@@ -663,7 +663,7 @@ module Kanrisuru
663
663
  zypper_download_and_install_opts(command, opts)
664
664
  zypper_expert_opts(command, opts)
665
665
 
666
- packages = Kanrisuru::Util.string_join_array(opts[:packages], ' ')
666
+ packages = Kanrisuru::Util.array_join_string(opts[:packages], ' ')
667
667
  command << packages
668
668
 
669
669
  execute_shell(command)
@@ -714,7 +714,7 @@ module Kanrisuru
714
714
  zypper_package_type_opt(command, opts)
715
715
  zypper_solver_opts(command, opts)
716
716
 
717
- packages = Kanrisuru::Util.string_join_array(opts[:packages], ' ')
717
+ packages = Kanrisuru::Util.array_join_string(opts[:packages], ' ')
718
718
  command << packages
719
719
 
720
720
  execute_shell(command)
@@ -783,7 +783,7 @@ module Kanrisuru
783
783
  zypper_repos_opt(command, opts)
784
784
  zypper_package_type_opt(command, opts)
785
785
 
786
- packages = Kanrisuru::Util.string_join_array(opts[:packages], ' ')
786
+ packages = Kanrisuru::Util.array_join_string(opts[:packages], ' ')
787
787
  command << packages
788
788
 
789
789
  execute_shell(command)
@@ -247,7 +247,7 @@ module Kanrisuru
247
247
  def symbolic_to_numeric(ref)
248
248
  conversions = {
249
249
  '---' => 0,
250
- '---x' => 1,
250
+ '--x' => 1,
251
251
  '-w-' => 2,
252
252
  '-wx' => 3,
253
253
  'r--' => 4,
@@ -21,6 +21,10 @@ module Kanrisuru
21
21
  end
22
22
 
23
23
  def self.string_join_array(arg, field = ',')
24
+ Kanrisuru.logger.info do
25
+ 'DEPRECATION WARNING: string_join_array will be removed in the upcoming major release. Use array_join_string instead.'
26
+ end
27
+
24
28
  array = arg.instance_of?(String) ? [arg] : arg
25
29
  array.join(field)
26
30
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Kanrisuru
4
- VERSION = '0.8.18'
4
+ VERSION = '0.8.22'
5
5
  end
@@ -0,0 +1,96 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ RSpec.describe Kanrisuru::Core::Apt do
6
+ before(:all) do
7
+ StubNetwork.stub!
8
+ end
9
+
10
+ after(:all) do
11
+ StubNetwork.unstub!
12
+ end
13
+
14
+ let(:host) do
15
+ Kanrisuru::Remote::Host.new(
16
+ host: 'localhost',
17
+ username: 'ubuntu',
18
+ keys: ['id_rsa']
19
+ )
20
+ end
21
+
22
+ it 'prepares apt list command' do
23
+ expect_command(host.apt('list'), 'apt list')
24
+ expect_command(host.apt('list',
25
+ installed: true,
26
+ upgradeable: true,
27
+ all_versions: true,
28
+ ), 'apt list --installed --upgradeable --all-versions')
29
+
30
+ expect_command(host.apt('list', package_name: 'nginx'), 'apt list -a nginx')
31
+ end
32
+
33
+ it 'prepares apt update command' do
34
+ expect_command(host.apt('update'), 'apt-get update -y')
35
+ end
36
+
37
+ it 'prepares apt upgrade command' do
38
+ expect_command(host.apt('upgrade'), 'apt-get upgrade -y')
39
+ end
40
+
41
+ it 'prepares apt full-upgrade command' do
42
+ expect_command(host.apt('full-upgrade'), 'apt full-upgrade -y')
43
+ end
44
+
45
+ it 'prepares apt install command' do
46
+ expect_command(host.apt('install',
47
+ packages: 'nginx'
48
+ ),
49
+ 'apt-get install -y nginx'
50
+ )
51
+
52
+ expect_command(host.apt('install',
53
+ packages: 'monit',
54
+ no_upgrade: true,
55
+ reinstall: true
56
+ ),
57
+ 'apt-get install -y --no-upgrade --reinstall monit'
58
+ )
59
+
60
+ expect_command(host.apt('install',
61
+ packages: ['build-essential', 'manpages-dev'],
62
+ only_upgrade: true,
63
+ ),
64
+ 'apt-get install -y --only-upgrade build-essential manpages-dev'
65
+ )
66
+ end
67
+
68
+ it 'prepares apt remove command' do
69
+ expect_command(host.apt('remove', packages: ['python']), 'apt-get remove -y python')
70
+ end
71
+
72
+ it 'prepares apt purge command' do
73
+ expect_command(host.apt('purge', packages: ['python']), 'apt-get purge -y python')
74
+ end
75
+
76
+ it 'prepares apt autoremove command' do
77
+ expect_command(host.apt('autoremove'), 'apt-get autoremove -y')
78
+ end
79
+
80
+ it 'prepares apt search command' do
81
+ expect_command(host.apt('search', query: 'ruby'), 'apt search ruby')
82
+ end
83
+
84
+ it 'prepares apt show command' do
85
+ expect_command(host.apt('show', packages: 'ruby'), 'apt show -a ruby')
86
+ end
87
+
88
+ it 'prepares apt clean command' do
89
+ expect_command(host.apt('clean'), 'apt-get clean')
90
+ end
91
+
92
+ it 'prepares apt autoclean command' do
93
+ expect_command(host.apt('autoclean'), 'apt-get autoclean')
94
+ end
95
+
96
+ end
@@ -2,9 +2,15 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- StubNetwork.stub!
6
-
7
5
  RSpec.describe Kanrisuru::Core::Find do
6
+ before(:all) do
7
+ StubNetwork.stub!
8
+ end
9
+
10
+ after(:all) do
11
+ StubNetwork.unstub!
12
+ end
13
+
8
14
  let(:host) do
9
15
  Kanrisuru::Remote::Host.new(
10
16
  host: 'localhost',
@@ -2,9 +2,15 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- StubNetwork.stub!
6
-
7
5
  RSpec.describe Kanrisuru::Core::Path do
6
+ before(:all) do
7
+ StubNetwork.stub!
8
+ end
9
+
10
+ after(:all) do
11
+ StubNetwork.unstub!
12
+ end
13
+
8
14
  let(:host) do
9
15
  Kanrisuru::Remote::Host.new(
10
16
  host: 'localhost',
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ RSpec.describe Kanrisuru::Core::Socket do
6
+ before(:all) do
7
+ StubNetwork.stub!
8
+ end
9
+
10
+ after(:all) do
11
+ StubNetwork.unstub!
12
+ end
13
+
14
+ let(:host) do
15
+ Kanrisuru::Remote::Host.new(
16
+ host: 'localhost',
17
+ username: 'ubuntu',
18
+ keys: ['id_rsa']
19
+ )
20
+ end
21
+
22
+ it 'prepares ss command' do
23
+ expect_command(host.ss, 'ss -a -m')
24
+
25
+ expect_command(host.ss(
26
+ numeric: true,
27
+ tcp: true,
28
+ udp: true,
29
+ unix: true,
30
+ raw: true
31
+ ),
32
+ 'ss -a -m -n -t -u -x -w'
33
+ )
34
+
35
+ expect_command(host.ss(
36
+ family: 'inet'
37
+ ),
38
+ 'ss -a -m -f inet'
39
+ )
40
+
41
+ expect {
42
+ host.ss(family: 'inet5')
43
+ }.to raise_error(ArgumentError)
44
+
45
+ expect_command(host.ss(
46
+ state: 'established'
47
+ ),
48
+ 'ss -a -m state established'
49
+ )
50
+
51
+ expect_command(host.ss(
52
+ state: 'connected'
53
+ ),
54
+ 'ss -a -m state connected'
55
+ )
56
+
57
+ expect {
58
+ host.ss(state: 'test')
59
+ }.to raise_error(ArgumentError)
60
+
61
+ expect_command(host.ss(
62
+ expression: "'( dport = :ssh or sport = :ssh )'"
63
+ ),
64
+ "ss -a -m '( dport = :ssh or sport = :ssh )'"
65
+ )
66
+ end
67
+ end
@@ -2,9 +2,15 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- StubNetwork.stub!
6
-
7
5
  RSpec.describe Kanrisuru::Core::Stat do
6
+ before(:all) do
7
+ StubNetwork.stub!
8
+ end
9
+
10
+ after(:all) do
11
+ StubNetwork.unstub!
12
+ end
13
+
8
14
  let(:host) do
9
15
  Kanrisuru::Remote::Host.new(
10
16
  host: 'localhost',
@@ -2,9 +2,15 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- StubNetwork.stub!
6
-
7
5
  RSpec.describe Kanrisuru::Core::Stream do
6
+ before(:all) do
7
+ StubNetwork.stub!
8
+ end
9
+
10
+ after(:all) do
11
+ StubNetwork.unstub!
12
+ end
13
+
8
14
  let(:host) do
9
15
  Kanrisuru::Remote::Host.new(
10
16
  host: 'localhost',
@@ -2,9 +2,15 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- StubNetwork.stub!
6
-
7
5
  RSpec.describe Kanrisuru::Core::Stat do
6
+ before(:all) do
7
+ StubNetwork.stub!
8
+ end
9
+
10
+ after(:all) do
11
+ StubNetwork.unstub!
12
+ end
13
+
8
14
  let(:host) do
9
15
  Kanrisuru::Remote::Host.new(
10
16
  host: 'localhost',
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  def expect_command(result, string)
4
- puts result.command.raw_command
4
+ # puts result.command.raw_command
5
5
  expect(result.command.raw_command).to eq(
6
6
  string
7
7
  )
@@ -3,41 +3,61 @@
3
3
  class StubNetwork
4
4
  class << self
5
5
  def stub!
6
- ## Stub out the execute_with_retries method to
7
- ## test functionality of host commands
8
- Kanrisuru::Remote::Host.class_eval do
9
- private
10
-
11
- def execute_with_retries(command)
12
- command.handle_status(0)
13
- command.handle_data(nil)
6
+ unless Kanrisuru::Remote::Host.instance_methods(false).include?(:execute_with_retries_alias)
7
+ Kanrisuru::Remote::Host.class_eval do
8
+ alias_method :execute_with_retries_alias, :execute_with_retries
9
+ def execute_with_retries(command)
10
+ command.handle_status(0)
11
+ command.handle_data(nil)
14
12
 
15
- command
13
+ command
14
+ end
16
15
  end
17
16
  end
18
17
 
19
- Kanrisuru::Remote::Os.class_eval do
20
- def initialize(host)
21
- @host = host
22
-
23
- @kernel_name = 'Linux'
24
- @kernel_version = '#91-Ubuntu SMP Thu Jul 15 19:09:17 UTC 2021'
25
- @operating_system = 'GNU/Linux'
26
- @hardware_platform = 'x86_64'
27
- @processor = 'x86_64'
28
- @release = 'ubuntu'
29
- @version = 20.0
18
+ unless Kanrisuru::Remote::Os.instance_methods(false).include?(:initialize_alias)
19
+ Kanrisuru::Remote::Os.class_eval do
20
+ alias_method :initialize_alias, :initialize
21
+ def initialize(host)
22
+ @host = host
23
+
24
+ @kernel_name = 'Linux'
25
+ @kernel_version = '#91-Ubuntu SMP Thu Jul 15 19:09:17 UTC 2021'
26
+ @operating_system = 'GNU/Linux'
27
+ @hardware_platform = 'x86_64'
28
+ @processor = 'x86_64'
29
+ @release = 'ubuntu'
30
+ @version = 20.0
31
+ end
30
32
  end
31
33
  end
32
34
 
33
- Kanrisuru::Result.class_eval do
34
- def initialize(command)
35
- @command = command
36
- @data = nil
35
+ unless Kanrisuru::Result.instance_methods(false).include?(:initialize_alias)
36
+ Kanrisuru::Result.class_eval do
37
+ alias_method :initialize_alias, :initialize
38
+ def initialize(command)
39
+ @command = command
40
+ @data = nil
37
41
 
38
- @error = @command.to_a if @command.failure?
42
+ @error = @command.to_a if @command.failure?
43
+ end
39
44
  end
40
45
  end
41
46
  end
47
+
48
+ def unstub!
49
+ Kanrisuru::Remote::Host.class_eval do
50
+ alias_method :execute_with_retries, :execute_with_retries_alias
51
+ end
52
+
53
+ Kanrisuru::Remote::Os.class_eval do
54
+ alias_method :initialize, :initialize_alias
55
+ end
56
+
57
+ Kanrisuru::Result.class_eval do
58
+ alias_method :initialize, :initialize_alias
59
+ end
60
+ end
61
+
42
62
  end
43
63
  end
@@ -20,6 +20,11 @@ RSpec.describe Kanrisuru::Core::Socket do
20
20
  closed close-wait last-ack listening closing
21
21
  ]
22
22
  )
23
+ expect(Kanrisuru::Core::Socket::NETWORK_FAMILIES).to eq(
24
+ %w[
25
+ unix inet inet6 link netlink
26
+ ]
27
+ )
23
28
  expect(Kanrisuru::Core::Socket::OTHER_STATES).to eq(
24
29
  %w[
25
30
  all connected synchronized bucket syn-recv
@@ -79,6 +79,31 @@ RSpec.describe Kanrisuru::Mode do
79
79
  expect(mode.other.all?).to eq(true)
80
80
  expect(mode.other.to_i).to eq(7)
81
81
  expect(mode.other.symbolic).to eq('rwx')
82
+
83
+ mode = described_class.new("---x--x--x")
84
+ expect(mode.directory?).to eq(false)
85
+ expect(mode.numeric).to eq("111")
86
+
87
+ expect(mode.owner.read?).to eq(false)
88
+ expect(mode.owner.write?).to eq(false)
89
+ expect(mode.owner.execute?).to eq(true)
90
+ expect(mode.owner.all?).to eq(false)
91
+ expect(mode.owner.to_i).to eq(1)
92
+ expect(mode.owner.symbolic).to eq('--x')
93
+
94
+ expect(mode.group.read?).to eq(false)
95
+ expect(mode.group.write?).to eq(false)
96
+ expect(mode.group.execute?).to eq(true)
97
+ expect(mode.group.all?).to eq(false)
98
+ expect(mode.group.to_i).to eq(1)
99
+ expect(mode.group.symbolic).to eq('--x')
100
+
101
+ expect(mode.other.read?).to eq(false)
102
+ expect(mode.other.write?).to eq(false)
103
+ expect(mode.other.execute?).to eq(true)
104
+ expect(mode.other.all?).to eq(false)
105
+ expect(mode.other.to_i).to eq(1)
106
+ expect(mode.other.symbolic).to eq('--x')
82
107
  end
83
108
 
84
109
  it 'changes mode numerically globally' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kanrisuru
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.18
4
+ version: 0.8.22
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Mammina
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-19 00:00:00.000000000 Z
11
+ date: 2021-11-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -173,8 +173,10 @@ files:
173
173
  - lib/kanrisuru/util/os_family.rb
174
174
  - lib/kanrisuru/util/signal.rb
175
175
  - lib/kanrisuru/version.rb
176
+ - spec/functional/core/apt_spec.rb
176
177
  - spec/functional/core/find_spec.rb
177
178
  - spec/functional/core/path_spec.rb
179
+ - spec/functional/core/socket_spec.rb
178
180
  - spec/functional/core/stat_spec.rb
179
181
  - spec/functional/core/stream_spec.rb
180
182
  - spec/functional/core/transfer_spec.rb