specinfra 2.35.0 → 2.35.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f71af3de0c2dd150a9ccb225f2d5a64c26d218d7
4
- data.tar.gz: dd953b030f50b05dafef1c93fcb05ca6b96f2660
3
+ metadata.gz: 14e06d19c0a3038546153e4085ad0becd03b94f9
4
+ data.tar.gz: ccc0e91ca160daf01e681b277f82976d76edfd46
5
5
  SHA512:
6
- metadata.gz: 6a42296f05370abc91650698bc4238cd4cf6fc529b03d9a4a8a0ed927639deeba1a368bb44b4d6478183bae15438c1ba69003126a3b0e7cf6d2532a47fe0b881
7
- data.tar.gz: 4d797f54fd069f295ce0d86735a4b1380114ffff951c768af2862351bac9926386da3c04fac7784c52b07ade2ebe52b54d9bca062ad0d278ac39663430c0a1b5
6
+ metadata.gz: 8ea4a629909c618faf67f9b9c3a4e966059f3e066db749b290a18620f7b90c5bdf4eca337e677a196ee174ffd6fec8b5427bdccdc0a770b2e6a5a486c61834a7
7
+ data.tar.gz: c436115f88456d1c30b4fcc62a377a5f4f6bf4052cc6248f9b2361436eb97594d98a0d389e5b0db45d575b79396ce5948ab16379ce1fceee70c96a3d455cf183
@@ -5,6 +5,13 @@ class Specinfra::Command::Windows::Base
5
5
  end
6
6
 
7
7
  private
8
+ def create_command(command, using_ps1 = nil)
9
+ Backend::PowerShell::Command.new do
10
+ using using_ps1 if using_ps1
11
+ exec command
12
+ end
13
+ end
14
+
8
15
  def windows_account account
9
16
  match = /((.+)\\)?(.+)/.match account
10
17
  domain = match[2]
@@ -11,18 +11,18 @@ class Specinfra::Command::Windows::Base::RegistryKey < Specinfra::Command::Windo
11
11
 
12
12
  def check_exists(key_name)
13
13
  cmd = "(Get-Item 'Registry::#{key_name}') -ne $null"
14
- Backend::PowerShell::Command.new { exec cmd }
14
+ create_command cmd
15
15
  end
16
16
 
17
17
  def check_has_property(key_name, key_property)
18
- cmd = "(Get-Item 'Registry::#{key_name}').GetValueKind('#{key_property[:name]}') -eq '#{get_key_type([key_property[:type]])}'"
19
- Backend::PowerShell::Command.new { exec cmd }
18
+ cmd = "(Get-Item 'Registry::#{key_name}').GetValueKind('#{key_property[:name]}') -eq '#{get_key_type(key_property[:type])}'"
19
+ create_command cmd
20
20
  end
21
21
 
22
22
  def check_has_value(key_name, key_property)
23
23
  value = convert_key_property_value key_property
24
24
  cmd = "(Compare-Object (Get-Item 'Registry::#{key_name}').GetValue('#{key_property[:name]}') #{value}) -eq $null"
25
- Backend::PowerShell::Command.new { exec cmd }
25
+ create_command cmd
26
26
  end
27
27
 
28
28
  private
@@ -31,11 +31,11 @@ class Specinfra::Command::Windows::Base::RegistryKey < Specinfra::Command::Windo
31
31
  end
32
32
 
33
33
  def get_key_type(key_type)
34
- REGISTRY_KEY_TYPES[key_type.to_s.gsub("_converted").to_sym]
34
+ REGISTRY_KEY_TYPES[key_type.to_s.gsub("_converted",'').to_sym]
35
35
  end
36
36
 
37
37
  def convert_key_property_value property
38
- return property if do_not_convert? property[:type]
38
+ return property[:value] if do_not_convert? property[:type]
39
39
  case property[:type]
40
40
  when :type_binary
41
41
  byte_array = [property[:value]].pack('H*').bytes.to_a
@@ -1,3 +1,3 @@
1
1
  module Specinfra
2
- VERSION = "2.35.0"
2
+ VERSION = "2.35.1"
3
3
  end
@@ -0,0 +1,36 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe Specinfra::Command::Windows::Base::RegistryKey do
4
+ let(:key_path) { "HKLM\\Software\\Microsoft\\Windows" }
5
+
6
+ def stub_exec (command)
7
+ expect(described_class).to receive(:create_command).with(command)
8
+ end
9
+
10
+ describe 'has_property?' do
11
+ it {
12
+ stub_exec "(Get-Item 'Registry::#{key_path}') -ne $null"
13
+ described_class.check_exists(key_path)
14
+ }
15
+ end
16
+
17
+ [:type_dword, :type_dword_converted].each do |reg_type|
18
+ it "has_property_value #{reg_type}" do
19
+ prop = {:name => 'CurrentVersion', :type => reg_type}
20
+ stub_exec "(Get-Item 'Registry::#{key_path}').GetValueKind('CurrentVersion') -eq 'DWord'"
21
+ described_class.check_has_property key_path, prop
22
+ end
23
+ end
24
+ [:type_dword, :type_dword_converted].each do |reg_type|
25
+ describe 'check_has_value' do
26
+ it {
27
+ value = reg_type == :type_dword_converted ? "23" : "17"
28
+ prop = {:name => 'CurrentVersion', :type => reg_type, :value => value}
29
+ cmd = "(Compare-Object (Get-Item 'Registry::#{key_path}').GetValue('CurrentVersion') 23) -eq $null"
30
+ stub_exec cmd
31
+ described_class.check_has_value key_path, prop
32
+ }
33
+ end
34
+ end
35
+
36
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: specinfra
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.35.0
4
+ version: 2.35.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gosuke Miyashita
@@ -423,6 +423,7 @@ files:
423
423
  - spec/command/redhat/service_spec.rb
424
424
  - spec/command/redhat7/service_spec.rb
425
425
  - spec/command/ubuntu/ppa_spec.rb
426
+ - spec/command/windows/registry_key_spec.rb
426
427
  - spec/configuration_spec.rb
427
428
  - spec/helper/detect_os/esxi_spec.rb
428
429
  - spec/helper/os_spec.rb
@@ -488,6 +489,7 @@ test_files:
488
489
  - spec/command/redhat/service_spec.rb
489
490
  - spec/command/redhat7/service_spec.rb
490
491
  - spec/command/ubuntu/ppa_spec.rb
492
+ - spec/command/windows/registry_key_spec.rb
491
493
  - spec/configuration_spec.rb
492
494
  - spec/helper/detect_os/esxi_spec.rb
493
495
  - spec/helper/os_spec.rb