specinfra 2.82.17 → 2.82.22

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
- SHA1:
3
- metadata.gz: 4140ff67c6bbcbf8a39f69318942ebaa596d1e86
4
- data.tar.gz: 728c324fd0b36d219c2d1d51af5daa74f6901db9
2
+ SHA256:
3
+ metadata.gz: de49bdd9fd6857b6cf500325aacc404eaf0c9eac696ff6b4a72d3b22aa5adf14
4
+ data.tar.gz: 5f047ed2ddc78b139f15fc29531b8ae52fdf184c87abd3011e35280d8fcf851b
5
5
  SHA512:
6
- metadata.gz: 26c567c8c1a184ef52addfe2fd0d1b62e266445ce03ad5509a7539de359cc5229f56b2cf1e44235976e2eecc02fecc18068e72c5a885387dd9479e25b8fa9306
7
- data.tar.gz: b85480d49c615c2a5bf66774d83adb6d5ecfd6f3383dda435a093908627f29a210ea51ff2e394ab4ff4927de8fe7851a4177febd5c13a3ec043acf9752a280e3
6
+ metadata.gz: 7cc5c36ee688c840f61f65e6e2b5776393cd539df7bc505eca2ce533bfb9eb01ee739bfcecae8a17bb710f3384a35c983a3f8194f4edf5acfdbe4566dee01cd6
7
+ data.tar.gz: 761f275ff8a9e0fa09b6b9dc28984bdcb2b0263e29c2254112b3814e9c1dd2750f8a9b997665846964928614bb997adb4f1469dfc35ba6dd114777f22bc15214
@@ -0,0 +1,21 @@
1
+ function FindInstalledGem
2
+ {
3
+ param($gemName, $gemVersion)
4
+
5
+ $nameVer = $(Invoke-Expression "gem list --local" | Select-String "^$gemName").Line
6
+ if ($nameVer.StartsWith($gemName)) {
7
+ if ($gemVersion) {
8
+ $versions = ($nameVer -split { $_ -eq "(" -or $_ -eq ")"})[1].split(" ")
9
+ if ($versions.Contains($gemVersion)) {
10
+ $true
11
+ } else {
12
+ $false
13
+ }
14
+ } else {
15
+ $true
16
+ }
17
+ } else {
18
+ $false
19
+ }
20
+ }
21
+
@@ -6,9 +6,10 @@ function IsPortListening
6
6
  [array] $networkIPs += "0.0.0.0"
7
7
  [array] $networkIPs += "127.0.0.1"
8
8
  [array] $networkIPs += "[::1]"
9
+ [array] $networkIPs += "[::]"
9
10
  foreach ($ipaddress in $networkIPs)
10
11
  {
11
- $matchExpression = ("$ipaddress" + ":" + $portNumber + ".*LISTENING")
12
+ $matchExpression = ("$ipaddress" + ":" + $portNumber + ".*(LISTENING|\*:\*)")
12
13
  if ($protocol) { $matchExpression = ($protocol.toUpper() + "\s+$matchExpression") }
13
14
  if ($netstatOutput -match $matchExpression) { return $true }
14
15
  }
@@ -4,8 +4,16 @@ class Specinfra::Command::Darwin::Base::Service < Specinfra::Command::Base::Serv
4
4
  "launchctl list | grep #{escape(service)}"
5
5
  end
6
6
 
7
+ def check_is_enabled_under_homebrew(service)
8
+ "brew services list | grep #{escape(service)}"
9
+ end
10
+
7
11
  def check_is_running(service)
8
12
  "launchctl list | grep #{escape(service)} | grep -E '^[0-9]+'"
9
13
  end
14
+
15
+ def check_is_running_under_homebrew(service)
16
+ "brew services list | grep #{escape(service)} | grep 'started'"
17
+ end
10
18
  end
11
19
  end
@@ -22,7 +22,15 @@ module Specinfra
22
22
  if local_address == '0.0.0.0'
23
23
  [ '\*' , '0\.0\.0\.0' ]
24
24
  else
25
- [ local_address ]
25
+ [ fix_format_if_ipv6(local_address) ]
26
+ end
27
+ end
28
+
29
+ def fix_format_if_ipv6(local_address)
30
+ if local_address =~ /.*:.*/
31
+ "\\[#{local_address}\\]"
32
+ else
33
+ local_address
26
34
  end
27
35
  end
28
36
 
@@ -7,5 +7,13 @@ class Specinfra::Command::Windows::Base::Package < Specinfra::Command::Windows::
7
7
  exec "(FindInstalledApplication -appName '#{package}' #{version_selection}) -eq $true"
8
8
  end
9
9
  end
10
+
11
+ def check_is_installed_by_gem(name, version=nil, gem_binary="gem")
12
+ version_selection = version.nil? ? "" : "-gemVersion '#{version}'"
13
+ Backend::PowerShell::Command.new do
14
+ using 'find_installed_gem.ps1'
15
+ exec "(FindInstalledGem -gemName '#{name}' #{version_selection}) -eq $true"
16
+ end
17
+ end
10
18
  end
11
19
  end
@@ -32,7 +32,7 @@ module Specinfra
32
32
 
33
33
  def parse_system_product_name(ret)
34
34
  product_name = case ret
35
- when /.*VMware Virtual Platform/
35
+ when /.*(VMware Virtual Platform|VMware7,1)/
36
36
  'vmware'
37
37
  when /.*VirtualBox/
38
38
  'vbox'
@@ -1,3 +1,3 @@
1
1
  module Specinfra
2
- VERSION = "2.82.17"
2
+ VERSION = "2.82.22"
3
3
  end
@@ -14,15 +14,15 @@ describe Specinfra::Command::Module::Ss do
14
14
 
15
15
  it { expect(klass.check_is_listening('80', options={:local_address => '0.0.0.0'})).to eq 'ss -tunl | grep -E -- \ \\\\\*:80\ \\|\\ 0\\\\.0\\\\.0\\\\.0:80\\ ' }
16
16
  it { expect(klass.check_is_listening('80', options={:local_address => '0.0.0.0', :protocol => 'tcp'})).to eq 'ss -tnl4 | grep -E -- \ \\\\\*:80\ \\|\\ 0\\\\.0\\\\.0\\\\.0:80\\ ' }
17
- it { expect(klass.check_is_listening('80', options={:local_address => '0.0.0.0', :protocol => 'tcp6'})).to eq 'ss -tnl6 | grep -E -- \ \\\\\*:80\ \\|\\ 0\\\\.0\\\\.0\\\\.0:80\\ ' }
17
+ it { expect(klass.check_is_listening('80', options={:local_address => '::', :protocol => 'tcp6'})).to eq 'ss -tnl6 | grep -E -- \ \\\\\\[::\\\\\\]:80\ ' }
18
18
  it { expect(klass.check_is_listening('80', options={:local_address => '0.0.0.0', :protocol => 'udp'})).to eq 'ss -unl4 | grep -E -- \ \\\\\*:80\ \\|\\ 0\\\\.0\\\\.0\\\\.0:80\\ ' }
19
- it { expect(klass.check_is_listening('80', options={:local_address => '0.0.0.0', :protocol => 'udp6'})).to eq 'ss -unl6 | grep -E -- \ \\\\\*:80\ \\|\\ 0\\\\.0\\\\.0\\\\.0:80\\ ' }
19
+ it { expect(klass.check_is_listening('80', options={:local_address => '::', :protocol => 'udp6'})).to eq 'ss -unl6 | grep -E -- \ \\\\\\[::\\\\\\]:80\ ' }
20
20
 
21
21
  it { expect(klass.check_is_listening('80', options={:local_address => '1.2.3.4'})).to eq 'ss -tunl | grep -E -- \ 1.2.3.4:80\ ' }
22
- it { expect(klass.check_is_listening('80', options={:local_address => '1.2.3.4', :protocol => 'tcp'})).to eq 'ss -tnl4 | grep -E -- \ 1.2.3.4:80\ ' }
23
- it { expect(klass.check_is_listening('80', options={:local_address => '1.2.3.4', :protocol => 'tcp6'})).to eq 'ss -tnl6 | grep -E -- \ 1.2.3.4:80\ ' }
22
+ it { expect(klass.check_is_listening('80', options={:local_address => '1.2.3.4', :protocol => 'tcp'})).to eq 'ss -tnl4 | grep -E -- \\ 1.2.3.4:80\ ' }
23
+ it { expect(klass.check_is_listening('80', options={:local_address => '2001:db8:dead:beef::1', :protocol => 'tcp6'})).to eq 'ss -tnl6 | grep -E -- \ \\\\\\[2001:db8:dead:beef::1\\\\\\]:80\ ' }
24
24
  it { expect(klass.check_is_listening('80', options={:local_address => '1.2.3.4', :protocol => 'udp'})).to eq 'ss -unl4 | grep -E -- \ 1.2.3.4:80\ ' }
25
- it { expect(klass.check_is_listening('80', options={:local_address => '1.2.3.4', :protocol => 'udp6'})).to eq 'ss -unl6 | grep -E -- \ 1.2.3.4:80\ ' }
25
+ it { expect(klass.check_is_listening('80', options={:local_address => '2001:db8:dead:beef::1', :protocol => 'udp6'})).to eq 'ss -unl6 | grep -E -- \ \\\\\\[2001:db8:dead:beef::1\\\\\\]:80\ ' }
26
26
 
27
27
  it { expect{klass.check_is_listening('80', options={:protocol => 'bad_proto'})}.to raise_error(ArgumentError, 'Unknown protocol [bad_proto]') }
28
28
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: specinfra
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.82.17
4
+ version: 2.82.22
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gosuke Miyashita
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-14 00:00:00.000000000 Z
11
+ date: 2020-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-scp
@@ -135,6 +135,7 @@ files:
135
135
  - lib/specinfra/backend/powershell/support/find_group.ps1
136
136
  - lib/specinfra/backend/powershell/support/find_iis_component.ps1
137
137
  - lib/specinfra/backend/powershell/support/find_installed_application.ps1
138
+ - lib/specinfra/backend/powershell/support/find_installed_gem.ps1
138
139
  - lib/specinfra/backend/powershell/support/find_installed_hot_fix.ps1
139
140
  - lib/specinfra/backend/powershell/support/find_scheduled_task.ps1
140
141
  - lib/specinfra/backend/powershell/support/find_service.ps1
@@ -613,7 +614,7 @@ homepage: https://github.com/mizzy/specinfra
613
614
  licenses:
614
615
  - MIT
615
616
  metadata: {}
616
- post_install_message:
617
+ post_install_message:
617
618
  rdoc_options: []
618
619
  require_paths:
619
620
  - lib
@@ -628,9 +629,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
628
629
  - !ruby/object:Gem::Version
629
630
  version: '0'
630
631
  requirements: []
631
- rubyforge_project:
632
- rubygems_version: 2.5.1
633
- signing_key:
632
+ rubygems_version: 3.1.2
633
+ signing_key:
634
634
  specification_version: 4
635
635
  summary: Common layer for serverspec and itamae
636
636
  test_files: