cloudformer 0.0.11 → 0.0.12

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: 97c0ebd927bd0827047330b59ece651cca71605f
4
- data.tar.gz: d28f7fddddf0bb0fc9a325ed13c963f3afb73f52
3
+ metadata.gz: 1a3ea4d7e5a5d60b004184dea02fa6f7b59647a5
4
+ data.tar.gz: a8a98dabb72b72f68f4fdb2cd0596acd8472af97
5
5
  SHA512:
6
- metadata.gz: e99bd60c7d6f380cd3fbe0cb9234df3548575e4d59100e7005b7933c3aad0599dcbb2957f6d92805b98d50468dd9fc972aa0edc2c87a8d56e81f1039bb295eb8
7
- data.tar.gz: 8b6fb6d5283446de6cbc4442f86f0953eabdf448b77663903a35f901c8a4ee1ad7d6b2fcf45ce153a22c865071a902239590a24f9e975a81a8315d5f3eecdcd2
6
+ metadata.gz: e612cfe8276f8a1a7e50a73bc900a7801de0a35f35341d57806bc566efcd497feca88ffbc3e0a43ad5bae5e5aab12c28f41080057d69629a6a4d98c375936b34
7
+ data.tar.gz: 7678c2787bcc2c423285c0261a9293f8bc4f368a4e78a57b96697cea5eefb4d8e27832a018e717e6f8e5f1b475ddf52b1627278ab2f7e2be3e605c6e6f2736fa
@@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_development_dependency "bundler", "~> 1.3"
22
22
  spec.add_development_dependency "debugger"
23
+ spec.add_development_dependency "rspec"
23
24
  spec.add_dependency "rake"
24
25
  spec.add_dependency "aws-sdk"
25
26
  end
@@ -76,7 +76,7 @@ class Stack
76
76
  return
77
77
  end
78
78
  stack.events.sort_by {|a| a.timestamp}.each do |event|
79
- puts "#{event.timestamp} - #{event.logical_resource_id} - #{event.resource_type} - #{event.resource_status} - #{event.resource_status_reason.to_s}"
79
+ puts "#{event.timestamp} - #{event.physical_resource_id.to_s} - #{event.logical_resource_id} - #{event.resource_type} - #{event.resource_status} - #{event.resource_status_reason.to_s}"
80
80
  end
81
81
  end
82
82
  end
@@ -105,14 +105,15 @@ class Stack
105
105
  private
106
106
  def wait_until_end
107
107
  printed = []
108
+ current_time = Time.now
108
109
  with_highlight do
109
110
  if !deployed
110
111
  puts "Stack not up."
111
112
  return
112
113
  end
113
114
  loop do
114
- printable_events = stack.events.sort_by {|a| a.timestamp}.reject {|a| a if printed.include?(a.event_id)}
115
- printable_events.each { |event| puts "#{event.timestamp} - #{event.resource_type} - #{event.resource_status} - #{event.resource_status_reason.to_s}" }
115
+ printable_events = stack.events.reject{|a| (a.timestamp < current_time)}.sort_by {|a| a.timestamp}.reject {|a| a if printed.include?(a.event_id)}
116
+ printable_events.each { |event| puts "#{event.timestamp} - #{event.physical_resource_id.to_s} - #{event.resource_type} - #{event.resource_status} - #{event.resource_status_reason.to_s}" }
116
117
  printed.concat(printable_events.map(&:event_id))
117
118
  break if END_STATES.include?(stack.status)
118
119
  sleep(30)
@@ -1,3 +1,3 @@
1
1
  module Cloudformer
2
- VERSION = "0.0.11"
2
+ VERSION = "0.0.12"
3
3
  end
@@ -0,0 +1,42 @@
1
+ require 'cloudformer/stack'
2
+
3
+ describe Stack do
4
+ before :each do
5
+ @cf = double(AWS::CloudFormation)
6
+ @cf_stack = double(AWS::CloudFormation::Stack)
7
+ @collection = double(AWS::CloudFormation::StackCollection)
8
+ AWS::CloudFormation.should_receive(:new).and_return(@cf)
9
+ @collection.should_receive(:[]).and_return(@cf_stack)
10
+ @cf.should_receive(:stacks).and_return(@collection)
11
+ end
12
+ describe "when deployed" do
13
+ before :each do
14
+ @stack = Stack.new("stack")
15
+ end
16
+
17
+ it "should report as the stack being deployed" do
18
+ @cf_stack.should_receive(:exists?).and_return(true)
19
+ @stack.deployed.should be
20
+ end
21
+
22
+ describe "#delete" do
23
+ it "should return a true if delete fails" do
24
+ pending
25
+ @cf_stack.should_receive(:exists?).and_return(false)
26
+ @cf_stack.should_receive(:status)
27
+ @stack.delete.should be
28
+ end
29
+ end
30
+ end
31
+
32
+ describe "when stack is not deployed" do
33
+ before :each do
34
+ @stack = Stack.new("stack")
35
+ end
36
+
37
+ it "should report as the stack not being deployed" do
38
+ @cf_stack.should_receive(:exists?).and_return(false)
39
+ @stack.deployed.should_not be
40
+ end
41
+ end
42
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cloudformer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arvind Kunday
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-26 00:00:00.000000000 Z
11
+ date: 2014-08-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rake
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -86,6 +100,7 @@ files:
86
100
  - lib/cloudformer/version.rb
87
101
  - samples/Rakefile
88
102
  - samples/basic_template.json
103
+ - spec/stack_spec.rb
89
104
  homepage: https://github.com/kunday/cloudformer
90
105
  licenses:
91
106
  - MIT
@@ -106,10 +121,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
106
121
  version: '0'
107
122
  requirements: []
108
123
  rubyforge_project:
109
- rubygems_version: 2.0.6
124
+ rubygems_version: 2.2.2
110
125
  signing_key:
111
126
  specification_version: 4
112
127
  summary: Cloudformer attempts to simplify AWS Cloudformation stack creation process
113
128
  in ruby projects by providing reusable rake tasks to perform common operations such
114
129
  as apply(create/update), delete, recreate on stack along with validations on templates.
115
- test_files: []
130
+ test_files:
131
+ - spec/stack_spec.rb