kitchen-chef-extended-attributes 0.1.0 → 0.2.0

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: 044844b384d0ef8f6ef26d3dede410b5c372cf61
4
- data.tar.gz: 1edbfdb07ab360e3e8c1817481d16acd31453939
3
+ metadata.gz: 1e286ac2af2db2c43d020910a5648a8632c8d524
4
+ data.tar.gz: f84ac1bfa62d9fd01840948230c880179f8b676f
5
5
  SHA512:
6
- metadata.gz: 4c643d69486c6f0d428070b534cdf55a73e50e0ae200129504d82052d221edc09e47a978812b22885c5aac8ebddf107e07d867d53491d5be2bbb607ed8003642
7
- data.tar.gz: 6c3bedb4628a8bfb1f810865c2406e060b48b027edea02c528f9cae3eee66fa63f037b252394e9cdd060dd7cfcee13a4c060b9b613c17e2de4d89c07311b30e9
6
+ metadata.gz: 34488a38b31b9dc598a920993201c890c875f4aa87bae4f692e3c469a617325b5b731a51e190f7750b3626ab86dcdefb4c2c87db9212250d9b976e1141c3b013
7
+ data.tar.gz: aa087e40fae73064e86b5329a28ac1ab29d003fe00229a13bfd2810a2efa8f944dc18c5cfe8547dbfbd8034c9bd85511884ec051893e59cd031c4996285f6aed
@@ -1,5 +1,11 @@
1
1
  # kitchen-chef-extended-attributes
2
2
 
3
- ## v0.1.0 (unreleased)
3
+ ## v0.2.0 (2015-02-12)
4
+
5
+ Bugfixes:
6
+
7
+ * Corrected an important issue with merging attributes not correctly merging symbol and string keys together, creating duplicate keys in the JSON
8
+
9
+ ## v0.1.0 (2015-02-09)
4
10
 
5
11
  Initial release of extension - provides overwrite and merge of JSON files
data/README.md CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  [![Circle CI](https://circleci.com/gh/jeremyolliver/kitchen-chef-extended-attributes.svg?style=shield)](https://circleci.com/gh/jeremyolliver/kitchen-chef-extended-attributes)
4
4
  [![Code Climate](https://codeclimate.com/github/jeremyolliver/kitchen-chef-extended-attributes/badges/gpa.svg)](https://codeclimate.com/github/jeremyolliver/kitchen-chef-extended-attributes)
5
+ [![Gem Version](https://badge.fury.io/rb/kitchen-chef-extended-attributes.svg)](http://badge.fury.io/rb/kitchen-chef-extended-attributes)
5
6
 
6
7
  ## Use Case
7
8
 
@@ -31,7 +31,8 @@ module Kitchen
31
31
  info("merging #{instance.suite.name}.json and kitchen attributes")
32
32
 
33
33
  custom_json = JSON.parse(File.read(source_file))
34
- merged_json = custom_json.merge(config[:attributes])
34
+ kitchen_attrs = Kitchen::Util.stringified_hash(config[:attributes])
35
+ merged_json = custom_json.merge(kitchen_attrs)
35
36
  merged_json['run_list'] ||= []
36
37
  merged_json['run_list'] += (config[:run_list] || [])
37
38
 
@@ -0,0 +1,10 @@
1
+ require 'minitest/spec'
2
+
3
+ describe_recipe 'extended_attributes_test::clearingattributes' do
4
+ it 'should not have the license key present' do
5
+ file('/tmp/kitchen/dna.json').wont_match 'defaultkey'
6
+ merged_json_data = JSON.parse(File.read('/tmp/kitchen/dna.json'))
7
+ merged_json_data.keys.sort.must_equal ['run_list', 'service']
8
+ merged_json_data['service'].must_equal({'license_key' => nil})
9
+ end
10
+ end
@@ -4,6 +4,7 @@ describe_recipe 'extended_attributes_test::kitchenmerged' do
4
4
  it 'should give higher precendence to attributes in kitchen.yml' do
5
5
  merged_json_data = JSON.parse(File.read('/tmp/kitchen/dna.json'))
6
6
  merged_json_data['valuefromdna'].must_equal 'overridden'
7
+ merged_json_data.keys.sort.must_equal ['run_list', 'valuefromdna']
7
8
  end
8
9
 
9
10
  it 'should include run_list items from dna JSON file' do
@@ -2,7 +2,7 @@ require 'minitest/spec'
2
2
 
3
3
  describe_recipe 'extended_attributes_test::kitchenoverride' do
4
4
  it 'should not contain attributes from kitchen.yml' do
5
- file('/tmp/kitchen/dna.json').must_not_match 'shouldnevershowup'
5
+ file('/tmp/kitchen/dna.json').wont_match 'shouldnevershowup'
6
6
  end
7
7
 
8
8
  it 'should include attributes from dna JSON file' do
@@ -0,0 +1 @@
1
+ include_recipe 'minitest-handler'
@@ -0,0 +1,5 @@
1
+ {
2
+ "service": {
3
+ "license_key": "defaultkey"
4
+ }
5
+ }
@@ -1,3 +1,6 @@
1
1
  {
2
- "valuefromdna": "default"
2
+ "valuefromdna": "default",
3
+ "run_list": [
4
+ "recipe[extended_attributes_test::kitchenoverride]"
5
+ ]
3
6
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kitchen-chef-extended-attributes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Olliver
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-09 00:00:00.000000000 Z
11
+ date: 2015-02-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: test-kitchen
@@ -81,13 +81,16 @@ files:
81
81
  - LICENSE.txt
82
82
  - README.md
83
83
  - CHANGELOG.md
84
+ - test/cookbooks/extended_attributes_test/files/default/test/clearingattributes_test.rb
84
85
  - test/cookbooks/extended_attributes_test/files/default/test/default_test.rb
85
86
  - test/cookbooks/extended_attributes_test/files/default/test/kitchenmerged_test.rb
86
87
  - test/cookbooks/extended_attributes_test/files/default/test/kitchenoverride_test.rb
87
88
  - test/cookbooks/extended_attributes_test/metadata.rb
89
+ - test/cookbooks/extended_attributes_test/recipes/clearingattributes.rb
88
90
  - test/cookbooks/extended_attributes_test/recipes/default.rb
89
91
  - test/cookbooks/extended_attributes_test/recipes/kitchenmerged.rb
90
92
  - test/cookbooks/extended_attributes_test/recipes/kitchenoverride.rb
93
+ - test/nodes/clearingattributes.json
91
94
  - test/nodes/default.json
92
95
  - test/nodes/kitchenmerged.json
93
96
  - test/nodes/kitchenoverride.json
@@ -116,13 +119,16 @@ signing_key:
116
119
  specification_version: 4
117
120
  summary: test-kitchen chef-solo integrated with dna.json files from your repo
118
121
  test_files:
122
+ - test/cookbooks/extended_attributes_test/files/default/test/clearingattributes_test.rb
119
123
  - test/cookbooks/extended_attributes_test/files/default/test/default_test.rb
120
124
  - test/cookbooks/extended_attributes_test/files/default/test/kitchenmerged_test.rb
121
125
  - test/cookbooks/extended_attributes_test/files/default/test/kitchenoverride_test.rb
122
126
  - test/cookbooks/extended_attributes_test/metadata.rb
127
+ - test/cookbooks/extended_attributes_test/recipes/clearingattributes.rb
123
128
  - test/cookbooks/extended_attributes_test/recipes/default.rb
124
129
  - test/cookbooks/extended_attributes_test/recipes/kitchenmerged.rb
125
130
  - test/cookbooks/extended_attributes_test/recipes/kitchenoverride.rb
131
+ - test/nodes/clearingattributes.json
126
132
  - test/nodes/default.json
127
133
  - test/nodes/kitchenmerged.json
128
134
  - test/nodes/kitchenoverride.json