kanrisuru 0.9.0 → 0.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/CONTRIBUTING.md +9 -9
- data/.github/ISSUE_TEMPLATE/bug_report.md +7 -8
- data/.gitignore +3 -1
- data/CHANGELOG.md +147 -125
- data/CODE_OF_CONDUCT.md +10 -10
- data/README.md +2 -0
- data/kanrisuru.gemspec +2 -1
- data/lib/kanrisuru/core/archive.rb +6 -5
- data/lib/kanrisuru/core/disk.rb +0 -3
- data/lib/kanrisuru/core/find.rb +4 -5
- data/lib/kanrisuru/core/socket.rb +2 -1
- data/lib/kanrisuru/remote/cpu.rb +6 -2
- data/lib/kanrisuru/remote/env.rb +8 -0
- data/lib/kanrisuru/remote/fstab.rb +4 -4
- data/lib/kanrisuru/util.rb +1 -1
- data/lib/kanrisuru/version.rb +1 -1
- data/spec/functional/core/apt_spec.rb +22 -30
- data/spec/functional/core/archive_spec.rb +169 -0
- data/spec/functional/core/find_spec.rb +94 -113
- data/spec/functional/core/socket_spec.rb +23 -28
- data/spec/functional/core/stream_spec.rb +12 -12
- data/spec/functional/core/transfer_spec.rb +108 -131
- data/spec/functional/core/yum_spec.rb +58 -83
- data/spec/functional/remote/cluster_spec.rb +12 -3
- data/spec/functional/remote/cpu_spec.rb +104 -0
- data/spec/functional/remote/env_spec.rb +48 -0
- data/spec/helper/stub_network.rb +52 -9
- data/spec/integration/core/file_spec.rb +0 -1
- data/spec/integration/core/find_spec.rb +1 -0
- data/spec/integration/core/system_spec.rb +0 -1
- data/spec/integration/core/zypper_spec.rb +3 -3
- data/spec/{functional → integration}/os_package_spec.rb +0 -0
- data/spec/spec_helper.rb +3 -0
- data/spec/unit/command_spec.rb +31 -0
- data/spec/unit/core/apt_spec.rb +20 -0
- data/spec/unit/core/archive_spec.rb +20 -0
- data/spec/unit/core/disk_spec.rb +23 -0
- data/spec/unit/core/dmi_spec.rb +20 -0
- data/spec/unit/core/file_spec.rb +35 -0
- data/spec/unit/core/find_spec.rb +21 -1
- data/spec/unit/core/group_spec.rb +24 -0
- data/spec/unit/core/ip_spec.rb +20 -0
- data/spec/unit/core/path_spec.rb +25 -0
- data/spec/unit/core/socket_spec.rb +20 -0
- data/spec/unit/core/stat_spec.rb +27 -0
- data/spec/unit/core/system_spec.rb +35 -0
- data/spec/unit/core/transfer_spec.rb +22 -0
- data/spec/unit/core/user_spec.rb +25 -0
- data/spec/unit/core/yum_spec.rb +20 -0
- data/spec/unit/core/zypper_spec.rb +20 -0
- data/spec/unit/mode_spec.rb +33 -2
- data/spec/unit/remote/cluster_spec.rb +36 -0
- data/spec/unit/remote/cpu_spec.rb +49 -0
- data/spec/unit/remote/env_spec.rb +17 -0
- data/spec/unit/{fstab_spec.rb → remote/fstab_spec.rb} +0 -0
- data/spec/unit/util_spec.rb +13 -0
- metadata +27 -5
data/spec/unit/core/yum_spec.rb
CHANGED
@@ -3,6 +3,26 @@
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
5
|
RSpec.describe Kanrisuru::Core::Yum do
|
6
|
+
before(:all) do
|
7
|
+
StubNetwork.stub!('centos')
|
8
|
+
end
|
9
|
+
|
10
|
+
after(:all) do
|
11
|
+
StubNetwork.unstub!
|
12
|
+
end
|
13
|
+
|
14
|
+
let(:host) do
|
15
|
+
Kanrisuru::Remote::Host.new(
|
16
|
+
host: 'centos-host',
|
17
|
+
username: 'centos',
|
18
|
+
keys: ['id_rsa']
|
19
|
+
)
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'responds to methods' do
|
23
|
+
expect(host).to respond_to(:yum)
|
24
|
+
end
|
25
|
+
|
6
26
|
it 'responds to yum fields' do
|
7
27
|
expect(Kanrisuru::Core::Yum::PackageOverview.new).to respond_to(
|
8
28
|
:package, :architecture, :version, :installed
|
@@ -3,6 +3,26 @@
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
5
|
RSpec.describe Kanrisuru::Core::Zypper do
|
6
|
+
before(:all) do
|
7
|
+
StubNetwork.stub!('opensuse')
|
8
|
+
end
|
9
|
+
|
10
|
+
after(:all) do
|
11
|
+
StubNetwork.unstub!
|
12
|
+
end
|
13
|
+
|
14
|
+
let(:host) do
|
15
|
+
Kanrisuru::Remote::Host.new(
|
16
|
+
host: 'opensuse-host',
|
17
|
+
username: 'opensuse',
|
18
|
+
keys: ['id_rsa']
|
19
|
+
)
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'responds to methods' do
|
23
|
+
expect(host).to respond_to(:zypper)
|
24
|
+
end
|
25
|
+
|
6
26
|
it 'responds to zypper fields' do
|
7
27
|
expect(Kanrisuru::Core::Zypper::PACKAGE_TYPES).to(
|
8
28
|
eq(%w[package patch pattern product srcpackage application])
|
data/spec/unit/mode_spec.rb
CHANGED
@@ -3,6 +3,18 @@
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
5
|
RSpec.describe Kanrisuru::Mode do
|
6
|
+
it 'responds to methods' do
|
7
|
+
mode = described_class.new('644')
|
8
|
+
expect(mode).to respond_to(:directory?)
|
9
|
+
expect(mode).to respond_to(:symbolic)
|
10
|
+
expect(mode).to respond_to(:symbolic=)
|
11
|
+
expect(mode).to respond_to(:numeric)
|
12
|
+
expect(mode).to respond_to(:numeric=)
|
13
|
+
expect(mode).to respond_to(:inspect)
|
14
|
+
expect(mode).to respond_to(:to_s)
|
15
|
+
expect(mode).to respond_to(:to_i)
|
16
|
+
end
|
17
|
+
|
6
18
|
it 'parses int mode' do
|
7
19
|
mode = described_class.new('644')
|
8
20
|
expect(mode.directory?).to eq(false)
|
@@ -80,9 +92,9 @@ RSpec.describe Kanrisuru::Mode do
|
|
80
92
|
expect(mode.other.to_i).to eq(7)
|
81
93
|
expect(mode.other.symbolic).to eq('rwx')
|
82
94
|
|
83
|
-
mode = described_class.new(
|
95
|
+
mode = described_class.new('---x--x--x')
|
84
96
|
expect(mode.directory?).to eq(false)
|
85
|
-
expect(mode.numeric).to eq(
|
97
|
+
expect(mode.numeric).to eq('111')
|
86
98
|
|
87
99
|
expect(mode.owner.read?).to eq(false)
|
88
100
|
expect(mode.owner.write?).to eq(false)
|
@@ -205,4 +217,23 @@ RSpec.describe Kanrisuru::Mode do
|
|
205
217
|
mode.symbolic = '-w'
|
206
218
|
expect(mode.symbolic).to eq('---xr-xr--')
|
207
219
|
end
|
220
|
+
|
221
|
+
context Kanrisuru::Mode::Permission do
|
222
|
+
it 'responds to methods' do
|
223
|
+
mode = Kanrisuru::Mode::Permission.new('644', 'rw-rw-r--')
|
224
|
+
expect(mode).to respond_to(:to_i)
|
225
|
+
expect(mode).to respond_to(:to_s)
|
226
|
+
expect(mode).to respond_to(:all?)
|
227
|
+
expect(mode).to respond_to(:numeric)
|
228
|
+
expect(mode).to respond_to(:numeric=)
|
229
|
+
expect(mode).to respond_to(:symbolic=)
|
230
|
+
expect(mode).to respond_to(:symbolic)
|
231
|
+
expect(mode).to respond_to(:read=)
|
232
|
+
expect(mode).to respond_to(:read?)
|
233
|
+
expect(mode).to respond_to(:write=)
|
234
|
+
expect(mode).to respond_to(:write?)
|
235
|
+
expect(mode).to respond_to(:execute=)
|
236
|
+
expect(mode).to respond_to(:execute?)
|
237
|
+
end
|
238
|
+
end
|
208
239
|
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
RSpec.describe Kanrisuru::Remote::Cluster do
|
4
|
+
before(:all) do
|
5
|
+
StubNetwork.stub!
|
6
|
+
end
|
7
|
+
|
8
|
+
after(:all) do
|
9
|
+
StubNetwork.unstub!
|
10
|
+
end
|
11
|
+
|
12
|
+
let(:host1) do
|
13
|
+
Kanrisuru::Remote::Host.new(
|
14
|
+
host: 'localhost',
|
15
|
+
username: 'ubuntu',
|
16
|
+
keys: ['id_rsa']
|
17
|
+
)
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'responds to methods' do
|
21
|
+
cluster = described_class.new(host1)
|
22
|
+
expect(cluster).to respond_to(:hosts)
|
23
|
+
expect(cluster).to respond_to(:[])
|
24
|
+
expect(cluster).to respond_to(:<<)
|
25
|
+
expect(cluster).to respond_to(:delete)
|
26
|
+
expect(cluster).to respond_to(:execute)
|
27
|
+
expect(cluster).to respond_to(:execute_shell)
|
28
|
+
expect(cluster).to respond_to(:each)
|
29
|
+
expect(cluster).to respond_to(:hostname)
|
30
|
+
expect(cluster).to respond_to(:ping?)
|
31
|
+
expect(cluster).to respond_to(:su)
|
32
|
+
expect(cluster).to respond_to(:chdir)
|
33
|
+
expect(cluster).to respond_to(:cd)
|
34
|
+
expect(cluster).to respond_to(:disconnect)
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
RSpec.describe Kanrisuru::Remote::Cpu 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 'responds to methods' do
|
23
|
+
cpu = described_class.new(host)
|
24
|
+
expect(cpu).to respond_to(:load_average)
|
25
|
+
expect(cpu).to respond_to(:load_average1)
|
26
|
+
expect(cpu).to respond_to(:load_average5)
|
27
|
+
expect(cpu).to respond_to(:load_average15)
|
28
|
+
expect(cpu).to respond_to(:sockets)
|
29
|
+
expect(cpu).to respond_to(:cores)
|
30
|
+
expect(cpu).to respond_to(:total)
|
31
|
+
expect(cpu).to respond_to(:count)
|
32
|
+
expect(cpu).to respond_to(:threads_per_core)
|
33
|
+
expect(cpu).to respond_to(:cores_per_socket)
|
34
|
+
expect(cpu).to respond_to(:numa_nodes)
|
35
|
+
expect(cpu).to respond_to(:vendor_id)
|
36
|
+
expect(cpu).to respond_to(:cpu_family)
|
37
|
+
expect(cpu).to respond_to(:model)
|
38
|
+
expect(cpu).to respond_to(:model_name)
|
39
|
+
expect(cpu).to respond_to(:byte_order)
|
40
|
+
expect(cpu).to respond_to(:address_sizes)
|
41
|
+
expect(cpu).to respond_to(:cpu_mhz)
|
42
|
+
expect(cpu).to respond_to(:cpu_max_mhz)
|
43
|
+
expect(cpu).to respond_to(:cpu_min_mhz)
|
44
|
+
expect(cpu).to respond_to(:hypervisor)
|
45
|
+
expect(cpu).to respond_to(:virtualization_type)
|
46
|
+
expect(cpu).to respond_to(:flags)
|
47
|
+
expect(cpu).to respond_to(:hyperthreading?)
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
RSpec.describe Kanrisuru::Remote::Env do
|
6
|
+
it 'responds to methods' do
|
7
|
+
env = described_class.new
|
8
|
+
expect(env).to respond_to(:to_h)
|
9
|
+
expect(env).to respond_to(:to_s)
|
10
|
+
expect(env).to respond_to(:clear)
|
11
|
+
expect(env).to respond_to(:count)
|
12
|
+
expect(env).to respond_to(:count)
|
13
|
+
expect(env).to respond_to(:delete)
|
14
|
+
expect(env).to respond_to(:[])
|
15
|
+
expect(env).to respond_to(:[]=)
|
16
|
+
end
|
17
|
+
end
|
File without changes
|
data/spec/unit/util_spec.rb
CHANGED
@@ -84,6 +84,10 @@ RSpec.describe Kanrisuru::Util do
|
|
84
84
|
expect { Kanrisuru::Util::Bits.convert_bytes(100, :kilobytee, :kilobit) }.to raise_error(ArgumentError)
|
85
85
|
end
|
86
86
|
|
87
|
+
it 'gets invalid signal type' do
|
88
|
+
expect { Kanrisuru::Util::Signal[{ 'Hello' => 'World' }] }.to raise_error(ArgumentError)
|
89
|
+
end
|
90
|
+
|
87
91
|
it 'translates signal from string to numeric' do
|
88
92
|
expect(Kanrisuru::Util::Signal['HUP']).to eq(1)
|
89
93
|
expect(Kanrisuru::Util::Signal['INT']).to eq(2)
|
@@ -214,6 +218,10 @@ RSpec.describe Kanrisuru::Util do
|
|
214
218
|
expect(Kanrisuru::Util::Signal[64]).to eq('RTMAX')
|
215
219
|
end
|
216
220
|
|
221
|
+
it 'gets invalid dmi type' do
|
222
|
+
expect { Kanrisuru::Util::DmiType[{ 'Hello' => 'World' }] }.to raise_error(ArgumentError)
|
223
|
+
end
|
224
|
+
|
217
225
|
it 'translates dmi types from string to integer' do
|
218
226
|
expect(Kanrisuru::Util::DmiType['BIOS']).to eq(0)
|
219
227
|
expect(Kanrisuru::Util::DmiType['System']).to eq(1)
|
@@ -308,6 +316,11 @@ RSpec.describe Kanrisuru::Util do
|
|
308
316
|
expect(Kanrisuru::Util::DmiType[43]).to eq('TPM Device')
|
309
317
|
end
|
310
318
|
|
319
|
+
it 'gets fs_mount options' do
|
320
|
+
expect(Kanrisuru::Util::FsMountOpts.get_device('common')[:async]).to eq('boolean')
|
321
|
+
expect(Kanrisuru::Util::FsMountOpts.get_device_opt(:ext4, :acl)).to eq('boolean')
|
322
|
+
end
|
323
|
+
|
311
324
|
it 'converts power' do
|
312
325
|
expect(Kanrisuru::Util::Bits.convert_power(:deca, :deca)).to eq(0)
|
313
326
|
expect(Kanrisuru::Util::Bits.convert_power(:deca, :kilo)).to eq(-1)
|
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.
|
4
|
+
version: 0.11.0
|
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-
|
11
|
+
date: 2021-12-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0.21'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: simplecov-cobertura
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '2.0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '2.0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: net-ping
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,7 +122,8 @@ dependencies:
|
|
108
122
|
- - "~>"
|
109
123
|
- !ruby/object:Gem::Version
|
110
124
|
version: '6.1'
|
111
|
-
description:
|
125
|
+
description: Kanrisuru helps manage remote servers with objected oriented ruby. Results
|
126
|
+
come back as structured data, parsed, prepared and ready.
|
112
127
|
email: ryan@avamia.com
|
113
128
|
executables: []
|
114
129
|
extensions: []
|
@@ -174,6 +189,7 @@ files:
|
|
174
189
|
- lib/kanrisuru/util/signal.rb
|
175
190
|
- lib/kanrisuru/version.rb
|
176
191
|
- spec/functional/core/apt_spec.rb
|
192
|
+
- spec/functional/core/archive_spec.rb
|
177
193
|
- spec/functional/core/find_spec.rb
|
178
194
|
- spec/functional/core/path_spec.rb
|
179
195
|
- spec/functional/core/socket_spec.rb
|
@@ -181,8 +197,9 @@ files:
|
|
181
197
|
- spec/functional/core/stream_spec.rb
|
182
198
|
- spec/functional/core/transfer_spec.rb
|
183
199
|
- spec/functional/core/yum_spec.rb
|
184
|
-
- spec/functional/os_package_spec.rb
|
185
200
|
- spec/functional/remote/cluster_spec.rb
|
201
|
+
- spec/functional/remote/cpu_spec.rb
|
202
|
+
- spec/functional/remote/env_spec.rb
|
186
203
|
- spec/helper/expect_helpers.rb
|
187
204
|
- spec/helper/stub_network.rb
|
188
205
|
- spec/helper/test_hosts.rb
|
@@ -204,6 +221,7 @@ files:
|
|
204
221
|
- spec/integration/core/user_spec.rb
|
205
222
|
- spec/integration/core/yum_spec.rb
|
206
223
|
- spec/integration/core/zypper_spec.rb
|
224
|
+
- spec/integration/os_package_spec.rb
|
207
225
|
- spec/integration/remote/cluster_spec.rb
|
208
226
|
- spec/integration/remote/cpu_spec.rb
|
209
227
|
- spec/integration/remote/env_spec.rb
|
@@ -213,6 +231,7 @@ files:
|
|
213
231
|
- spec/integration/remote/os_spec.rb
|
214
232
|
- spec/integration/remote/remote_file_spec.rb
|
215
233
|
- spec/spec_helper.rb
|
234
|
+
- spec/unit/command_spec.rb
|
216
235
|
- spec/unit/core/apt_spec.rb
|
217
236
|
- spec/unit/core/archive_spec.rb
|
218
237
|
- spec/unit/core/disk_spec.rb
|
@@ -229,9 +248,12 @@ files:
|
|
229
248
|
- spec/unit/core/user_spec.rb
|
230
249
|
- spec/unit/core/yum_spec.rb
|
231
250
|
- spec/unit/core/zypper_spec.rb
|
232
|
-
- spec/unit/fstab_spec.rb
|
233
251
|
- spec/unit/kanrisuru_spec.rb
|
234
252
|
- spec/unit/mode_spec.rb
|
253
|
+
- spec/unit/remote/cluster_spec.rb
|
254
|
+
- spec/unit/remote/cpu_spec.rb
|
255
|
+
- spec/unit/remote/env_spec.rb
|
256
|
+
- spec/unit/remote/fstab_spec.rb
|
235
257
|
- spec/unit/template_spec.rb
|
236
258
|
- spec/unit/util_spec.rb
|
237
259
|
- spec/zz_reboot_spec.rb
|