chemtrail 0.5.0 → 0.5.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: 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