kanrisuru 0.9.1 → 0.9.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
[![Latest version](https://img.shields.io/gem/v/kanrisuru?style=flat-square)](https://rubygems.org/gems/kanrisuru)
|
2
2
|
[![Latest version](https://img.shields.io/github/license/avamia/kanrisuru)](https://github.com/avamia/kanrisuru/blob/main/LICENSE.txt)
|
3
3
|
![GitHub repo size](https://img.shields.io/github/repo-size/avamia/kanrisuru)
|
4
|
+
![Codecov](https://img.shields.io/codecov/c/gh/avamia/kanrisuru?token=2Q1BE106B2)
|
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
|