kanrisuru 0.9.0 → 0.11.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.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CONTRIBUTING.md +9 -9
  3. data/.github/ISSUE_TEMPLATE/bug_report.md +7 -8
  4. data/.gitignore +3 -1
  5. data/CHANGELOG.md +147 -125
  6. data/CODE_OF_CONDUCT.md +10 -10
  7. data/README.md +2 -0
  8. data/kanrisuru.gemspec +2 -1
  9. data/lib/kanrisuru/core/archive.rb +6 -5
  10. data/lib/kanrisuru/core/disk.rb +0 -3
  11. data/lib/kanrisuru/core/find.rb +4 -5
  12. data/lib/kanrisuru/core/socket.rb +2 -1
  13. data/lib/kanrisuru/remote/cpu.rb +6 -2
  14. data/lib/kanrisuru/remote/env.rb +8 -0
  15. data/lib/kanrisuru/remote/fstab.rb +4 -4
  16. data/lib/kanrisuru/util.rb +1 -1
  17. data/lib/kanrisuru/version.rb +1 -1
  18. data/spec/functional/core/apt_spec.rb +22 -30
  19. data/spec/functional/core/archive_spec.rb +169 -0
  20. data/spec/functional/core/find_spec.rb +94 -113
  21. data/spec/functional/core/socket_spec.rb +23 -28
  22. data/spec/functional/core/stream_spec.rb +12 -12
  23. data/spec/functional/core/transfer_spec.rb +108 -131
  24. data/spec/functional/core/yum_spec.rb +58 -83
  25. data/spec/functional/remote/cluster_spec.rb +12 -3
  26. data/spec/functional/remote/cpu_spec.rb +104 -0
  27. data/spec/functional/remote/env_spec.rb +48 -0
  28. data/spec/helper/stub_network.rb +52 -9
  29. data/spec/integration/core/file_spec.rb +0 -1
  30. data/spec/integration/core/find_spec.rb +1 -0
  31. data/spec/integration/core/system_spec.rb +0 -1
  32. data/spec/integration/core/zypper_spec.rb +3 -3
  33. data/spec/{functional → integration}/os_package_spec.rb +0 -0
  34. data/spec/spec_helper.rb +3 -0
  35. data/spec/unit/command_spec.rb +31 -0
  36. data/spec/unit/core/apt_spec.rb +20 -0
  37. data/spec/unit/core/archive_spec.rb +20 -0
  38. data/spec/unit/core/disk_spec.rb +23 -0
  39. data/spec/unit/core/dmi_spec.rb +20 -0
  40. data/spec/unit/core/file_spec.rb +35 -0
  41. data/spec/unit/core/find_spec.rb +21 -1
  42. data/spec/unit/core/group_spec.rb +24 -0
  43. data/spec/unit/core/ip_spec.rb +20 -0
  44. data/spec/unit/core/path_spec.rb +25 -0
  45. data/spec/unit/core/socket_spec.rb +20 -0
  46. data/spec/unit/core/stat_spec.rb +27 -0
  47. data/spec/unit/core/system_spec.rb +35 -0
  48. data/spec/unit/core/transfer_spec.rb +22 -0
  49. data/spec/unit/core/user_spec.rb +25 -0
  50. data/spec/unit/core/yum_spec.rb +20 -0
  51. data/spec/unit/core/zypper_spec.rb +20 -0
  52. data/spec/unit/mode_spec.rb +33 -2
  53. data/spec/unit/remote/cluster_spec.rb +36 -0
  54. data/spec/unit/remote/cpu_spec.rb +49 -0
  55. data/spec/unit/remote/env_spec.rb +17 -0
  56. data/spec/unit/{fstab_spec.rb → remote/fstab_spec.rb} +0 -0
  57. data/spec/unit/util_spec.rb +13 -0
  58. metadata +27 -5
@@ -255,7 +255,7 @@ module Kanrisuru
255
255
  end
256
256
 
257
257
  result = @host.blkid(device: @device)
258
- @uuid = result.success? ? result.uuid : nil
258
+ @uuid = result.success? ? result[0].uuid : nil
259
259
  end
260
260
 
261
261
  def parse_uuid(fsline)
@@ -269,15 +269,15 @@ module Kanrisuru
269
269
  end
270
270
 
271
271
  result = @host.blkid(device: @device)
272
- @label = result.success? ? result.label : nil
272
+ @label = result.success? ? result[0].label : nil
273
273
  end
274
274
 
275
275
  def parse_dev(fsline)
276
276
  @device = fsline
277
277
  result = @host.blkid(device: @device)
278
278
 
279
- @label = result.success? ? result.label : nil
280
- @uuid = result.success? ? result.uuid : nil
279
+ @label = result.success? ? result[0].label : nil
280
+ @uuid = result.success? ? result[0].uuid : nil
281
281
  end
282
282
  end
283
283
 
@@ -24,7 +24,7 @@ module Kanrisuru
24
24
  Kanrisuru.logger.info do
25
25
  'DEPRECATION WARNING: string_join_array will be removed in the upcoming major release. Use array_join_string instead.'
26
26
  end
27
-
27
+
28
28
  array = arg.instance_of?(String) ? [arg] : arg
29
29
  array.join(field)
30
30
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Kanrisuru
4
- VERSION = '0.9.0'
4
+ VERSION = '0.11.0'
5
5
  end
@@ -22,10 +22,9 @@ RSpec.describe Kanrisuru::Core::Apt do
22
22
  it 'prepares apt list command' do
23
23
  expect_command(host.apt('list'), 'apt list')
24
24
  expect_command(host.apt('list',
25
- installed: true,
26
- upgradeable: true,
27
- all_versions: true,
28
- ), 'apt list --installed --upgradeable --all-versions')
25
+ installed: true,
26
+ upgradeable: true,
27
+ all_versions: true), 'apt list --installed --upgradeable --all-versions')
29
28
 
30
29
  expect_command(host.apt('list', package_name: 'nginx'), 'apt list -a nginx')
31
30
  end
@@ -43,28 +42,22 @@ RSpec.describe Kanrisuru::Core::Apt do
43
42
  end
44
43
 
45
44
  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
- )
45
+ expect_command(host.apt('install',
46
+ packages: 'nginx'),
47
+ 'apt-get install -y nginx')
48
+
49
+ expect_command(host.apt('install',
50
+ packages: 'monit',
51
+ no_upgrade: true,
52
+ reinstall: true),
53
+ 'apt-get install -y --no-upgrade --reinstall monit')
54
+
55
+ expect_command(host.apt('install',
56
+ packages: %w[build-essential manpages-dev],
57
+ only_upgrade: true),
58
+ 'apt-get install -y --only-upgrade build-essential manpages-dev')
66
59
  end
67
-
60
+
68
61
  it 'prepares apt remove command' do
69
62
  expect_command(host.apt('remove', packages: ['python']), 'apt-get remove -y python')
70
63
  end
@@ -82,15 +75,14 @@ RSpec.describe Kanrisuru::Core::Apt do
82
75
  end
83
76
 
84
77
  it 'prepares apt show command' do
85
- expect_command(host.apt('show', packages: 'ruby'), 'apt show -a ruby')
86
- end
78
+ expect_command(host.apt('show', packages: 'ruby'), 'apt show -a ruby')
79
+ end
87
80
 
88
81
  it 'prepares apt clean command' do
89
- expect_command(host.apt('clean'), 'apt-get clean')
82
+ expect_command(host.apt('clean'), 'apt-get clean')
90
83
  end
91
84
 
92
85
  it 'prepares apt autoclean command' do
93
- expect_command(host.apt('autoclean'), 'apt-get autoclean')
86
+ expect_command(host.apt('autoclean'), 'apt-get autoclean')
94
87
  end
95
-
96
88
  end
@@ -0,0 +1,169 @@
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
+ StubNetwork.stub_command!(:realpath) do |_args|
9
+ Kanrisuru::Core::Path::FilePath.new(directory)
10
+ end
11
+ end
12
+
13
+ after(:all) do
14
+ StubNetwork.unstub_command!(:realpath)
15
+ StubNetwork.unstub!
16
+ end
17
+
18
+ let(:host) do
19
+ Kanrisuru::Remote::Host.new(
20
+ host: 'localhost',
21
+ username: 'ubuntu',
22
+ keys: ['id_rsa']
23
+ )
24
+ end
25
+
26
+ let(:directory) { '/home/ubuntu/dir' }
27
+
28
+ it 'prepares tar list command' do
29
+ %w[list t].each do |action_variant|
30
+ expect_command(host.tar(action_variant, 'file.txt'),
31
+ 'tar --restrict -f file.txt -t')
32
+
33
+ expect_command(host.tar(action_variant, '~/file.txt',
34
+ compress: 'bzip2',
35
+ directory: directory,
36
+ occurrence: 1,
37
+ label: true,
38
+ multi_volume: true),
39
+ 'tar --restrict -C /home/ubuntu/dir -f ~/file.txt -j -t --occurrence 1 --label --multi-volume')
40
+ end
41
+ end
42
+
43
+ it 'prepares tar extract command' do
44
+ %w[extract get x].each do |action_variant|
45
+ expect_command(host.tar(action_variant, 'archive.tar'),
46
+ 'tar --restrict -f archive.tar -x')
47
+
48
+ expect_command(host.tar(action_variant, 'archive.tar',
49
+ compress: 'xz',
50
+ directory: directory,
51
+ occurrence: 2,
52
+ no_same_owner: true,
53
+ no_same_permissions: true,
54
+ no_selinux: true,
55
+ no_xattrs: true,
56
+ multi_volume: true,
57
+ label: true,
58
+ skip_old_files: true,
59
+ overwrite: true,
60
+ overwrite_dir: true,
61
+ unlink_first: true,
62
+ recursive_unlink: true,
63
+ paths: 'file.txt'),
64
+ 'tar --restrict -C /home/ubuntu/dir -f archive.tar -J -x --occurrence 2 --no-same-owner --no-same-permissions --no-selinux --no-xattrs --multi-volume --label --skip-old-files --overwrite --overwrite-dir --unlink-first --recursive-unlink file.txt')
65
+
66
+ expect_command(host.tar(action_variant, 'archive.tar',
67
+ preserve_permissions: true,
68
+ same_owners: true,
69
+ one_file_system: true,
70
+ keep_old_files: true,
71
+ paths: ['file1.txt', 'file2.txt']),
72
+ 'tar --restrict -f archive.tar -x --preserve-permissions --same-owner --one-file-system --keep-old-files file1.txt file2.txt')
73
+ end
74
+ end
75
+
76
+ it 'prepares tar create command' do
77
+ %w[create c].each do |action_variant|
78
+ expect_command(host.tar(action_variant, 'archive.lzma', compress: 'lzma'),
79
+ 'tar --restrict -f archive.lzma --lzma -c')
80
+ expect_command(host.tar(action_variant, 'archive.gz'), 'tar --restrict -f archive.gz -c')
81
+
82
+ expect_command(host.tar(action_variant, 'archive.gz',
83
+ directory: directory,
84
+ compress: 'gzip',
85
+ exclude: 'file2.txt',
86
+ paths: 'file1.txt'),
87
+ 'tar --restrict -C /home/ubuntu/dir -f archive.gz -z -c --exclude=file2.txt file1.txt')
88
+
89
+ expect_command(host.tar(action_variant, 'archive.gz',
90
+ compress: 'gzip',
91
+ exclude: ['file2.txt', 'file4.txt'],
92
+ paths: ['file1.txt', 'file3.txt']),
93
+ 'tar --restrict -f archive.gz -z -c --exclude=file2.txt --exclude=file4.txt file1.txt file3.txt')
94
+ end
95
+ end
96
+
97
+ it 'prepares tar append command' do
98
+ %w[append r].each do |action_variant|
99
+ expect_command(host.tar(action_variant, 'archive.tar'), 'tar --restrict -f archive.tar -r')
100
+
101
+ expect_command(host.tar(action_variant, 'archive.tar',
102
+ directory: directory,
103
+ paths: 'main.conf'),
104
+ 'tar --restrict -C /home/ubuntu/dir -f archive.tar -r main.conf')
105
+
106
+ expect_command(host.tar(action_variant, 'archive.tar',
107
+ paths: ['main.conf', 'main2.conf']),
108
+ 'tar --restrict -f archive.tar -r main.conf main2.conf')
109
+ end
110
+ end
111
+
112
+ it 'prepares tar concat command' do
113
+ %w[catenate concat A].each do |action_variant|
114
+ expect_command(host.tar(action_variant, 'archive.tar'), 'tar --restrict -f archive.tar -A')
115
+ expect_command(host.tar(action_variant, 'archive.tar',
116
+ directory: directory,
117
+ paths: 'archive2.tar'),
118
+ 'tar --restrict -C /home/ubuntu/dir -f archive.tar -A archive2.tar')
119
+
120
+ expect_command(host.tar(action_variant, 'archive.tar',
121
+ directory: directory,
122
+ paths: ['archive2.tar', 'archive3.tar']),
123
+ 'tar --restrict -C /home/ubuntu/dir -f archive.tar -A archive2.tar archive3.tar')
124
+ end
125
+ end
126
+
127
+ it 'prepares tar update command' do
128
+ %w[update u].each do |action_variant|
129
+ expect_command(host.tar(action_variant, 'archive',
130
+ paths: 'file1.txt'),
131
+ 'tar --restrict -f archive -u file1.txt')
132
+
133
+ expect_command(host.tar(action_variant, 'archive',
134
+ directory: directory,
135
+ paths: ['file1.txt', 'file2.txt']),
136
+ 'tar --restrict -C /home/ubuntu/dir -f archive -u file1.txt file2.txt')
137
+ end
138
+ end
139
+
140
+ it 'prepares tar diff command' do
141
+ %w[diff compare d].each do |action_variant|
142
+ expect_command(host.tar(action_variant, 'archive.tar', directory: directory),
143
+ 'tar --restrict -C /home/ubuntu/dir -f archive.tar -d')
144
+ expect_command(host.tar(action_variant, 'archive.tar',
145
+ directory: directory,
146
+ occurrence: 4),
147
+ 'tar --restrict -C /home/ubuntu/dir -f archive.tar -d --occurrence 4')
148
+ end
149
+ end
150
+
151
+ it 'prepares tar delete command' do
152
+ expect_command(host.tar('delete', 'archive.tar', paths: 'file1.txt'),
153
+ 'tar --restrict -f archive.tar --delete file1.txt')
154
+ expect_command(host.tar('delete', 'archive.tar',
155
+ paths: ['file1.txt', 'file2.txt'],
156
+ occurrence: 3),
157
+ 'tar --restrict -f archive.tar --delete --occurrence 3 file1.txt file2.txt')
158
+ end
159
+
160
+ it 'prepares invalid tar command' do
161
+ expect do
162
+ host.tar('abc', 'file1.txt')
163
+ end.to raise_error(ArgumentError)
164
+
165
+ expect do
166
+ host.tar('create', 'archive.tar', compress: 'xip')
167
+ end.to raise_error(ArgumentError)
168
+ end
169
+ end
@@ -20,150 +20,131 @@ RSpec.describe Kanrisuru::Core::Find do
20
20
  end
21
21
 
22
22
  it 'prepares find command' do
23
- expect_command(host.find, "find")
23
+ expect_command(host.find, 'find')
24
24
 
25
- expect_command(host.find(follow: 'never'), "find -P")
26
- expect_command(host.find(follow: 'always'), "find -L")
27
- expect_command(host.find(follow: 'command'), "find -H")
25
+ expect_command(host.find(follow: 'never'), 'find -P')
26
+ expect_command(host.find(follow: 'always'), 'find -L')
27
+ expect_command(host.find(follow: 'command'), 'find -H')
28
28
 
29
- expect_command(host.find(paths: '/etc'), "find /etc")
30
- expect_command(host.find(paths: ['/etc', '/var', '/home']), "find /etc /var /home")
29
+ expect_command(host.find(paths: '/etc'), 'find /etc')
30
+ expect_command(host.find(paths: ['/etc', '/var', '/home']), 'find /etc /var /home')
31
31
 
32
- expect {
32
+ expect do
33
33
  host.find(paths: 1)
34
- }.to raise_error(ArgumentError)
35
-
36
- expect_command(host.find(paths: '/',
37
- executable: true,
38
- empty: true,
39
- readable: true,
40
- writeable: true,
41
- nogroup: true,
42
- nouser: true,
43
- mount: true
44
- ),
45
- "find / -executable -empty -readable -nogroup -nouser -mount"
46
- )
47
-
48
- expect_command(host.find(paths: '/',
49
- path: "/lib",
50
- name: '*.so',
51
- gid: 0,
52
- uid: 0,
53
- user: 'root',
54
- group: 'root',
55
- links: 2,
56
- mindepth: 0,
57
- maxdepth: 100
58
- ),
59
- "find / -path /lib -name *.so -gid 0 -uid 0 -user root -group root -links 2 -maxdepth 100 -mindepth 0"
60
- )
34
+ end.to raise_error(ArgumentError)
35
+
36
+ expect_command(host.find(paths: '/',
37
+ executable: true,
38
+ empty: true,
39
+ readable: true,
40
+ writeable: true,
41
+ nogroup: true,
42
+ nouser: true,
43
+ mount: true),
44
+ 'find / -executable -empty -readable -nogroup -nouser -mount')
45
+
46
+ expect_command(host.find(paths: '/',
47
+ path: '/lib',
48
+ name: '*.so',
49
+ gid: 0,
50
+ uid: 0,
51
+ user: 'root',
52
+ group: 'root',
53
+ links: 2,
54
+ mindepth: 0,
55
+ maxdepth: 100),
56
+ 'find / -path /lib -name *.so -gid 0 -uid 0 -user root -group root -links 2 -maxdepth 100 -mindepth 0')
61
57
 
62
58
  expect_command(host.find(paths: '/var/log',
63
- atime: '+1',
64
- ctime: '+2',
65
- mtime: '+3',
66
- amin: '100',
67
- cmin: '200',
68
- mmin: '300'
69
- ),
70
- "find /var/log -atime +1 -ctime +2 -mtime +3 -amin 100 -cmin 200 -mmin 300"
71
- )
59
+ atime: '+1',
60
+ ctime: '+2',
61
+ mtime: '+3',
62
+ amin: '100',
63
+ cmin: '200',
64
+ mmin: '300'),
65
+ 'find /var/log -atime +1 -ctime +2 -mtime +3 -amin 100 -cmin 200 -mmin 300')
72
66
 
73
67
  expect_command(host.find(
74
- paths: '/dev',
75
- regex: '/dev/tty[0-9]*'
76
- ),
77
- "find /dev -regex '/dev/tty[0-9]*'"
78
- )
68
+ paths: '/dev',
69
+ regex: '/dev/tty[0-9]*'
70
+ ),
71
+ "find /dev -regex '/dev/tty[0-9]*'")
79
72
 
80
73
  expect_command(host.find(
81
- paths: '/dev',
82
- regex_type: 'posix-egrep',
83
- regex: '/dev/tty[0-9]*'
84
- ),
85
- "find /dev -regextype posix-egrep -regex '/dev/tty[0-9]*'"
86
- )
74
+ paths: '/dev',
75
+ regex_type: 'posix-egrep',
76
+ regex: '/dev/tty[0-9]*'
77
+ ),
78
+ "find /dev -regextype posix-egrep -regex '/dev/tty[0-9]*'")
87
79
 
88
80
  expect_command(host.find(
89
- paths: '/var/log',
90
- size: 100
91
- ),
92
- "find /var/log -size 100"
93
- )
81
+ paths: '/var/log',
82
+ size: 100
83
+ ),
84
+ 'find /var/log -size 100')
94
85
 
95
86
  expect_command(host.find(
96
- paths: '/var/log',
97
- size: "100"
98
- ),
99
- "find /var/log -size 100"
100
- )
101
-
102
- expect {
103
- host.find(size: "100n")
104
- }.to raise_error(ArgumentError)
87
+ paths: '/var/log',
88
+ size: '100'
89
+ ),
90
+ 'find /var/log -size 100')
91
+
92
+ expect do
93
+ host.find(size: '100n')
94
+ end.to raise_error(ArgumentError)
105
95
 
106
96
  expect_command(host.find(
107
- paths: '/var/log',
108
- size: "-100k"
109
- ),
110
- "find /var/log -size -100k"
111
- )
97
+ paths: '/var/log',
98
+ size: '-100k'
99
+ ),
100
+ 'find /var/log -size -100k')
112
101
 
113
102
  expect_command(host.find(
114
- paths: '/var/log',
115
- size: "+10M"
116
- ),
117
- "find /var/log -size +10M"
118
- )
103
+ paths: '/var/log',
104
+ size: '+10M'
105
+ ),
106
+ 'find /var/log -size +10M')
119
107
 
120
108
  expect_command(host.find(
121
- paths: "/dev",
122
- type: 'directory'
123
- ),
124
- "find /dev -type d"
125
- )
109
+ paths: '/dev',
110
+ type: 'directory'
111
+ ),
112
+ 'find /dev -type d')
126
113
 
127
114
  expect_command(host.find(
128
- paths: "/dev",
129
- type: 'file'
130
- ),
131
- "find /dev -type f"
132
- )
115
+ paths: '/dev',
116
+ type: 'file'
117
+ ),
118
+ 'find /dev -type f')
133
119
 
134
120
  expect_command(host.find(
135
- paths: "/dev",
136
- type: 'symlinks'
137
- ),
138
- "find /dev -type l"
139
- )
121
+ paths: '/dev',
122
+ type: 'symlinks'
123
+ ),
124
+ 'find /dev -type l')
140
125
 
141
126
  expect_command(host.find(
142
- paths: "/dev",
143
- type: 'block'
144
- ),
145
- "find /dev -type b"
146
- )
127
+ paths: '/dev',
128
+ type: 'block'
129
+ ),
130
+ 'find /dev -type b')
147
131
 
148
132
  expect_command(host.find(
149
- paths: "/dev",
150
- type: 'character'
151
- ),
152
- "find /dev -type c"
153
- )
133
+ paths: '/dev',
134
+ type: 'character'
135
+ ),
136
+ 'find /dev -type c')
154
137
 
155
138
  expect_command(host.find(
156
- paths: "/dev",
157
- type: 'pipe'
158
- ),
159
- "find /dev -type p"
160
- )
139
+ paths: '/dev',
140
+ type: 'pipe'
141
+ ),
142
+ 'find /dev -type p')
161
143
 
162
144
  expect_command(host.find(
163
- paths: "/dev",
164
- type: 'socket'
165
- ),
166
- "find /dev -type s"
167
- )
145
+ paths: '/dev',
146
+ type: 'socket'
147
+ ),
148
+ 'find /dev -type s')
168
149
  end
169
150
  end
@@ -23,45 +23,40 @@ RSpec.describe Kanrisuru::Core::Socket do
23
23
  expect_command(host.ss, 'ss -a -m')
24
24
 
25
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
- )
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')
34
33
 
35
34
  expect_command(host.ss(
36
- family: 'inet'
37
- ),
38
- 'ss -a -m -f inet'
39
- )
35
+ family: 'inet'
36
+ ),
37
+ 'ss -a -m -f inet')
40
38
 
41
- expect {
39
+ expect do
42
40
  host.ss(family: 'inet5')
43
- }.to raise_error(ArgumentError)
41
+ end.to raise_error(ArgumentError)
44
42
 
45
43
  expect_command(host.ss(
46
- state: 'established'
47
- ),
48
- 'ss -a -m state established'
49
- )
44
+ state: 'established'
45
+ ),
46
+ 'ss -a -m state established')
50
47
 
51
48
  expect_command(host.ss(
52
- state: 'connected'
53
- ),
54
- 'ss -a -m state connected'
55
- )
49
+ state: 'connected'
50
+ ),
51
+ 'ss -a -m state connected')
56
52
 
57
- expect {
53
+ expect do
58
54
  host.ss(state: 'test')
59
- }.to raise_error(ArgumentError)
55
+ end.to raise_error(ArgumentError)
60
56
 
61
57
  expect_command(host.ss(
62
- expression: "'( dport = :ssh or sport = :ssh )'"
63
- ),
64
- "ss -a -m '( dport = :ssh or sport = :ssh )'"
65
- )
58
+ expression: "'( dport = :ssh or sport = :ssh )'"
59
+ ),
60
+ "ss -a -m '( dport = :ssh or sport = :ssh )'")
66
61
  end
67
62
  end
@@ -85,30 +85,30 @@ RSpec.describe Kanrisuru::Core::Stream do
85
85
  expect_command(host.echo('Hello\\n world', backslash: true), "echo -e 'Hello\\n world'")
86
86
 
87
87
  expect_command(host.echo('Hello world', new_file: '~/file1.txt', mode: 'write'),
88
- "echo 'Hello world' > ~/file1.txt")
89
-
88
+ "echo 'Hello world' > ~/file1.txt")
89
+
90
90
  expect_command(host.echo('Goodbye', new_file: '~/file1.txt', mode: 'append'),
91
- "echo 'Goodbye' >> ~/file1.txt")
91
+ "echo 'Goodbye' >> ~/file1.txt")
92
92
  end
93
93
 
94
94
  it 'prepares cat command' do
95
95
  expect_command(host.cat('/etc/group'), 'cat /etc/group')
96
96
  expect_command(host.cat('/etc/group', show_all: true), 'cat -A /etc/group')
97
97
  expect_command(host.cat('/etc/group',
98
- show_tabs: true,
99
- number: true,
100
- squeeze_blank: true,
101
- show_nonprinting: true,
102
- show_ends: true,
103
- number_nonblank: true), 'cat -T -n -s -v -E -b /etc/group')
98
+ show_tabs: true,
99
+ number: true,
100
+ squeeze_blank: true,
101
+ show_nonprinting: true,
102
+ show_ends: true,
103
+ number_nonblank: true), 'cat -T -n -s -v -E -b /etc/group')
104
104
 
105
105
  expect_command(host.cat(['~/file1.txt', '~/file2.txt', '~/file3.txt']),
106
- 'cat ~/file1.txt ~/file2.txt ~/file3.txt')
106
+ 'cat ~/file1.txt ~/file2.txt ~/file3.txt')
107
107
 
108
108
  expect_command(host.cat(['~/file1.txt', '~/file2.txt', '~/file3.txt'], mode: 'write', new_file: 'combined.txt'),
109
- 'cat ~/file1.txt ~/file2.txt ~/file3.txt > combined.txt')
109
+ 'cat ~/file1.txt ~/file2.txt ~/file3.txt > combined.txt')
110
110
 
111
111
  expect_command(host.cat(['~/file1.txt', '~/file2.txt', '~/file3.txt'], mode: 'append', new_file: 'combined.txt'),
112
- 'cat ~/file1.txt ~/file2.txt ~/file3.txt >> combined.txt')
112
+ 'cat ~/file1.txt ~/file2.txt ~/file3.txt >> combined.txt')
113
113
  end
114
114
  end