train 0.31.1 → 0.32.0
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 +4 -4
- data/CHANGELOG.md +15 -2
- data/lib/train/platforms/platform.rb +17 -4
- data/lib/train/transports/mock.rb +1 -3
- data/lib/train/version.rb +1 -1
- data/test/unit/platforms/platform_test.rb +9 -3
- data/test/unit/transports/mock_test.rb +1 -0
- data/test/windows/local_test.rb +1 -1
- data/test/windows/winrm_test.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6fc74b66a02b98fd67a644a04eb0e5f2186a1826
|
4
|
+
data.tar.gz: 131969604ad1bc09e8189c341fbbcca6d27c2315
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 291bcb6b64d9d02da399f3f99e6d7dbde34cf5049601712559e79b7d4118bf55d78201c9d70564f5f90c7e88ef516f7f59b19ac0046a21c2c1202eb144201a8c
|
7
|
+
data.tar.gz: e8f7a849c58abfc84bdd01e282b43bef1d6fc2766d26293c9eee414a136ad8b8875b6b0f464cd682a29df81692bfbdc7c13014622442159b51cbac94a13a2611
|
data/CHANGELOG.md
CHANGED
@@ -1,10 +1,23 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
-
## [0.
|
4
|
-
[Full Changelog](https://github.com/chef/train/compare/v0.31.
|
3
|
+
## [0.32.0](https://github.com/chef/train/tree/0.32.0) (2018-01-04)
|
4
|
+
[Full Changelog](https://github.com/chef/train/compare/v0.31.1...0.32.0)
|
5
|
+
|
6
|
+
**Fixed bugs:**
|
7
|
+
|
8
|
+
- platform names should be lower case [\#191](https://github.com/chef/train/issues/191)
|
9
|
+
- Return platform name that is lower case and underscored [\#228](https://github.com/chef/train/pull/228) ([jquick](https://github.com/jquick))
|
10
|
+
|
11
|
+
**Merged pull requests:**
|
12
|
+
|
13
|
+
- Set mock transport to use the platform instance variable [\#230](https://github.com/chef/train/pull/230) ([jquick](https://github.com/jquick))
|
14
|
+
|
15
|
+
## [v0.31.1](https://github.com/chef/train/tree/v0.31.1) (2017-12-06)
|
16
|
+
[Full Changelog](https://github.com/chef/train/compare/v0.31.0...v0.31.1)
|
5
17
|
|
6
18
|
**Merged pull requests:**
|
7
19
|
|
20
|
+
- Release 0.31.1 [\#226](https://github.com/chef/train/pull/226) ([adamleff](https://github.com/adamleff))
|
8
21
|
- Allow runner specifications for local connections [\#225](https://github.com/chef/train/pull/225) ([jerryaldrichiii](https://github.com/jerryaldrichiii))
|
9
22
|
|
10
23
|
## [v0.31.0](https://github.com/chef/train/tree/v0.31.0) (2017-12-05)
|
@@ -25,7 +25,16 @@ module Train::Platforms
|
|
25
25
|
def name
|
26
26
|
# Override here incase a updated name was set
|
27
27
|
# during the detect logic
|
28
|
-
|
28
|
+
clean_name
|
29
|
+
end
|
30
|
+
|
31
|
+
def clean_name(force: false)
|
32
|
+
@cleaned_name = nil if force
|
33
|
+
@cleaned_name ||= begin
|
34
|
+
name = (@platform[:name] || @name)
|
35
|
+
name.downcase!.tr!(' ', '_') if name =~ /[A-Z ]/
|
36
|
+
name
|
37
|
+
end
|
29
38
|
end
|
30
39
|
|
31
40
|
# This is for backwords compatability with
|
@@ -53,6 +62,10 @@ module Train::Platforms
|
|
53
62
|
# This is done later to add any custom
|
54
63
|
# families/properties that were created
|
55
64
|
def add_platform_methods
|
65
|
+
# Redo clean name if there is a detect override
|
66
|
+
clean_name(force: true) unless @platform[:name].nil?
|
67
|
+
|
68
|
+
# Add in family methods
|
56
69
|
family_list = Train::Platforms.families
|
57
70
|
family_list.each_value do |k|
|
58
71
|
next if respond_to?(k.name + '?')
|
@@ -70,9 +83,9 @@ module Train::Platforms
|
|
70
83
|
end
|
71
84
|
|
72
85
|
# Create method for name if its not already true
|
73
|
-
|
74
|
-
return if respond_to?(
|
75
|
-
define_singleton_method(
|
86
|
+
m = name + '?'
|
87
|
+
return if respond_to?(m)
|
88
|
+
define_singleton_method(m) do
|
76
89
|
true
|
77
90
|
end
|
78
91
|
end
|
@@ -57,8 +57,6 @@ end
|
|
57
57
|
|
58
58
|
class Train::Transports::Mock
|
59
59
|
class Connection < BaseConnection
|
60
|
-
attr_reader :os
|
61
|
-
|
62
60
|
def initialize(conf = nil)
|
63
61
|
super(conf)
|
64
62
|
mock_os
|
@@ -80,7 +78,7 @@ class Train::Transports::Mock
|
|
80
78
|
platform.family_hierarchy = mock_os_hierarchy(platform).flatten
|
81
79
|
platform.platform = value
|
82
80
|
platform.add_platform_methods
|
83
|
-
@
|
81
|
+
@platform = platform
|
84
82
|
end
|
85
83
|
|
86
84
|
def mock_os_hierarchy(plat)
|
data/lib/train/version.rb
CHANGED
@@ -34,13 +34,19 @@ describe 'platform' do
|
|
34
34
|
plat.title.must_equal('The Best Mock')
|
35
35
|
end
|
36
36
|
|
37
|
+
it 'clean init name' do
|
38
|
+
plat = mock_platform_family('Mo ck')
|
39
|
+
plat.name.must_equal('mo_ck')
|
40
|
+
end
|
41
|
+
|
37
42
|
it 'set name and name override' do
|
38
43
|
plat = mock_platform_family('mock')
|
39
44
|
plat.name.must_equal('mock')
|
40
45
|
plat[:name].must_equal('mock')
|
41
|
-
plat.platform[:name] = '
|
42
|
-
plat.
|
43
|
-
plat
|
46
|
+
plat.platform[:name] = 'Mock 2020'
|
47
|
+
plat.add_platform_methods
|
48
|
+
plat.name.must_equal('mock_2020')
|
49
|
+
plat[:name].must_equal('mock_2020')
|
44
50
|
end
|
45
51
|
|
46
52
|
it 'check families' do
|
@@ -83,6 +83,7 @@ describe 'mock transport' do
|
|
83
83
|
describe 'when accessing a mocked os' do
|
84
84
|
it 'has the default mock os faily set to mock' do
|
85
85
|
connection.os[:name].must_equal 'mock'
|
86
|
+
connection.platform[:name].must_equal 'mock'
|
86
87
|
end
|
87
88
|
|
88
89
|
it 'sets the OS to the mocked value' do
|
data/test/windows/local_test.rb
CHANGED
@@ -25,7 +25,7 @@ describe 'windows local command' do
|
|
25
25
|
|
26
26
|
it 'verify os' do
|
27
27
|
os = conn.os
|
28
|
-
os[:name].must_equal '
|
28
|
+
os[:name].must_equal 'windows_server_2012_r2_datacenter'
|
29
29
|
os[:family].must_equal "windows"
|
30
30
|
os[:release].must_equal '6.3.9600'
|
31
31
|
os[:arch].must_equal 'x86_64'
|
data/test/windows/winrm_test.rb
CHANGED
@@ -27,7 +27,7 @@ describe 'windows winrm command' do
|
|
27
27
|
|
28
28
|
it 'verify os' do
|
29
29
|
os = conn.os
|
30
|
-
os[:name].must_equal '
|
30
|
+
os[:name].must_equal 'windows_server_2012_r2_datacenter'
|
31
31
|
os[:family].must_equal 'windows'
|
32
32
|
os[:release].must_equal '6.3.9600'
|
33
33
|
os[:arch].must_equal 'x86_64'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: train
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.32.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dominik Richter
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-01-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|