kanrisuru 0.8.11 → 0.8.15

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 (37) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +15 -1
  3. data/README.md +2 -2
  4. data/lib/kanrisuru/core/file.rb +13 -4
  5. data/lib/kanrisuru/core/stat.rb +1 -3
  6. data/lib/kanrisuru/remote/cluster.rb +1 -1
  7. data/lib/kanrisuru/version.rb +1 -1
  8. data/spec/functional/core/stat_spec.rb +19 -89
  9. data/spec/functional/os_package_spec.rb +3 -3
  10. data/spec/helper/stub_network.rb +45 -0
  11. data/spec/{functional → integration}/core/apt_spec.rb +0 -0
  12. data/spec/{functional → integration}/core/archive_spec.rb +0 -0
  13. data/spec/{functional → integration}/core/disk_spec.rb +0 -0
  14. data/spec/{functional → integration}/core/dmi_spec.rb +0 -0
  15. data/spec/{functional → integration}/core/file_spec.rb +33 -5
  16. data/spec/{functional → integration}/core/find_spec.rb +0 -0
  17. data/spec/{functional → integration}/core/group_spec.rb +0 -0
  18. data/spec/{functional → integration}/core/ip_spec.rb +0 -0
  19. data/spec/{functional → integration}/core/path_spec.rb +0 -0
  20. data/spec/{functional → integration}/core/socket_spec.rb +0 -0
  21. data/spec/integration/core/stat_spec.rb +98 -0
  22. data/spec/{functional → integration}/core/stream_spec.rb +0 -0
  23. data/spec/{functional → integration}/core/system_spec.rb +0 -0
  24. data/spec/{functional → integration}/core/transfer_spec.rb +0 -0
  25. data/spec/{functional → integration}/core/user_spec.rb +0 -0
  26. data/spec/{functional → integration}/core/yum_spec.rb +0 -0
  27. data/spec/{functional → integration}/core/zypper_spec.rb +0 -0
  28. data/spec/{functional → integration}/remote/cluster_spec.rb +4 -4
  29. data/spec/{functional → integration}/remote/cpu_spec.rb +0 -0
  30. data/spec/{functional → integration}/remote/env_spec.rb +0 -0
  31. data/spec/{functional → integration}/remote/fstab_spec.rb +0 -0
  32. data/spec/{functional → integration}/remote/host_spec.rb +0 -0
  33. data/spec/{functional → integration}/remote/memory_spec.rb +0 -0
  34. data/spec/{functional → integration}/remote/os_spec.rb +0 -0
  35. data/spec/{functional → integration}/remote/remote_file_spec.rb +0 -0
  36. data/spec/spec_helper.rb +1 -0
  37. metadata +28 -26
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5aa4c218e69710bd9ce035eca337448c240efc8e9b3e505dc1d70c4dea3e3190
4
- data.tar.gz: 488db0a56c43a223031ef657f21413aa0852f6edd2afb68b0c5f5eac97d81cd3
3
+ metadata.gz: 522ae1903fe51ff350abc0fafa252d1b66f970710d4bed41748be03cc25ead3d
4
+ data.tar.gz: 501c4b568aeed1bca4e22658291ebab44e9cb9ebb84c23f5154dc4c97e5daf08
5
5
  SHA512:
6
- metadata.gz: b8c45c70ddfdfedb3dcad6698e9f1228ff1ce05aa222972f29e5979e33ef85dc7227dbe8532a50755a61342fec067fdde7303dfd4cba5048de9d44d4f6a27f65
7
- data.tar.gz: d417cbc907dd714ffc2385e13f6547b5fd0f42bd5e3f5c83531ace728e355a19a12d2156f4f7cb52b51d608984fe65966f0d287e72655c4088f4b24299d3afc3
6
+ metadata.gz: 59fbae207747c7b7c93461a48f12cd959d8dcd2b2853619cb15624627534bca2a84fdf88c068285ef2cbb7a1ac48c74d592f784374847e3f89b35faa85de5366
7
+ data.tar.gz: 8981e523f2373b7eb4740e1c6b1af2318cb45ba960a92e620f368d502a5359f68402fa23c2607f449e563c451b6b5d0efce9cba8ef45ffa4252b4158bd9a09a8
data/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
+ ## Kanrisuru 0.8.15 (October 12, 20201)
2
+ * Move functional specs to integration. Anything that performs an actual network request will be under the integrations test.
3
+ * Create a `StubNetwork` to quickly monkey patch the `Kanrisuru::Remote::Host` to simulate a `Net::SSH` channel request. Will add additional functionality for different simulations later on.
4
+ * Start with testing the `stat` command as a functional test.
5
+
6
+ ## Kanrisuru 0.8.14 (October 8, 20201)
7
+ * Update `Kanrisuru::Remote::Cluster` instantiation method to use array splat instead of passing array directly.
8
+
9
+ ## Kanrisuru 0.8.13 (October 4, 20201)
10
+ * Fix `wc` command. Ensure result parsing is cast to integer values.
11
+
12
+ ## Kanrisuru 0.8.12 (October 4, 20201)
13
+ * Refactor `rmdir` command to only work on empty directories.
14
+
1
15
  ## Kanrisuru 0.8.11 (October 1, 20201)
2
- * Allow `Kanrisuru::Mode` as mode option in mkdir method.
16
+ * Allow `Kanrisuru::Mode` as mode type option in mkdir method.
3
17
 
4
18
  ## Kanrisuru 0.8.10 (August 24, 20201)
5
19
  * Fix bug with rspec test case.
data/README.md CHANGED
@@ -48,7 +48,7 @@ result.path # => /home/ubuntu
48
48
 
49
49
  ### Cluster
50
50
  ```ruby
51
- cluster = Kanrisuru::Remote::Cluster.new([{
51
+ cluster = Kanrisuru::Remote::Cluster.new({
52
52
  host: 'host1', username: 'ubuntu', keys: ['~/.ssh/id_rsa']
53
53
  }, {
54
54
  host: 'host2', username: 'alice', keys: ['~/.ssh/id_rsa']
@@ -72,7 +72,7 @@ host.execute(command)
72
72
  command.success? #=> true
73
73
  command.to_s #=> Linux
74
74
 
75
- cluster = Kanrisuru::Remote::Cluster.new([host, {host: 'host2', username: 'alice', keys: ['~/.ssh/id_rsa']}])
75
+ cluster = Kanrisuru::Remote::Cluster.new(host, {host: 'host2', username: 'alice', keys: ['~/.ssh/id_rsa']})
76
76
 
77
77
  cluster.execute('uname') #=> {host: 'host1', result: 'Linux'}, {host: 'host2', result: 'Linux'}
78
78
  ```
@@ -206,10 +206,19 @@ module Kanrisuru
206
206
  Kanrisuru::Result.new(command)
207
207
  end
208
208
 
209
- def rmdir(path)
210
- return false unless dir?(path)
209
+ def rmdir(paths, opts = {})
210
+ paths = [paths] if paths.instance_of?(String)
211
+ paths.each do |path|
212
+ raise ArgumentError, "Can't delete root path" if path == '/' || realpath(path).path == '/'
213
+ end
211
214
 
212
- rm(path, force: true, recursive: true)
215
+ command = Kanrisuru::Command.new("rmdir #{paths.join(' ')}")
216
+ command.append_flag('--ignore-fail-on-non-empty', opts[:silent])
217
+ command.append_flag('--parents', opts[:parents])
218
+
219
+ execute_shell(command)
220
+
221
+ Kanrisuru::Result.new(command)
213
222
  end
214
223
 
215
224
  def mkdir(path, opts = {})
@@ -323,7 +332,7 @@ module Kanrisuru
323
332
  execute_shell(command)
324
333
 
325
334
  Kanrisuru::Result.new(command) do |cmd|
326
- items = cmd.to_a
335
+ items = cmd.to_s.split
327
336
  FileCount.new(items[0].to_i, items[1].to_i, items[2].to_i)
328
337
  end
329
338
  end
@@ -66,10 +66,8 @@ module Kanrisuru
66
66
  end
67
67
 
68
68
  def stat(path, opts = {})
69
- follow = opts[:follow]
70
-
71
69
  command = Kanrisuru::Command.new('stat')
72
- command.append_flag('-L', follow)
70
+ command.append_flag('-L', opts[:follow])
73
71
  command.append_arg('-c', '%A,%b,%D,%F,%g,%G,%h,%i,%n,%s,%u,%U,%x,%y,%z')
74
72
  command << path
75
73
 
@@ -6,7 +6,7 @@ module Kanrisuru
6
6
  extend OsPackage::Collection
7
7
  include Enumerable
8
8
 
9
- def initialize(hosts)
9
+ def initialize(*hosts)
10
10
  @hosts = {}
11
11
  hosts.each do |host_opts|
12
12
  add_host(host_opts)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Kanrisuru
4
- VERSION = '0.8.11'
4
+ VERSION = '0.8.15'
5
5
  end
@@ -2,97 +2,27 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- RSpec.describe Kanrisuru::Core::Stat do
6
- TestHosts.each_os do |os_name|
7
- context "with #{os_name}" do
8
- let(:host_json) { TestHosts.host(os_name) }
9
- let(:host) do
10
- Kanrisuru::Remote::Host.new(
11
- host: host_json['hostname'],
12
- username: host_json['username'],
13
- keys: [host_json['ssh_key']]
14
- )
15
- end
16
-
17
- after do
18
- host.disconnect
19
- end
20
-
21
- it 'checks file type correctly' do
22
- expect(host.dir?('/')).to eq(true)
23
- expect(host.file?('/etc/hosts')).to eq(true)
24
-
25
- case os_name
26
- when 'sles'
27
- expect(host.block_device?('/dev/xvda')).to eq(true)
28
- else
29
- expect(host.block_device?('/dev/vda')).to eq(true)
30
- end
31
-
32
- expect(host.char_device?('/dev/tty')).to eq(true)
33
- expect(host.symlink?('/etc/mtab')).to eq(true)
34
- expect(host.inode?('/proc/uptime')).to eq(true)
35
- end
36
-
37
- it 'gets file stat' do
38
- result = host.stat(host_json['home'])
39
-
40
- expect(result.mode).to be_instance_of(Kanrisuru::Mode)
41
- expect(result.mode.directory?).to eq(true)
42
-
43
- case os_name
44
- when 'centos', 'rhel', 'fedora'
45
- expect(result.mode.numeric).to eq('700')
46
- expect(result.mode.to_i).to eq(0o700)
47
-
48
- expect(result.mode.group.read?).to eq(false)
49
- expect(result.mode.group.write?).to eq(false)
50
- expect(result.mode.group.execute?).to eq(false)
51
-
52
- expect(result.mode.other.read?).to eq(false)
53
- expect(result.mode.other.write?).to eq(false)
54
- expect(result.mode.other.execute?).to eq(false)
5
+ StubNetwork.stub!
55
6
 
56
- expect(result.mode.owner.read?).to eq(true)
57
- expect(result.mode.owner.write?).to eq(true)
58
- expect(result.mode.owner.execute?).to eq(true)
59
-
60
- expect(result.mode.symbolic).to eq('drwx------')
61
- else
62
- expect(result.mode.numeric).to eq('755')
63
- expect(result.mode.to_i).to eq(0o755)
64
-
65
- expect(result.mode.group.read?).to eq(true)
66
- expect(result.mode.group.write?).to eq(false)
67
- expect(result.mode.group.execute?).to eq(true)
68
-
69
- expect(result.mode.other.read?).to eq(true)
70
- expect(result.mode.other.write?).to eq(false)
71
- expect(result.mode.other.execute?).to eq(true)
72
-
73
- expect(result.mode.owner.read?).to eq(true)
74
- expect(result.mode.owner.write?).to eq(true)
75
- expect(result.mode.owner.execute?).to eq(true)
76
-
77
- expect(result.mode.symbolic).to eq('drwxr-xr-x')
78
- end
79
-
80
- expect(result.file_type).to eq('directory')
81
-
82
- case os_name
83
- when 'opensuse', 'sles'
84
- expect(result.gid).to eq(100)
85
- expect(result.group).to eq('users')
86
- else
87
- expect(result.gid).to eq(1000)
88
- expect(result.group).to eq(host_json['username'])
89
- end
7
+ RSpec.describe Kanrisuru::Core::Stat do
8
+ let(:host) do
9
+ Kanrisuru::Remote::Host.new(
10
+ host: 'localhost',
11
+ username: 'ubuntu',
12
+ keys: ['id_rsa']
13
+ )
14
+ end
90
15
 
91
- expect(result.uid).to eq(1000)
92
- expect(result.user).to eq(host_json['username'])
16
+ it 'prepares stat command' do
17
+ result = host.stat('~/file1.txt')
18
+ expect(result.command.raw_command).to eq(
19
+ 'stat -c %A,%b,%D,%F,%g,%G,%h,%i,%n,%s,%u,%U,%x,%y,%z ~/file1.txt'
20
+ )
93
21
 
94
- expect(result.fsize).to be >= 0
95
- end
96
- end
22
+ result = host.stat('~/file2.txt', follow: true)
23
+ expect(result.command.raw_command).to eq(
24
+ 'stat -L -c %A,%b,%D,%F,%g,%G,%h,%i,%n,%s,%u,%U,%x,%y,%z ~/file1.txt'
25
+ )
97
26
  end
27
+
98
28
  end
@@ -111,7 +111,7 @@ RSpec.describe Kanrisuru::OsPackage do
111
111
  host = Kanrisuru::Remote::Host.new(host: '127.0.0.1', username: 'ubuntu', keys: ['~/.ssh/id_rsa'])
112
112
  host2 = Kanrisuru::Remote::Host.new(host: 'localhost', username: 'ubuntu', keys: ['~/.ssh/id_rsa'])
113
113
 
114
- cluster = Kanrisuru::Remote::Cluster.new([host, host2])
114
+ cluster = Kanrisuru::Remote::Cluster.new(host, host2)
115
115
 
116
116
  expect(host).to respond_to(:tester)
117
117
  expect(host.tester).to eq('hello ubuntu')
@@ -125,7 +125,7 @@ RSpec.describe Kanrisuru::OsPackage do
125
125
  host = Kanrisuru::Remote::Host.new(host: '127.0.0.1', username: 'ubuntu', keys: ['~/.ssh/id_rsa'])
126
126
  host2 = Kanrisuru::Remote::Host.new(host: 'localhost', username: 'ubuntu', keys: ['~/.ssh/id_rsa'])
127
127
 
128
- cluster = Kanrisuru::Remote::Cluster.new([host, host2])
128
+ cluster = Kanrisuru::Remote::Cluster.new(host, host2)
129
129
 
130
130
  expect(host).to respond_to(:asdf)
131
131
  expect(host.asdf).to respond_to(:tester)
@@ -151,7 +151,7 @@ RSpec.describe Kanrisuru::OsPackage do
151
151
  host2 = Kanrisuru::Remote::Host.new(host: 'centos-host', username: 'centos', keys: ['~/.ssh/id_rsa'])
152
152
  host3 = Kanrisuru::Remote::Host.new(host: 'opensuse-host', username: 'opensuse', keys: ['~/.ssh/id_rsa'])
153
153
 
154
- cluster = Kanrisuru::Remote::Cluster.new([host1, host2, host3])
154
+ cluster = Kanrisuru::Remote::Cluster.new(host1, host2, host3)
155
155
 
156
156
  expect(host1).to respond_to(:output)
157
157
  expect(host2).to respond_to(:output)
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ class StubNetwork
4
+ class << self
5
+
6
+ def stub!
7
+ ## Stub out the execute_with_retries method to
8
+ ## test functionality of host commands
9
+ Kanrisuru::Remote::Host.class_eval do
10
+ private
11
+
12
+ def execute_with_retries(command)
13
+ command.handle_status(0)
14
+ command.handle_data(nil)
15
+
16
+ command
17
+ end
18
+ end
19
+
20
+ Kanrisuru::Remote::Os.class_eval do
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
32
+ end
33
+
34
+ Kanrisuru::Result.class_eval do
35
+ def initialize(command, &block)
36
+ @command = command
37
+ @data = nil
38
+
39
+ @error = @command.to_a if @command.failure?
40
+ end
41
+ end
42
+ end
43
+
44
+ end
45
+ end
File without changes
File without changes
File without changes
@@ -40,8 +40,8 @@ RSpec.describe Kanrisuru::Core::File do
40
40
  keys: [host_json['ssh_key']]
41
41
  )
42
42
 
43
- host.rmdir("#{host_json['home']}/.kanrisuru_spec_files")
44
- host.rmdir("#{host_json['home']}/extract-tar-files") if host.dir?("#{host_json['home']}/extract-tar-files")
43
+ host.rm("#{host_json['home']}/.kanrisuru_spec_files", force: true, recursive: true)
44
+ host.rm("#{host_json['home']}/extract-tar-files", force: true, recursive: true) if host.dir?("#{host_json['home']}/extract-tar-files")
45
45
  host.disconnect
46
46
  end
47
47
 
@@ -322,16 +322,44 @@ RSpec.describe Kanrisuru::Core::File do
322
322
  expect(host.empty_file?(path)).to eq(false)
323
323
  end
324
324
 
325
+ it 'removes directories' do
326
+ result = host.mkdir("#{spec_dir}/directory/1", silent: true)
327
+ expect(result).to be_success
328
+
329
+ result = host.mkdir("#{spec_dir}/directory/2", silent: true)
330
+ expect(result).to be_success
331
+
332
+ result = host.mkdir("#{spec_dir}/directory/3", silent: true)
333
+ expect(result).to be_success
334
+
335
+ result = host.rmdir(["#{spec_dir}/directory/1", "#{spec_dir}/directory/2"])
336
+ expect(result).to be_success
337
+
338
+ ## Can't delete non empty dir
339
+ result = host.rmdir("#{spec_dir}/directory")
340
+ expect(result).to be_failure
341
+
342
+ result = host.rmdir("#{spec_dir}/directory/3")
343
+ expect(result).to be_success
344
+ end
345
+
325
346
  it 'counts a file' do
326
347
  result = host.wc('/etc/hosts')
327
348
 
328
349
  expect(result.success?).to eq(true)
329
350
  expect(result).to respond_to(:lines, :words, :characters)
330
351
 
331
- lines = result.lines
332
- result = host.cat('/etc/hosts')
352
+ ## Need to remap data including newline chars to get byte size
353
+ data = host.cat('/etc/hosts').command.raw_result
354
+ doc = data.map(&:lines).flatten
355
+
356
+ lines = doc.length
357
+ words = doc.map(&:split).flatten
358
+ chars = doc.map(&:length).flatten
333
359
 
334
- expect(lines).to eq(result.to_a.length)
360
+ expect(result.lines).to eq(doc.length)
361
+ expect(result.words).to eq(words.length)
362
+ expect(result.characters).to eq(chars.sum)
335
363
  end
336
364
  end
337
365
  end
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,98 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ RSpec.describe Kanrisuru::Core::Stat do
6
+ TestHosts.each_os do |os_name|
7
+ context "with #{os_name}" do
8
+ let(:host_json) { TestHosts.host(os_name) }
9
+ let(:host) do
10
+ Kanrisuru::Remote::Host.new(
11
+ host: host_json['hostname'],
12
+ username: host_json['username'],
13
+ keys: [host_json['ssh_key']]
14
+ )
15
+ end
16
+
17
+ after do
18
+ host.disconnect
19
+ end
20
+
21
+ it 'checks file type correctly' do
22
+ expect(host.dir?('/')).to eq(true)
23
+ expect(host.file?('/etc/hosts')).to eq(true)
24
+
25
+ case os_name
26
+ when 'sles'
27
+ expect(host.block_device?('/dev/xvda')).to eq(true)
28
+ else
29
+ expect(host.block_device?('/dev/vda')).to eq(true)
30
+ end
31
+
32
+ expect(host.char_device?('/dev/tty')).to eq(true)
33
+ expect(host.symlink?('/etc/mtab')).to eq(true)
34
+ expect(host.inode?('/proc/uptime')).to eq(true)
35
+ end
36
+
37
+ it 'gets file stat' do
38
+ result = host.stat(host_json['home'])
39
+
40
+ expect(result.mode).to be_instance_of(Kanrisuru::Mode)
41
+ expect(result.mode.directory?).to eq(true)
42
+
43
+ case os_name
44
+ when 'centos', 'rhel', 'fedora'
45
+ expect(result.mode.numeric).to eq('700')
46
+ expect(result.mode.to_i).to eq(0o700)
47
+
48
+ expect(result.mode.group.read?).to eq(false)
49
+ expect(result.mode.group.write?).to eq(false)
50
+ expect(result.mode.group.execute?).to eq(false)
51
+
52
+ expect(result.mode.other.read?).to eq(false)
53
+ expect(result.mode.other.write?).to eq(false)
54
+ expect(result.mode.other.execute?).to eq(false)
55
+
56
+ expect(result.mode.owner.read?).to eq(true)
57
+ expect(result.mode.owner.write?).to eq(true)
58
+ expect(result.mode.owner.execute?).to eq(true)
59
+
60
+ expect(result.mode.symbolic).to eq('drwx------')
61
+ else
62
+ expect(result.mode.numeric).to eq('755')
63
+ expect(result.mode.to_i).to eq(0o755)
64
+
65
+ expect(result.mode.group.read?).to eq(true)
66
+ expect(result.mode.group.write?).to eq(false)
67
+ expect(result.mode.group.execute?).to eq(true)
68
+
69
+ expect(result.mode.other.read?).to eq(true)
70
+ expect(result.mode.other.write?).to eq(false)
71
+ expect(result.mode.other.execute?).to eq(true)
72
+
73
+ expect(result.mode.owner.read?).to eq(true)
74
+ expect(result.mode.owner.write?).to eq(true)
75
+ expect(result.mode.owner.execute?).to eq(true)
76
+
77
+ expect(result.mode.symbolic).to eq('drwxr-xr-x')
78
+ end
79
+
80
+ expect(result.file_type).to eq('directory')
81
+
82
+ case os_name
83
+ when 'opensuse', 'sles'
84
+ expect(result.gid).to eq(100)
85
+ expect(result.group).to eq('users')
86
+ else
87
+ expect(result.gid).to eq(1000)
88
+ expect(result.group).to eq(host_json['username'])
89
+ end
90
+
91
+ expect(result.uid).to eq(1000)
92
+ expect(result.user).to eq(host_json['username'])
93
+
94
+ expect(result.fsize).to be >= 0
95
+ end
96
+ end
97
+ end
98
+ end
File without changes
File without changes
@@ -5,7 +5,7 @@ require 'spec_helper'
5
5
  RSpec.describe Kanrisuru::Remote::Cluster do
6
6
  context 'with ubuntu' do
7
7
  it 'gets hostname for cluster' do
8
- cluster = described_class.new([{
8
+ cluster = described_class.new({
9
9
  host: 'localhost',
10
10
  username: 'ubuntu',
11
11
  keys: ['~/.ssh/id_rsa']
@@ -13,7 +13,7 @@ RSpec.describe Kanrisuru::Remote::Cluster do
13
13
  host: '127.0.0.1',
14
14
  username: 'ubuntu',
15
15
  keys: ['~/.ssh/id_rsa']
16
- }])
16
+ })
17
17
 
18
18
  expect(cluster.hostname).to match([
19
19
  { host: 'localhost', result: 'ubuntu' },
@@ -24,7 +24,7 @@ RSpec.describe Kanrisuru::Remote::Cluster do
24
24
  end
25
25
 
26
26
  it 'can ping host cluster' do
27
- cluster = described_class.new([{
27
+ cluster = described_class.new({
28
28
  host: 'localhost',
29
29
  username: 'ubuntu',
30
30
  keys: ['~/.ssh/id_rsa']
@@ -32,7 +32,7 @@ RSpec.describe Kanrisuru::Remote::Cluster do
32
32
  host: '127.0.0.1',
33
33
  username: 'ubuntu',
34
34
  keys: ['~/.ssh/id_rsa']
35
- }])
35
+ })
36
36
 
37
37
  expect(cluster.ping?).to match([
38
38
  { host: 'localhost', result: true },
File without changes
File without changes
File without changes
data/spec/spec_helper.rb CHANGED
@@ -5,6 +5,7 @@ SimpleCov.start
5
5
 
6
6
  require 'kanrisuru'
7
7
  require_relative 'helper/test_hosts'
8
+ require_relative 'helper/stub_network'
8
9
 
9
10
  Kanrisuru.logger.level = Logger::WARN
10
11
 
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.11
4
+ version: 0.8.15
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-01 00:00:00.000000000 Z
11
+ date: 2021-10-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -173,34 +173,36 @@ 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
177
- - spec/functional/core/archive_spec.rb
178
- - spec/functional/core/disk_spec.rb
179
- - spec/functional/core/dmi_spec.rb
180
- - spec/functional/core/file_spec.rb
181
- - spec/functional/core/find_spec.rb
182
- - spec/functional/core/group_spec.rb
183
- - spec/functional/core/ip_spec.rb
184
- - spec/functional/core/path_spec.rb
185
- - spec/functional/core/socket_spec.rb
186
176
  - spec/functional/core/stat_spec.rb
187
- - spec/functional/core/stream_spec.rb
188
- - spec/functional/core/system_spec.rb
189
- - spec/functional/core/transfer_spec.rb
190
- - spec/functional/core/user_spec.rb
191
- - spec/functional/core/yum_spec.rb
192
- - spec/functional/core/zypper_spec.rb
193
177
  - spec/functional/os_package_spec.rb
194
- - spec/functional/remote/cluster_spec.rb
195
- - spec/functional/remote/cpu_spec.rb
196
- - spec/functional/remote/env_spec.rb
197
- - spec/functional/remote/fstab_spec.rb
198
- - spec/functional/remote/host_spec.rb
199
- - spec/functional/remote/memory_spec.rb
200
- - spec/functional/remote/os_spec.rb
201
- - spec/functional/remote/remote_file_spec.rb
178
+ - spec/helper/stub_network.rb
202
179
  - spec/helper/test_hosts.rb
203
180
  - spec/hosts.json
181
+ - spec/integration/core/apt_spec.rb
182
+ - spec/integration/core/archive_spec.rb
183
+ - spec/integration/core/disk_spec.rb
184
+ - spec/integration/core/dmi_spec.rb
185
+ - spec/integration/core/file_spec.rb
186
+ - spec/integration/core/find_spec.rb
187
+ - spec/integration/core/group_spec.rb
188
+ - spec/integration/core/ip_spec.rb
189
+ - spec/integration/core/path_spec.rb
190
+ - spec/integration/core/socket_spec.rb
191
+ - spec/integration/core/stat_spec.rb
192
+ - spec/integration/core/stream_spec.rb
193
+ - spec/integration/core/system_spec.rb
194
+ - spec/integration/core/transfer_spec.rb
195
+ - spec/integration/core/user_spec.rb
196
+ - spec/integration/core/yum_spec.rb
197
+ - spec/integration/core/zypper_spec.rb
198
+ - spec/integration/remote/cluster_spec.rb
199
+ - spec/integration/remote/cpu_spec.rb
200
+ - spec/integration/remote/env_spec.rb
201
+ - spec/integration/remote/fstab_spec.rb
202
+ - spec/integration/remote/host_spec.rb
203
+ - spec/integration/remote/memory_spec.rb
204
+ - spec/integration/remote/os_spec.rb
205
+ - spec/integration/remote/remote_file_spec.rb
204
206
  - spec/spec_helper.rb
205
207
  - spec/unit/core/apt_spec.rb
206
208
  - spec/unit/core/archive_spec.rb