specinfra 2.35.0 → 2.35.1

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
  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