chemtrail 0.5.0 → 0.5.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 +4 -4
- data/lib/chemtrail/matchers/have_field.rb +1 -1
- data/lib/chemtrail/matchers/have_parameter.rb +2 -2
- data/lib/chemtrail/matchers/have_property.rb +10 -2
- data/lib/chemtrail/matchers/have_resource.rb +2 -26
- data/lib/chemtrail/version.rb +1 -1
- data/script/ci.sh +2 -0
- data/spec/lib/chemtrail/section_presenter_spec.rb +7 -0
- 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: f6f3afd7c29489b71c0d0b8d2b59947a44cd472a
|
4
|
+
data.tar.gz: ed9adb837ceb0072b07e7934c2b1d2452e639852
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b304273953e18de87ef54a888c5396ebb91f9bf25d5f9f2b8f24f18c452b7e6d6a375b95bb58483406c0db84ec8e99d7cb2160fab447b852ae41df0411a4e043
|
7
|
+
data.tar.gz: 83a08006a5b810b6529dbc55fa0a267ea643a99117f627498d3279ec4a08359a48fbb4a535f10509d6f1a5e63c2fdcf8d4867355d7f4360b4ba69786fe733bbd
|
@@ -36,7 +36,7 @@ module Chemtrail::RSpec
|
|
36
36
|
expected_field = @value || @included_value
|
37
37
|
%(expected parameter #{parameter.id} field #{field_name.inspect} to have value #{expected_field.inspect}, but got #{field.inspect})
|
38
38
|
else
|
39
|
-
%(expected parameter #{parameter.id} to have
|
39
|
+
%(expected parameter #{parameter.id} to have field #{field_name.inspect})
|
40
40
|
end
|
41
41
|
end
|
42
42
|
end
|
@@ -23,9 +23,9 @@ module Chemtrail::RSpec
|
|
23
23
|
|
24
24
|
failure_message_for_should do |parameter_list|
|
25
25
|
if parameter = parameter_for(parameter_list)
|
26
|
-
%(expected
|
26
|
+
%(expected #{parameter_id.inspect} to have type #{@type.inspect}, but got #{parameter.type.inspect})
|
27
27
|
else
|
28
|
-
%(expected to find
|
28
|
+
%(expected to find #{parameter_id.inspect}, but got nothing)
|
29
29
|
end
|
30
30
|
end
|
31
31
|
end
|
@@ -9,7 +9,9 @@ module Chemtrail::RSpec
|
|
9
9
|
end
|
10
10
|
|
11
11
|
define_method :matches_value? do |property|
|
12
|
-
if @
|
12
|
+
if @finder
|
13
|
+
property == Chemtrail::Function.new("Fn::FindInMap", *@finder).to_hash
|
14
|
+
elsif @value
|
13
15
|
property == @value
|
14
16
|
elsif @reference
|
15
17
|
property.id == @reference
|
@@ -59,9 +61,15 @@ module Chemtrail::RSpec
|
|
59
61
|
@reference = reference
|
60
62
|
end
|
61
63
|
|
64
|
+
chain :with_finder do |mapping_name, key, subkey|
|
65
|
+
@finder = [mapping_name, key, subkey]
|
66
|
+
end
|
67
|
+
|
62
68
|
failure_message_for_should do |resource|
|
63
69
|
if property = property_for(resource)
|
64
|
-
if @
|
70
|
+
if @finder
|
71
|
+
%(expected resource #{resource.id} property #{property_name.inspect} to have searched #{@finder[0]} for #{@finder[1]} #{@finder[2]})
|
72
|
+
elsif @value
|
65
73
|
%(expected resource #{resource.id} property #{property_name.inspect} to have value #{@value.inspect}, but got #{property.inspect})
|
66
74
|
else
|
67
75
|
%(expected resource #{resource.id} property #{property_name.inspect} to refer to #{@reference.inspect}, but got #{property.id.inspect})
|
@@ -1,32 +1,8 @@
|
|
1
1
|
require "rspec/expectations"
|
2
|
+
require_relative "have_parameter"
|
2
3
|
|
3
4
|
module Chemtrail::RSpec
|
4
5
|
extend RSpec::Matchers::DSL
|
5
6
|
|
6
|
-
|
7
|
-
define_method :resource_for do |resource_list|
|
8
|
-
resource_list.detect { |resource| resource.id == resource_id }
|
9
|
-
end
|
10
|
-
|
11
|
-
define_method :matches_type? do |resource|
|
12
|
-
@type.nil? || resource.type == @type
|
13
|
-
end
|
14
|
-
|
15
|
-
match do |resource_list|
|
16
|
-
resource = resource_for(resource_list)
|
17
|
-
!resource.nil? && matches_type?(resource)
|
18
|
-
end
|
19
|
-
|
20
|
-
chain :with_type do |type|
|
21
|
-
@type = type
|
22
|
-
end
|
23
|
-
|
24
|
-
failure_message_for_should do |resource_list|
|
25
|
-
if resource = resource_for(resource_list)
|
26
|
-
%(expected resource #{resource_id.inspect} to have type #{@type.inspect}, but got #{resource.type.inspect})
|
27
|
-
else
|
28
|
-
%(expected to find resource #{resource_id.inspect}, but got nothing)
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
7
|
+
alias :have_resource :have_parameter
|
32
8
|
end
|
data/lib/chemtrail/version.rb
CHANGED
data/script/ci.sh
CHANGED
@@ -18,5 +18,12 @@ describe Chemtrail::SectionPresenter do
|
|
18
18
|
|
19
19
|
its(:to_hash) { should == {"Socks" => {tacos: "great"}} }
|
20
20
|
end
|
21
|
+
|
22
|
+
context "when there are two entries" do
|
23
|
+
let(:other_entry) { double(:entry, to_hash: {teeth: "amazing"}) }
|
24
|
+
let(:entries) { [entry, other_entry] }
|
25
|
+
|
26
|
+
its(:to_hash) { should == {"Socks" => {tacos: "great", teeth: "amazing"}} }
|
27
|
+
end
|
21
28
|
end
|
22
29
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chemtrail
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Doc Ritezel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-01-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-core
|