stackup 0.0.2 → 0.0.3

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: 6dc62580195d06b89d9eb18003751b1271e061fb
4
- data.tar.gz: 51755d4592858e5a8926e52b9ac16abc424db145
3
+ metadata.gz: 9a8f175c8ddd752ec57026404a9ee4271de9c4ea
4
+ data.tar.gz: 99a0690443e5889f6f620785b70755065b888264
5
5
  SHA512:
6
- metadata.gz: 9654b97ed0a4b01d84cc334d65c575e95714a12affe82d98a0316fab5d206362b16ec0ebf625ff97bcf4aa71b85d475f4ee0625f44ecda2f61213a66a86e9528
7
- data.tar.gz: 26072daf588afb7d27b9d31e3842c40e94a090a5d429c375d56e2667c5c92116add3b6af4e7e7b1d92a3f1fcbc5d390a2fc989600faf3818c428a11cc5b6bbcb
6
+ metadata.gz: 0dd816cc04d41494f3430db14fea66de09b5cfa49c6cc136a36f697deb82999b0686dfa6e48d8318634518f1c46dc9a93ff0067581b751009df83569ae67da1a
7
+ data.tar.gz: 555f18c97900cdf1460080c0e5bdc004b29abfb4893020ef1decc4039d3c9d9709f4984cbd6d57fcccf45216787096f0c7c40ea0c7f787fc1aa3c24d65a91018
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- stackup (0.0.1)
4
+ stackup (0.0.2)
5
5
  aws-sdk (~> 2.0)
6
6
  clamp (~> 1.0)
7
7
 
@@ -3,20 +3,19 @@ require "set"
3
3
  module Stackup
4
4
  class Stack
5
5
 
6
- attr_reader :stack, :name, :cf, :template, :monitor
6
+ attr_reader :stack, :name, :cf, :monitor
7
7
  SUCESS_STATES = ["CREATE_COMPLETE", "UPDATE_COMPLETE"]
8
8
  FAILURE_STATES = ["CREATE_FAILED", "DELETE_COMPLETE", "DELETE_FAILED", "UPDATE_ROLLBACK_FAILED", "ROLLBACK_FAILED", "ROLLBACK_COMPLETE", "ROLLBACK_FAILED", "UPDATE_ROLLBACK_COMPLETE", "UPDATE_ROLLBACK_FAILED"]
9
9
  END_STATES = SUCESS_STATES + FAILURE_STATES
10
10
 
11
- def initialize(name, template)
11
+ def initialize(name)
12
12
  @cf = Aws::CloudFormation::Client.new
13
13
  @stack = Aws::CloudFormation::Stack.new(:name => name, :client => cf)
14
14
  @monitor = Stackup::Monitor.new(@stack)
15
- @template = template
16
15
  @name = name
17
16
  end
18
17
 
19
- def create
18
+ def create(template)
20
19
  response = cf.create_stack(:stack_name => name,
21
20
  :template_body => template,
22
21
  :disable_rollback => true)
@@ -45,7 +44,7 @@ module Stackup
45
44
  false
46
45
  end
47
46
 
48
- def valid?
47
+ def valid?(template)
49
48
  response = cf.validate_template(template)
50
49
  response[:code].nil?
51
50
  end
Binary file
@@ -1,7 +1,7 @@
1
1
  require "spec_helper"
2
2
 
3
3
  describe Stackup::Monitor do
4
- let(:stack) { Stackup::Stack.new("name", "template") }
4
+ let(:stack) { Stackup::Stack.new("name") }
5
5
  let(:monitor) { Stackup::Monitor.new(stack) }
6
6
  let(:event) { double(Aws::CloudFormation::Event.new(:id => "1")) }
7
7
  let(:events) { [event] }
@@ -1,7 +1,8 @@
1
1
  require "spec_helper"
2
2
 
3
3
  describe Stackup::Stack do
4
- let(:stack) { Stackup::Stack.new("stack_name", double(String)) }
4
+ let(:stack) { Stackup::Stack.new("stack_name") }
5
+ let(:template) { double(String) }
5
6
  let(:cf_stack) { double(Aws::CloudFormation::Stack) }
6
7
  let(:cf) { double(Aws::CloudFormation::Client) }
7
8
 
@@ -25,26 +26,26 @@ describe Stackup::Stack do
25
26
  allow(response).to receive(:[]).with(:stack_id).and_return("1")
26
27
  allow(cf).to receive(:create_stack).and_return(response)
27
28
  allow(cf_stack).to receive(:wait_until).and_return(true)
28
- expect(stack.create).to be true
29
+ expect(stack.create(template)).to be true
29
30
  end
30
31
 
31
32
  it "should return nil if stack was not created" do
32
33
  allow(response).to receive(:[]).with(:stack_id).and_return(nil)
33
34
  allow(cf).to receive(:create_stack).and_return(response)
34
35
  allow(cf_stack).to receive(:wait_until).and_return(false)
35
- expect(stack.create).to be false
36
+ expect(stack.create(template)).to be false
36
37
  end
37
38
  end
38
39
 
39
40
  context "validate" do
40
41
  it "should be valid if cf validate say so" do
41
42
  allow(cf).to receive(:validate_template).and_return({})
42
- expect(stack.valid?).to be true
43
+ expect(stack.valid?(template)).to be true
43
44
  end
44
45
 
45
46
  it "should be invalid if cf validate say so" do
46
47
  allow(cf).to receive(:validate_template).and_return(:code => "404")
47
- expect(stack.valid?).to be false
48
+ expect(stack.valid?(template)).to be false
48
49
  end
49
50
 
50
51
  end
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  Gem::Specification.new do |spec|
5
5
 
6
6
  spec.name = "stackup"
7
- spec.version = "0.0.2"
7
+ spec.version = "0.0.3"
8
8
  spec.authors = ["Arvind Kunday", "Mike Williams"]
9
9
  spec.email = ["arvind.kunday@rea-group.com", "mike.williams@rea-group.com"]
10
10
  spec.summary = "Tools for deployment to AWS"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stackup
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arvind Kunday