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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9cea4ac78802e46bcfa27fd2d3ce436f104dbd89
4
- data.tar.gz: 35c9eeaf91b64f21d96299b1833a968176ce7c92
3
+ metadata.gz: f6f3afd7c29489b71c0d0b8d2b59947a44cd472a
4
+ data.tar.gz: ed9adb837ceb0072b07e7934c2b1d2452e639852
5
5
  SHA512:
6
- metadata.gz: a1554bfd2d565f01113e4c2461320d74994dfd1a65afdcc2b6a41edb5545d78b04ea1fdb649cc84a568296341cb5f6e6d9521d15da6ab55472e9bbcc31aa91a0
7
- data.tar.gz: bd66df7c9d4448ce81e6e12d7d8771072a2374bb9a74bcd84c52aa61c8c897c84e3f813deac044025c926ccb181e8ef8e2302441f001d5a9414d4fc7ede1af99
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 type #{field_name.inspect})
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 parameter #{parameter_id.inspect} to have type #{@type.inspect}, but got #{parameter.type.inspect})
26
+ %(expected #{parameter_id.inspect} to have type #{@type.inspect}, but got #{parameter.type.inspect})
27
27
  else
28
- %(expected to find parameter #{parameter_id.inspect}, but got nothing)
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 @value
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 @value
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
- matcher :have_resource do |resource_id|
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
@@ -1,3 +1,3 @@
1
1
  module Chemtrail
2
- VERSION = "0.5.0"
2
+ VERSION = "0.5.1"
3
3
  end
@@ -1,3 +1,5 @@
1
1
  #!/bin/bash
2
2
 
3
3
  bundle exec rspec
4
+
5
+ cd examples && bundle exec rspec
@@ -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.0
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: 2013-12-17 00:00:00.000000000 Z
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