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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a0ae74abc67963114dc04cc67783eaaab104ad77de4bba9dc497cd2307c92e7c
4
- data.tar.gz: 94ba0cb2da9fa973cbcf5ff0e866931b64fdd8b529f44e35e0ede06edcd47581
3
+ metadata.gz: 584b31f227df31d0a5e45ae8abd18a4a8f87f73622b78cf7a59b66878ac79d4b
4
+ data.tar.gz: c0917335ccd0955398574ad61756604e6f3516fd2e73958da733b711c16a152a
5
5
  SHA512:
6
- metadata.gz: 46b7fa66b9fceb225536604774a655f8ad332a1f1565a10005d8ba679fb2d14c894d16862535a98a555ba5a669e1f43674b61c77f8c718fea36efd4071523194
7
- data.tar.gz: b97bbdbf4a2ed6ceb0aef10f63bfc1dad44559d825bdffcc095b979aad2aa9ca3cfdab5c5a0270eb3f96b67cdd93b63d4dad032c8601dc4372ebf54209b127ca
6
+ metadata.gz: f950255db2459f0ead9452c026059723da0deca9e8688dc0efae3c11bf00f3ddc3787f246d99f3ab9cc3893b12915309d91ce2f35c3bd22b8c905a9f5d387387
7
+ data.tar.gz: 105d7d7193a037f357e14b31cc7af353a494810287b2dd557861077c27ec83cb64be3e64d2b9f49104438d0c5fe233d79374256c1a098bec8a50de335c3b20ba
data/.gitignore CHANGED
@@ -14,7 +14,6 @@
14
14
  .ruby-version
15
15
 
16
16
  *.gem
17
- coverage/*
18
17
  Gemfile.lock
19
18
  *~
20
19
  .bundle
@@ -26,3 +25,6 @@ pkg/*
26
25
  .env
27
26
  spec/dummy/tmp/*
28
27
  spec/dummy/log/*.log
28
+
29
+ coverage/*
30
+ codecov
data/CHANGELOG.md CHANGED
@@ -1,65 +1,70 @@
1
- ## Kanrisuru 0.9.1 (November 29, 2021)
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 = 'Manage remote servers over ssh with ruby.'
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'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Kanrisuru
4
- VERSION = '0.9.1'
4
+ VERSION = '0.9.2'
5
5
  end
@@ -54,4 +54,4 @@ RSpec.describe Kanrisuru::Remote::Cluster do
54
54
  expect(cluster.count).to eq(0)
55
55
  expect(cluster.hosts).not_to include(host1)
56
56
  end
57
- end
57
+ end
@@ -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
@@ -3,6 +3,9 @@
3
3
  require 'simplecov'
4
4
  SimpleCov.start
5
5
 
6
+ require 'simplecov-cobertura'
7
+ SimpleCov.formatter = SimpleCov::Formatter::CoberturaFormatter
8
+
6
9
  require 'kanrisuru'
7
10
 
8
11
  require_relative 'helper/test_hosts'
@@ -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
@@ -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(
@@ -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,
@@ -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
@@ -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)
@@ -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)
@@ -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,
@@ -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]
@@ -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)
@@ -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(:host1) do
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(host1)
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.1
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-29 00:00:00.000000000 Z
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: Manage remote servers over ssh with ruby.
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