kanrisuru 0.9.1 → 0.9.2
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.
- checksums.yaml +4 -4
- data/.gitignore +3 -1
- data/CHANGELOG.md +22 -21
- data/README.md +1 -0
- data/kanrisuru.gemspec +2 -1
- data/lib/kanrisuru/version.rb +1 -1
- data/spec/functional/remote/cluster_spec.rb +1 -1
- data/spec/helper/stub_network.rb +9 -1
- data/spec/spec_helper.rb +3 -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 +20 -0
- 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/remote/cluster_spec.rb +34 -0
- data/spec/unit/remote/cpu_spec.rb +3 -3
- data/spec/unit/{fstab_spec.rb → remote/fstab_spec.rb} +0 -0
- metadata +20 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 584b31f227df31d0a5e45ae8abd18a4a8f87f73622b78cf7a59b66878ac79d4b
|
|
4
|
+
data.tar.gz: c0917335ccd0955398574ad61756604e6f3516fd2e73958da733b711c16a152a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f950255db2459f0ead9452c026059723da0deca9e8688dc0efae3c11bf00f3ddc3787f246d99f3ab9cc3893b12915309d91ce2f35c3bd22b8c905a9f5d387387
|
|
7
|
+
data.tar.gz: 105d7d7193a037f357e14b31cc7af353a494810287b2dd557861077c27ec83cb64be3e64d2b9f49104438d0c5fe233d79374256c1a098bec8a50de335c3b20ba
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,65 +1,70 @@
|
|
|
1
|
-
## Kanrisuru 0.9.
|
|
1
|
+
## Kanrisuru 0.9.2 (November 30, 2021) ##
|
|
2
|
+
* Add unit test cases for all core commands.
|
|
3
|
+
* Add unit test cases for `cluster` class.
|
|
4
|
+
* Add codecov xml output for coverage badge.
|
|
5
|
+
|
|
6
|
+
## Kanrisuru 0.9.1 (November 29, 2021) ##
|
|
2
7
|
* Fix type on `address_sizes` for `Kanrisuru::Remote::Cpu` class.
|
|
3
8
|
* Add unit test cases for the `cpu` class.
|
|
4
9
|
|
|
5
|
-
## Kanrisuru 0.9.0 (November 23, 2021)
|
|
10
|
+
## Kanrisuru 0.9.0 (November 23, 2021) ##
|
|
6
11
|
* Add `delete` to `Kanrisuru::Remote::Cluster` class to allow removal of hosts from cluster.
|
|
7
12
|
* Add functional test cases for remote cluster class.
|
|
8
13
|
|
|
9
|
-
## Kanrisuru 0.8.23 (November 19, 2021)
|
|
14
|
+
## Kanrisuru 0.8.23 (November 19, 2021) ##
|
|
10
15
|
* Add functional test cases for `yum` command
|
|
11
16
|
* Add stub by operating system method, with support for `ubuntu` and `centos` os types.
|
|
12
17
|
* Fix `ArgumentError` typo in yum commands, `erase` and `remove`.
|
|
13
18
|
|
|
14
|
-
## Kanrisuru 0.8.22 (November 18, 2021)
|
|
19
|
+
## Kanrisuru 0.8.22 (November 18, 2021) ##
|
|
15
20
|
* Add functional test cases for `apt` command
|
|
16
21
|
|
|
17
|
-
## Kanrisuru 0.8.21 (November 15, 2021)
|
|
22
|
+
## Kanrisuru 0.8.21 (November 15, 2021) ##
|
|
18
23
|
* Fix bug with `Kanrisuru::Mode` class, lookup table had incorrect value for execute only symbolic to numeric field.
|
|
19
24
|
|
|
20
|
-
## Kanrisuru 0.8.20 (November 13, 2021)
|
|
25
|
+
## Kanrisuru 0.8.20 (November 13, 2021) ##
|
|
21
26
|
* Unstub network requests for full rspec test-suite run
|
|
22
27
|
|
|
23
|
-
## Kanrisuru 0.8.19 (October 31, 2021)
|
|
28
|
+
## Kanrisuru 0.8.19 (October 31, 2021) ##
|
|
24
29
|
* Add functional test cases for `ss` command.
|
|
25
30
|
* Enforce contraints on `family` parameter for `ss` command.
|
|
26
31
|
* 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.
|
|
27
32
|
* Replace `string_join_array` method calls in `apt`, `transfer`, `yum`, and `zypper` with `array_join_string`.
|
|
28
33
|
|
|
29
|
-
## Kanrisuru 0.8.18 (October 19, 2021)
|
|
34
|
+
## Kanrisuru 0.8.18 (October 19, 2021) ##
|
|
30
35
|
* Add functional test cases for `find` commmand.
|
|
31
36
|
* Add `regex_type` option for `find` command.
|
|
32
37
|
* 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.
|
|
33
38
|
|
|
34
|
-
## Kanrisuru 0.8.17 (October 16, 2021)
|
|
39
|
+
## Kanrisuru 0.8.17 (October 16, 2021) ##
|
|
35
40
|
* Add functional test cases for `transfer` module
|
|
36
41
|
* Update wget command to accept hash for `headers` opt.
|
|
37
42
|
|
|
38
|
-
## Kanrisuru 0.8.16 (October 14, 2021)
|
|
43
|
+
## Kanrisuru 0.8.16 (October 14, 2021) ##
|
|
39
44
|
* Add functional test cases for `stream` and `path` modules
|
|
40
45
|
* Create `expect_command` helper for quick testing on raw command result
|
|
41
46
|
|
|
42
|
-
## Kanrisuru 0.8.15 (October 12, 20201)
|
|
47
|
+
## Kanrisuru 0.8.15 (October 12, 20201) ##
|
|
43
48
|
* Move functional specs to integration. Anything that performs an actual network request will be under the integrations test.
|
|
44
49
|
* 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.
|
|
45
50
|
* Start with testing the `stat` command as a functional test.
|
|
46
51
|
|
|
47
|
-
## Kanrisuru 0.8.14 (October 8, 20201)
|
|
52
|
+
## Kanrisuru 0.8.14 (October 8, 20201) ##
|
|
48
53
|
* Update `Kanrisuru::Remote::Cluster` instantiation method to use array splat instead of passing array directly.
|
|
49
54
|
|
|
50
|
-
## Kanrisuru 0.8.13 (October 4, 20201)
|
|
55
|
+
## Kanrisuru 0.8.13 (October 4, 20201) ##
|
|
51
56
|
* Fix `wc` command. Ensure result parsing is cast to integer values.
|
|
52
57
|
|
|
53
|
-
## Kanrisuru 0.8.12 (October 4, 20201)
|
|
58
|
+
## Kanrisuru 0.8.12 (October 4, 20201) ##
|
|
54
59
|
* Refactor `rmdir` command to only work on empty directories.
|
|
55
60
|
|
|
56
|
-
## Kanrisuru 0.8.11 (October 1, 20201)
|
|
61
|
+
## Kanrisuru 0.8.11 (October 1, 20201) ##
|
|
57
62
|
* Allow `Kanrisuru::Mode` as mode type option in mkdir method.
|
|
58
63
|
|
|
59
|
-
## Kanrisuru 0.8.10 (August 24, 20201)
|
|
64
|
+
## Kanrisuru 0.8.10 (August 24, 20201) ##
|
|
60
65
|
* Fix bug with rspec test case.
|
|
61
66
|
|
|
62
|
-
## Kanrisuru 0.8.9 (August 24, 2021)
|
|
67
|
+
## Kanrisuru 0.8.9 (August 24, 2021) ##
|
|
63
68
|
* Fix spelling error exception `ArgumentError` in `Kanrisuru::Mode` class.
|
|
64
69
|
|
|
65
70
|
## Kanrisuru 0.8.8 (August 21, 2021) ##
|
|
@@ -129,7 +134,6 @@ cache key to avoid any namespace collisions with the same method name, namely:
|
|
|
129
134
|
* Deprecating `cpu_info` with replacement of `lscpu`. `cpu_info` will be removed in the next major release.
|
|
130
135
|
|
|
131
136
|
## Kanrisuru 0.5.1 (July 29, 2021) ##
|
|
132
|
-
|
|
133
137
|
* Unit test cases for core module structs, constants and types.
|
|
134
138
|
|
|
135
139
|
## Kanrisuru 0.5.0 (July 29, 2021) ##
|
|
@@ -166,15 +170,12 @@ cache key to avoid any namespace collisions with the same method name, namely:
|
|
|
166
170
|
* Replace `cpu` module internal fetching of data from `cpu_info` to `lscpu` struct.
|
|
167
171
|
|
|
168
172
|
## Kanrisuru 0.2.9 (July 20, 2021) ##
|
|
169
|
-
|
|
170
173
|
* Fix fstab entry from `entry` to `entry[:entry]` in the `for_each`iteration.
|
|
171
174
|
|
|
172
175
|
## Kanrisuru 0.2.8 (July 20, 2021) ##
|
|
173
|
-
|
|
174
176
|
* Update gem development and runtime depedencies with stricter depencies.
|
|
175
177
|
|
|
176
178
|
## Kanrisuru 0.2.7 (July 18, 2021) ##
|
|
177
|
-
|
|
178
179
|
* Set opensuse upstream to sles (Suse Enterprise Linux) in `os_family`
|
|
179
180
|
|
|
180
181
|
## Kanrisuru 0.2.6 (July 17, 2021) ##
|
data/README.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
[](https://rubygems.org/gems/kanrisuru)
|
|
2
2
|
[](https://github.com/avamia/kanrisuru/blob/main/LICENSE.txt)
|
|
3
3
|

|
|
4
|
+

|
|
4
5
|
|
|
5
6
|
<p align='center'>
|
|
6
7
|
<img src="https://s3.us-east-2.amazonaws.com/kanrisuru.com/kanrisuru-banner-02.png" width="600" />
|
data/kanrisuru.gemspec
CHANGED
|
@@ -9,7 +9,7 @@ Gem::Specification.new do |gem|
|
|
|
9
9
|
gem.email = 'ryan@avamia.com'
|
|
10
10
|
gem.license = 'MIT'
|
|
11
11
|
gem.summary = 'Manage remote servers over ssh with ruby.'
|
|
12
|
-
gem.description = '
|
|
12
|
+
gem.description = 'Kanrisuru helps manage remote servers with objected oriented ruby. Results come back as structured data, parsed, prepared and ready .'
|
|
13
13
|
gem.homepage = 'https://github.com/avamia/kanrisuru'
|
|
14
14
|
|
|
15
15
|
gem.required_ruby_version = '>= 2.5.0'
|
|
@@ -18,6 +18,7 @@ Gem::Specification.new do |gem|
|
|
|
18
18
|
gem.add_development_dependency 'rubocop', '~> 1.12'
|
|
19
19
|
gem.add_development_dependency 'rubocop-rspec', '~> 2.2'
|
|
20
20
|
gem.add_development_dependency 'simplecov', '~> 0.21'
|
|
21
|
+
gem.add_development_dependency 'simplecov-cobertura', '~> 2.0'
|
|
21
22
|
|
|
22
23
|
gem.add_runtime_dependency 'net-ping', '~> 2.0'
|
|
23
24
|
gem.add_runtime_dependency 'net-scp', '~> 3.0'
|
data/lib/kanrisuru/version.rb
CHANGED
data/spec/helper/stub_network.rb
CHANGED
|
@@ -82,10 +82,18 @@ class StubNetwork
|
|
|
82
82
|
processor: 'x86_64',
|
|
83
83
|
release: 'centos',
|
|
84
84
|
version: 7.0
|
|
85
|
+
},
|
|
86
|
+
opensuse: {
|
|
87
|
+
kernel_name: 'Linux',
|
|
88
|
+
kernel_version: '"#1 SMP Tue Jul 20 23:04:11 UTC 2021"',
|
|
89
|
+
operating_system: 'GNU/Linux',
|
|
90
|
+
hardware_platform: 'x86_64',
|
|
91
|
+
processor: 'x86_64',
|
|
92
|
+
release: 'opensuse-leap',
|
|
93
|
+
version:15.2
|
|
85
94
|
}
|
|
86
95
|
}
|
|
87
96
|
|
|
88
|
-
|
|
89
97
|
defaults[name].key?(property) ?
|
|
90
98
|
defaults[name][property] : nil
|
|
91
99
|
end
|
data/spec/spec_helper.rb
CHANGED
data/spec/unit/core/apt_spec.rb
CHANGED
|
@@ -3,6 +3,26 @@
|
|
|
3
3
|
require 'spec_helper'
|
|
4
4
|
|
|
5
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 'responds to methods' do
|
|
23
|
+
expect(host).to respond_to(:apt)
|
|
24
|
+
end
|
|
25
|
+
|
|
6
26
|
it 'responds to apt fields' do
|
|
7
27
|
expect(Kanrisuru::Core::Apt::Source.new).to respond_to(
|
|
8
28
|
:url, :dist, :architecture
|
|
@@ -3,6 +3,26 @@
|
|
|
3
3
|
require 'spec_helper'
|
|
4
4
|
|
|
5
5
|
RSpec.describe Kanrisuru::Core::Archive 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
|
+
expect(host).to respond_to(:tar)
|
|
24
|
+
end
|
|
25
|
+
|
|
6
26
|
it 'responds to archive fields' do
|
|
7
27
|
expect(Kanrisuru::Core::Archive::FilePath.new).to respond_to(
|
|
8
28
|
:path
|
data/spec/unit/core/disk_spec.rb
CHANGED
|
@@ -3,6 +3,29 @@
|
|
|
3
3
|
require 'spec_helper'
|
|
4
4
|
|
|
5
5
|
RSpec.describe Kanrisuru::Core::Disk 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
|
+
expect(host).to respond_to(:df)
|
|
24
|
+
expect(host).to respond_to(:du)
|
|
25
|
+
expect(host).to respond_to(:blkid)
|
|
26
|
+
expect(host).to respond_to(:lsblk)
|
|
27
|
+
end
|
|
28
|
+
|
|
6
29
|
it 'responds to disk fields' do
|
|
7
30
|
expect(Kanrisuru::Core::Disk::DiskUsage.new).to respond_to(:fsize, :path)
|
|
8
31
|
expect(Kanrisuru::Core::Disk::DiskFree.new).to respond_to(
|
data/spec/unit/core/dmi_spec.rb
CHANGED
|
@@ -3,6 +3,26 @@
|
|
|
3
3
|
require 'spec_helper'
|
|
4
4
|
|
|
5
5
|
RSpec.describe Kanrisuru::Core::Dmi 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
|
+
expect(host).to respond_to(:dmi)
|
|
24
|
+
end
|
|
25
|
+
|
|
6
26
|
it 'responds to dmi type fields' do
|
|
7
27
|
expect(Kanrisuru::Core::Dmi::BIOS.new).to respond_to(
|
|
8
28
|
:dmi_type, :dmi_handle, :dmi_size,
|
data/spec/unit/core/file_spec.rb
CHANGED
|
@@ -3,6 +3,41 @@
|
|
|
3
3
|
require 'spec_helper'
|
|
4
4
|
|
|
5
5
|
RSpec.describe Kanrisuru::Core::File 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
|
+
expect(host).to respond_to(:touch)
|
|
24
|
+
expect(host).to respond_to(:cp)
|
|
25
|
+
expect(host).to respond_to(:copy)
|
|
26
|
+
expect(host).to respond_to(:mkdir)
|
|
27
|
+
expect(host).to respond_to(:mv)
|
|
28
|
+
expect(host).to respond_to(:move)
|
|
29
|
+
expect(host).to respond_to(:link)
|
|
30
|
+
expect(host).to respond_to(:symlink)
|
|
31
|
+
expect(host).to respond_to(:ln)
|
|
32
|
+
expect(host).to respond_to(:ln_s)
|
|
33
|
+
expect(host).to respond_to(:chmod)
|
|
34
|
+
expect(host).to respond_to(:chown)
|
|
35
|
+
expect(host).to respond_to(:unlink)
|
|
36
|
+
expect(host).to respond_to(:rm)
|
|
37
|
+
expect(host).to respond_to(:rmdir)
|
|
38
|
+
expect(host).to respond_to(:wc)
|
|
39
|
+
end
|
|
40
|
+
|
|
6
41
|
it 'responds to file fields' do
|
|
7
42
|
expect(Kanrisuru::Core::File::FileCount.new).to respond_to(:lines, :words, :characters)
|
|
8
43
|
end
|
data/spec/unit/core/find_spec.rb
CHANGED
|
@@ -3,6 +3,26 @@
|
|
|
3
3
|
require 'spec_helper'
|
|
4
4
|
|
|
5
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
|
+
|
|
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
|
+
expect(host).to respond_to(:find)
|
|
24
|
+
end
|
|
25
|
+
|
|
6
26
|
it 'responds to find fields' do
|
|
7
27
|
expect(Kanrisuru::Core::Find::FilePath.new).to respond_to(:path)
|
|
8
28
|
expect(Kanrisuru::Core::Find::REGEX_TYPES).to(
|
|
@@ -3,6 +3,30 @@
|
|
|
3
3
|
require 'spec_helper'
|
|
4
4
|
|
|
5
5
|
RSpec.describe Kanrisuru::Core::Group 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
|
+
expect(host).to respond_to(:group?)
|
|
24
|
+
expect(host).to respond_to(:get_gid)
|
|
25
|
+
expect(host).to respond_to(:create_group)
|
|
26
|
+
expect(host).to respond_to(:update_group)
|
|
27
|
+
expect(host).to respond_to(:delete_group)
|
|
28
|
+
end
|
|
29
|
+
|
|
6
30
|
it 'responds to group fields' do
|
|
7
31
|
expect(Kanrisuru::Core::Group::Group.new).to respond_to(:gid, :name, :users)
|
|
8
32
|
expect(Kanrisuru::Core::Group::GroupUser.new).to respond_to(:uid, :name)
|
data/spec/unit/core/ip_spec.rb
CHANGED
|
@@ -3,6 +3,26 @@
|
|
|
3
3
|
require 'spec_helper'
|
|
4
4
|
|
|
5
5
|
RSpec.describe Kanrisuru::Core::IP 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
|
+
expect(host).to respond_to(:ip)
|
|
24
|
+
end
|
|
25
|
+
|
|
6
26
|
it 'responds to ip fields' do
|
|
7
27
|
expect(Kanrisuru::Core::IP::IPROUTE2_JSON_VERSION).to(
|
|
8
28
|
eq(180_129)
|
data/spec/unit/core/path_spec.rb
CHANGED
|
@@ -3,6 +3,31 @@
|
|
|
3
3
|
require 'spec_helper'
|
|
4
4
|
|
|
5
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
|
+
|
|
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
|
+
expect(host).to respond_to(:ls)
|
|
24
|
+
expect(host).to respond_to(:pwd)
|
|
25
|
+
expect(host).to respond_to(:realpath)
|
|
26
|
+
expect(host).to respond_to(:readlink)
|
|
27
|
+
expect(host).to respond_to(:whoami)
|
|
28
|
+
expect(host).to respond_to(:which)
|
|
29
|
+
end
|
|
30
|
+
|
|
6
31
|
it 'responds to path fields' do
|
|
7
32
|
expect(Kanrisuru::Core::Path::FilePath.new).to respond_to(:path)
|
|
8
33
|
expect(Kanrisuru::Core::Path::FileInfoId.new).to respond_to(
|
|
@@ -3,6 +3,26 @@
|
|
|
3
3
|
require 'spec_helper'
|
|
4
4
|
|
|
5
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 'responds to methods' do
|
|
23
|
+
expect(host).to respond_to(:ss)
|
|
24
|
+
end
|
|
25
|
+
|
|
6
26
|
it 'responds to socket fields' do
|
|
7
27
|
expect(Kanrisuru::Core::Socket::Statistics.new).to respond_to(
|
|
8
28
|
:netid, :state, :receive_queue, :send_queue,
|
data/spec/unit/core/stat_spec.rb
CHANGED
|
@@ -3,6 +3,33 @@
|
|
|
3
3
|
require 'spec_helper'
|
|
4
4
|
|
|
5
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
|
+
|
|
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
|
+
expect(host).to respond_to(:dir?)
|
|
24
|
+
expect(host).to respond_to(:file?)
|
|
25
|
+
expect(host).to respond_to(:block_device?)
|
|
26
|
+
expect(host).to respond_to(:char_device?)
|
|
27
|
+
expect(host).to respond_to(:symlink?)
|
|
28
|
+
expect(host).to respond_to(:file_type?)
|
|
29
|
+
expect(host).to respond_to(:inode?)
|
|
30
|
+
expect(host).to respond_to(:stat)
|
|
31
|
+
end
|
|
32
|
+
|
|
6
33
|
it 'responds to stat fields' do
|
|
7
34
|
expect(Kanrisuru::Core::Stat::FileStat.new).to respond_to(
|
|
8
35
|
:mode, :blocks, :device, :file_type,
|
|
@@ -3,6 +3,41 @@
|
|
|
3
3
|
require 'spec_helper'
|
|
4
4
|
|
|
5
5
|
RSpec.describe Kanrisuru::Core::System 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
|
+
expect(host).to respond_to(:load_env)
|
|
24
|
+
expect(host).to respond_to(:cpu_info)
|
|
25
|
+
expect(host).to respond_to(:lscpu)
|
|
26
|
+
expect(host).to respond_to(:load_average)
|
|
27
|
+
expect(host).to respond_to(:free)
|
|
28
|
+
expect(host).to respond_to(:ps)
|
|
29
|
+
expect(host).to respond_to(:kill)
|
|
30
|
+
expect(host).to respond_to(:kernel_statistics)
|
|
31
|
+
expect(host).to respond_to(:kstat)
|
|
32
|
+
expect(host).to respond_to(:lsof)
|
|
33
|
+
expect(host).to respond_to(:last)
|
|
34
|
+
expect(host).to respond_to(:uptime)
|
|
35
|
+
expect(host).to respond_to(:w)
|
|
36
|
+
expect(host).to respond_to(:who)
|
|
37
|
+
expect(host).to respond_to(:reboot)
|
|
38
|
+
expect(host).to respond_to(:poweroff)
|
|
39
|
+
end
|
|
40
|
+
|
|
6
41
|
it 'responds to system fields' do
|
|
7
42
|
expect(Kanrisuru::Core::System::CPUArchitectureVulnerability.new).to respond_to(
|
|
8
43
|
:name,
|
|
@@ -3,6 +3,28 @@
|
|
|
3
3
|
require 'spec_helper'
|
|
4
4
|
|
|
5
5
|
RSpec.describe Kanrisuru::Core::Transfer 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
|
+
expect(host).to respond_to(:download)
|
|
24
|
+
expect(host).to respond_to(:upload)
|
|
25
|
+
expect(host).to respond_to(:wget)
|
|
26
|
+
end
|
|
27
|
+
|
|
6
28
|
it 'responds to transfer fields' do
|
|
7
29
|
expect(Kanrisuru::Core::Transfer::WGET_FILENAME_MODES).to eq(
|
|
8
30
|
%w[unix windows nocontrol ascii lowercase uppercase]
|
data/spec/unit/core/user_spec.rb
CHANGED
|
@@ -3,6 +3,31 @@
|
|
|
3
3
|
require 'spec_helper'
|
|
4
4
|
|
|
5
5
|
RSpec.describe Kanrisuru::Core::User 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
|
+
expect(host).to respond_to(:user?)
|
|
24
|
+
expect(host).to respond_to(:get_uid)
|
|
25
|
+
expect(host).to respond_to(:get_user)
|
|
26
|
+
expect(host).to respond_to(:create_user)
|
|
27
|
+
expect(host).to respond_to(:update_user)
|
|
28
|
+
expect(host).to respond_to(:delete_user)
|
|
29
|
+
end
|
|
30
|
+
|
|
6
31
|
it 'responds to user fields' do
|
|
7
32
|
expect(Kanrisuru::Core::User::User.new).to respond_to(:uid, :name, :home, :shell, :groups)
|
|
8
33
|
expect(Kanrisuru::Core::User::UserGroup.new).to respond_to(:gid, :name)
|
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])
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
RSpec.describe Kanrisuru::Remote::Cluster do
|
|
2
|
+
before(:all) do
|
|
3
|
+
StubNetwork.stub!
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
after(:all) do
|
|
7
|
+
StubNetwork.unstub!
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
let(:host1) do
|
|
11
|
+
Kanrisuru::Remote::Host.new(
|
|
12
|
+
host: 'localhost',
|
|
13
|
+
username: 'ubuntu',
|
|
14
|
+
keys: ['id_rsa']
|
|
15
|
+
)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
it 'responds to methods' do
|
|
19
|
+
cluster = Kanrisuru::Remote::Cluster.new(host1)
|
|
20
|
+
expect(cluster).to respond_to(:hosts)
|
|
21
|
+
expect(cluster).to respond_to(:[])
|
|
22
|
+
expect(cluster).to respond_to(:<<)
|
|
23
|
+
expect(cluster).to respond_to(:delete)
|
|
24
|
+
expect(cluster).to respond_to(:execute)
|
|
25
|
+
expect(cluster).to respond_to(:execute_shell)
|
|
26
|
+
expect(cluster).to respond_to(:each)
|
|
27
|
+
expect(cluster).to respond_to(:hostname)
|
|
28
|
+
expect(cluster).to respond_to(:ping?)
|
|
29
|
+
expect(cluster).to respond_to(:su)
|
|
30
|
+
expect(cluster).to respond_to(:chdir)
|
|
31
|
+
expect(cluster).to respond_to(:cd)
|
|
32
|
+
expect(cluster).to respond_to(:disconnect)
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -11,7 +11,7 @@ RSpec.describe Kanrisuru::Remote::Cpu do
|
|
|
11
11
|
StubNetwork.unstub!
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
-
let(:
|
|
14
|
+
let(:host) do
|
|
15
15
|
Kanrisuru::Remote::Host.new(
|
|
16
16
|
host: 'localhost',
|
|
17
17
|
username: 'ubuntu',
|
|
@@ -20,7 +20,7 @@ RSpec.describe Kanrisuru::Remote::Cpu do
|
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
it 'responds to methods' do
|
|
23
|
-
cpu = Kanrisuru::Remote::Cpu.new(
|
|
23
|
+
cpu = Kanrisuru::Remote::Cpu.new(host)
|
|
24
24
|
|
|
25
25
|
expect(cpu).to respond_to(:load_average)
|
|
26
26
|
expect(cpu).to respond_to(:load_average1)
|
|
@@ -47,4 +47,4 @@ RSpec.describe Kanrisuru::Remote::Cpu do
|
|
|
47
47
|
expect(cpu).to respond_to(:flags)
|
|
48
48
|
expect(cpu).to respond_to(:hyperthreading?)
|
|
49
49
|
end
|
|
50
|
-
end
|
|
50
|
+
end
|
|
File without changes
|
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.9.
|
|
4
|
+
version: 0.9.2
|
|
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-01 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: []
|
|
@@ -229,10 +244,11 @@ files:
|
|
|
229
244
|
- spec/unit/core/user_spec.rb
|
|
230
245
|
- spec/unit/core/yum_spec.rb
|
|
231
246
|
- spec/unit/core/zypper_spec.rb
|
|
232
|
-
- spec/unit/fstab_spec.rb
|
|
233
247
|
- spec/unit/kanrisuru_spec.rb
|
|
234
248
|
- spec/unit/mode_spec.rb
|
|
249
|
+
- spec/unit/remote/cluster_spec.rb
|
|
235
250
|
- spec/unit/remote/cpu_spec.rb
|
|
251
|
+
- spec/unit/remote/fstab_spec.rb
|
|
236
252
|
- spec/unit/template_spec.rb
|
|
237
253
|
- spec/unit/util_spec.rb
|
|
238
254
|
- spec/zz_reboot_spec.rb
|