engineyard-serverside-adapter 1.6.0.pre2 → 1.6.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -14,10 +14,7 @@ module EY
14
14
  autoload :Rollback, 'engineyard-serverside-adapter/rollback'
15
15
  autoload :VERSION, 'engineyard-serverside-adapter/version'
16
16
 
17
- # engineyard-serverside uses major.minor.patch; using a
18
- # potentially-4-digit version lets us release fixes in the
19
- # adapter while still keeping in version sync
20
- ENGINEYARD_SERVERSIDE_VERSION = ENV['ENGINEYARD_SERVERSIDE_VERSION'] || VERSION.split('.')[0..2].join('.')
17
+ ENGINEYARD_SERVERSIDE_VERSION = ENV['ENGINEYARD_SERVERSIDE_VERSION'] || VERSION
21
18
 
22
19
  def initialize(gem_bin_path = "")
23
20
  @gem_bin_path = Pathname.new(gem_bin_path)
@@ -1,23 +1,13 @@
1
1
  module EY
2
2
  module Serverside
3
3
  class Adapter
4
- class Arguments < Struct.new(:app, :environment_name, :account_name, :config, :framework_env, :instances, :migrate, :ref, :repo, :stack, :verbose)
4
+ class Arguments < Struct.new(:app, :config, :framework_env, :instances, :migrate, :ref, :repo, :stack, :verbose)
5
5
 
6
6
  def app=(app)
7
7
  enforce_nonempty!('app', app)
8
8
  super
9
9
  end
10
10
 
11
- def environment_name=(env)
12
- enforce_nonempty!('environment_name', env)
13
- super
14
- end
15
-
16
- def account_name=(acc)
17
- enforce_nonempty!('account_name', acc)
18
- super
19
- end
20
-
21
11
  def framework_env=(framework_env)
22
12
  enforce_nonempty!('framework_env', framework_env)
23
13
  super
@@ -55,9 +55,7 @@ module EY
55
55
  end
56
56
 
57
57
  def string_argument(switch, value)
58
- if value == false
59
- @arguments << [switch.sub(/^--/,'--no-')] # specifically for no-migrate
60
- elsif !value.to_s.empty?
58
+ unless value.to_s.empty?
61
59
  @arguments << [switch, value]
62
60
  end
63
61
  end
@@ -3,17 +3,15 @@ module EY
3
3
  class Adapter
4
4
  class Deploy < Action
5
5
 
6
- option :app, :string, :required => true
7
- option :account_name, :string, :required => true
8
- option :environment_name, :string, :required => true
9
- option :stack, :string, :required => true
10
- option :instances, :instances, :required => true
11
- option :config, :json
12
- option :verbose, :boolean
13
- option :framework_env, :string, :required => true
14
- option :ref, :string, :required => true
15
- option :repo, :string, :required => true
16
- option :migrate, :string
6
+ option :app, :string, :required => true
7
+ option :stack, :string, :required => true
8
+ option :instances, :instances, :required => true
9
+ option :config, :json
10
+ option :verbose, :boolean
11
+ option :framework_env, :string, :required => true
12
+ option :ref, :string, :required => true
13
+ option :repo, :string, :required => true
14
+ option :migrate, :string
17
15
 
18
16
  private
19
17
 
@@ -3,11 +3,9 @@ module EY
3
3
  class Adapter
4
4
  class DisableMaintenancePage < Action
5
5
 
6
- option :app, :string, :required => true
7
- option :account_name, :string, :required => true
8
- option :environment_name, :string, :required => true
9
- option :instances, :instances, :required => true
10
- option :verbose, :boolean
6
+ option :app, :string, :required => true
7
+ option :instances, :instances, :required => true
8
+ option :verbose, :boolean
11
9
 
12
10
  private
13
11
 
@@ -3,11 +3,9 @@ module EY
3
3
  class Adapter
4
4
  class EnableMaintenancePage < Action
5
5
 
6
- option :app, :string, :required => true
7
- option :account_name, :string, :required => true
8
- option :environment_name, :string, :required => true
9
- option :instances, :instances, :required => true
10
- option :verbose, :boolean
6
+ option :app, :string, :required => true
7
+ option :instances, :instances, :required => true
8
+ option :verbose, :boolean
11
9
 
12
10
  private
13
11
 
@@ -3,13 +3,11 @@ module EY
3
3
  class Adapter
4
4
  class Integrate < Action
5
5
 
6
- option :app, :string, :required => true
7
- option :account_name, :string, :required => true
8
- option :environment_name, :string, :required => true
9
- option :stack, :string, :required => true
10
- option :instances, :instances, :required => true
11
- option :framework_env, :string, :required => true
12
- option :verbose, :boolean
6
+ option :app, :string, :required => true
7
+ option :stack, :string, :required => true
8
+ option :instances, :instances, :required => true
9
+ option :framework_env, :string, :required => true
10
+ option :verbose, :boolean
13
11
 
14
12
  private
15
13
 
@@ -3,12 +3,10 @@ module EY
3
3
  class Adapter
4
4
  class Restart < Action
5
5
 
6
- option :app, :string, :required => true
7
- option :account_name, :string, :required => true
8
- option :environment_name, :string, :required => true
9
- option :instances, :instances, :required => true
10
- option :stack, :string, :required => true
11
- option :verbose, :boolean
6
+ option :app, :string, :required => true
7
+ option :instances, :instances, :required => true
8
+ option :stack, :string, :required => true
9
+ option :verbose, :boolean
12
10
 
13
11
  private
14
12
 
@@ -3,14 +3,12 @@ module EY
3
3
  class Adapter
4
4
  class Rollback < Action
5
5
 
6
- option :app, :string, :required => true
7
- option :account_name, :string, :required => true
8
- option :environment_name, :string, :required => true
9
- option :config, :json
10
- option :framework_env, :string, :required => true
11
- option :instances, :instances, :required => true
12
- option :stack, :string, :required => true
13
- option :verbose, :boolean
6
+ option :app, :string, :required => true
7
+ option :config, :json
8
+ option :framework_env, :string, :required => true
9
+ option :instances, :instances, :required => true
10
+ option :stack, :string, :required => true
11
+ option :verbose, :boolean
14
12
 
15
13
  private
16
14
 
@@ -1,7 +1,7 @@
1
1
  module EY
2
2
  module Serverside
3
3
  class Adapter
4
- VERSION = "1.6.0.pre2"
4
+ VERSION = "1.6.3"
5
5
  end
6
6
  end
7
7
  end
data/spec/adapter_spec.rb CHANGED
@@ -3,14 +3,12 @@ require 'spec_helper'
3
3
  shared_examples_for "a serverside action" do
4
4
  before(:each) do
5
5
  @adapter = described_class.new do |args|
6
- args.app = 'app-from-adapter-new'
7
- args.environment_name = 'env-from-adapter-new'
8
- args.account_name = 'acc-from-adapter-new'
9
- args.instances = [{:hostname => 'localhost', :roles => %w[a b c]}]
10
- args.framework_env = 'production'
11
- args.ref = 'master'
12
- args.repo = 'git@github.com:engineyard/engineyard-serverside.git'
13
- args.stack = 'nginx_unicorn'
6
+ args.app = 'app-from-adapter-new'
7
+ args.instances = [{:hostname => 'localhost', :roles => %w[a b c]}]
8
+ args.framework_env = 'production'
9
+ args.ref = 'master'
10
+ args.repo = 'git@github.com:engineyard/engineyard-serverside.git'
11
+ args.stack = 'nginx_unicorn'
14
12
  args
15
13
  end
16
14
  end
@@ -56,14 +54,12 @@ shared_examples_for "a serverside action" do
56
54
  context "with a pathname specified" do
57
55
  it "begins both commands with the given path" do
58
56
  adapter = described_class.new("/usr/local/grin") do |args|
59
- args.app = 'app-from-adapter-new'
60
- args.environment_name = 'env-from-adapter-new'
61
- args.account_name = 'acc-from-adapter-new'
62
- args.instances = [{:hostname => 'localhost', :roles => %w[a b c]}]
63
- args.framework_env = 'production'
64
- args.ref = 'master'
65
- args.repo = 'git@github.com:engineyard/engineyard-serverside.git'
66
- args.stack = 'nginx_unicorn'
57
+ args.app = 'app-from-adapter-new'
58
+ args.instances = [{:hostname => 'localhost', :roles => %w[a b c]}]
59
+ args.framework_env = 'production'
60
+ args.ref = 'master'
61
+ args.repo = 'git@github.com:engineyard/engineyard-serverside.git'
62
+ args.stack = 'nginx_unicorn'
67
63
  args
68
64
  end
69
65
 
@@ -108,14 +104,12 @@ describe EY::Serverside::Adapter do
108
104
  context "mapping of methods to action classes" do
109
105
  before(:each) do
110
106
  @adapter = described_class.new do |args|
111
- args.app = 'app-from-adapter-new'
112
- args.environment_name = 'env-from-adapter-new'
113
- args.account_name = 'acc-from-adapter-new'
114
- args.instances = [{:hostname => 'localhost', :roles => %w[a b c]}]
115
- args.framework_env = 'production'
116
- args.ref = 'master'
117
- args.repo = 'git@github.com:engineyard/engineyard-serverside.git'
118
- args.stack = 'nginx_unicorn'
107
+ args.app = 'app-from-adapter-new'
108
+ args.instances = [{:hostname => 'localhost', :roles => %w[a b c]}]
109
+ args.framework_env = 'production'
110
+ args.ref = 'master'
111
+ args.repo = 'git@github.com:engineyard/engineyard-serverside.git'
112
+ args.stack = 'nginx_unicorn'
119
113
  args
120
114
  end
121
115
  end
data/spec/deploy_spec.rb CHANGED
@@ -4,8 +4,6 @@ describe EY::Serverside::Adapter::Deploy do
4
4
  it_should_behave_like "it installs engineyard-serverside"
5
5
 
6
6
  it_should_behave_like "it accepts app"
7
- it_should_behave_like "it accepts environment_name"
8
- it_should_behave_like "it accepts account_name"
9
7
  it_should_behave_like "it accepts framework_env"
10
8
  it_should_behave_like "it accepts instances"
11
9
  it_should_behave_like "it accepts migrate"
@@ -15,8 +13,6 @@ describe EY::Serverside::Adapter::Deploy do
15
13
  it_should_behave_like "it accepts verbose"
16
14
 
17
15
  it_should_require :app
18
- it_should_require :environment_name
19
- it_should_require :account_name
20
16
  it_should_require :instances
21
17
  it_should_require :framework_env
22
18
  it_should_require :ref
@@ -29,16 +25,14 @@ describe EY::Serverside::Adapter::Deploy do
29
25
  context "with valid arguments" do
30
26
  let(:command) do
31
27
  adapter = described_class.new do |arguments|
32
- arguments.app = "rackapp"
33
- arguments.environment_name = 'rackapp_production'
34
- arguments.account_name = 'ey'
35
- arguments.framework_env = 'production'
36
- arguments.config = {'a' => 1}
37
- arguments.instances = [{:hostname => 'localhost', :roles => %w[han solo], :name => 'chewie'}]
38
- arguments.migrate = 'rake db:migrate'
39
- arguments.ref = 'master'
40
- arguments.repo = 'git@github.com:engineyard/engineyard-serverside.git'
41
- arguments.stack = "nginx_unicorn"
28
+ arguments.app = "rackapp"
29
+ arguments.framework_env = 'production'
30
+ arguments.config = {'a' => 1}
31
+ arguments.instances = [{:hostname => 'localhost', :roles => %w[han solo], :name => 'chewie'}]
32
+ arguments.migrate = 'rake db:migrate'
33
+ arguments.ref = 'master'
34
+ arguments.repo = 'git@github.com:engineyard/engineyard-serverside.git'
35
+ arguments.stack = "nginx_unicorn"
42
36
  end
43
37
  last_command(adapter)
44
38
  end
@@ -48,65 +42,7 @@ describe EY::Serverside::Adapter::Deploy do
48
42
  end
49
43
 
50
44
  it "invokes exactly the right command" do
51
- command.should == [
52
- "engineyard-serverside",
53
- "_#{EY::Serverside::Adapter::ENGINEYARD_SERVERSIDE_VERSION}_",
54
- "deploy",
55
- "--account-name ey",
56
- "--app rackapp",
57
- "--config '{\"a\":1}'",
58
- "--environment-name rackapp_production",
59
- "--framework-env production",
60
- "--instance-names localhost:chewie",
61
- "--instance-roles localhost:han,solo",
62
- "--instances localhost",
63
- "--migrate 'rake db:migrate'",
64
- "--ref master",
65
- "--repo git@github.com:engineyard/engineyard-serverside.git",
66
- "--stack nginx_unicorn",
67
- ].join(' ')
68
- end
69
- end
70
-
71
- context "with no migrate argument" do
72
- let(:command) do
73
- adapter = described_class.new do |arguments|
74
- arguments.app = "rackapp"
75
- arguments.environment_name = 'rackapp_production'
76
- arguments.account_name = 'ey'
77
- arguments.framework_env = 'production'
78
- arguments.config = {'a' => 1}
79
- arguments.instances = [{:hostname => 'localhost', :roles => %w[han solo], :name => 'chewie'}]
80
- arguments.migrate = false
81
- arguments.ref = 'master'
82
- arguments.repo = 'git@github.com:engineyard/engineyard-serverside.git'
83
- arguments.stack = "nginx_unicorn"
84
- end
85
- last_command(adapter)
86
- end
87
-
88
- it "puts the config in the command line as json" do
89
- command.should =~ /--config '#{Regexp.quote '{"a":1}'}'/
90
- end
91
-
92
- it "invokes exactly the right command" do
93
- command.should == [
94
- "engineyard-serverside",
95
- "_#{EY::Serverside::Adapter::ENGINEYARD_SERVERSIDE_VERSION}_",
96
- "deploy",
97
- "--account-name ey",
98
- "--app rackapp",
99
- "--config '{\"a\":1}'",
100
- "--environment-name rackapp_production",
101
- "--framework-env production",
102
- "--instance-names localhost:chewie",
103
- "--instance-roles localhost:han,solo",
104
- "--instances localhost",
105
- "--no-migrate",
106
- "--ref master",
107
- "--repo git@github.com:engineyard/engineyard-serverside.git",
108
- "--stack nginx_unicorn",
109
- ].join(' ')
45
+ command.should == "engineyard-serverside _#{EY::Serverside::Adapter::ENGINEYARD_SERVERSIDE_VERSION}_ deploy --app rackapp --config '{\"a\":1}' --framework-env production --instance-names localhost:chewie --instance-roles localhost:han,solo --instances localhost --migrate 'rake db:migrate' --ref master --repo git@github.com:engineyard/engineyard-serverside.git --stack nginx_unicorn"
110
46
  end
111
47
  end
112
48
  end
@@ -4,39 +4,23 @@ describe EY::Serverside::Adapter::DisableMaintenancePage do
4
4
  it_should_behave_like "it installs engineyard-serverside"
5
5
 
6
6
  it_should_behave_like "it accepts app"
7
- it_should_behave_like "it accepts environment_name"
8
- it_should_behave_like "it accepts account_name"
9
7
  it_should_behave_like "it accepts instances"
10
8
  it_should_behave_like "it accepts verbose"
11
9
 
12
10
  it_should_require :app
13
- it_should_require :environment_name
14
- it_should_require :account_name
15
11
  it_should_require :instances
16
12
 
17
13
  context "with valid arguments" do
18
14
  let(:command) do
19
15
  adapter = described_class.new do |arguments|
20
- arguments.app = "rackapp"
21
- arguments.environment_name = "rackapp_production"
22
- arguments.account_name = "ey"
23
- arguments.instances = [{:hostname => 'localhost', :roles => %w[han solo], :name => 'chewie'}]
16
+ arguments.app = "rackapp"
17
+ arguments.instances = [{:hostname => 'localhost', :roles => %w[han solo], :name => 'chewie'}]
24
18
  end
25
19
  last_command(adapter)
26
20
  end
27
21
 
28
22
  it "invokes exactly the right command" do
29
- command.should == [
30
- "engineyard-serverside",
31
- "_#{EY::Serverside::Adapter::ENGINEYARD_SERVERSIDE_VERSION}_",
32
- "deploy disable_maintenance_page",
33
- "--account-name ey",
34
- "--app rackapp",
35
- "--environment-name rackapp_production",
36
- "--instance-names localhost:chewie",
37
- "--instance-roles localhost:han,solo",
38
- "--instances localhost",
39
- ].join(' ')
23
+ command.should == "engineyard-serverside _#{EY::Serverside::Adapter::ENGINEYARD_SERVERSIDE_VERSION}_ deploy disable_maintenance_page --app rackapp --instance-names localhost:chewie --instance-roles localhost:han,solo --instances localhost"
40
24
  end
41
25
  end
42
26
  end
@@ -4,40 +4,24 @@ describe EY::Serverside::Adapter::EnableMaintenancePage do
4
4
  it_should_behave_like "it installs engineyard-serverside"
5
5
 
6
6
  it_should_behave_like "it accepts app"
7
- it_should_behave_like "it accepts environment_name"
8
- it_should_behave_like "it accepts account_name"
9
7
  it_should_behave_like "it accepts instances"
10
8
  it_should_behave_like "it accepts verbose"
11
9
 
12
10
  it_should_require :app
13
- it_should_require :environment_name
14
- it_should_require :account_name
15
11
  it_should_require :instances
16
12
 
17
13
  context "with valid arguments" do
18
14
 
19
15
  let(:command) do
20
16
  adapter = described_class.new do |arguments|
21
- arguments.app = "rackapp"
22
- arguments.environment_name = "rackapp_production"
23
- arguments.account_name = "ey"
24
- arguments.instances = [{:hostname => 'localhost', :roles => %w[han solo], :name => 'chewie'}]
17
+ arguments.app = "rackapp"
18
+ arguments.instances = [{:hostname => 'localhost', :roles => %w[han solo], :name => 'chewie'}]
25
19
  end
26
20
  last_command(adapter)
27
21
  end
28
22
 
29
23
  it "invokes exactly the right command" do
30
- command.should == [
31
- "engineyard-serverside",
32
- "_#{EY::Serverside::Adapter::ENGINEYARD_SERVERSIDE_VERSION}_",
33
- "deploy enable_maintenance_page",
34
- "--account-name ey",
35
- "--app rackapp",
36
- "--environment-name rackapp_production",
37
- "--instance-names localhost:chewie",
38
- "--instance-roles localhost:han,solo",
39
- "--instances localhost",
40
- ].join(' ')
24
+ command.should == "engineyard-serverside _#{EY::Serverside::Adapter::ENGINEYARD_SERVERSIDE_VERSION}_ deploy enable_maintenance_page --app rackapp --instance-names localhost:chewie --instance-roles localhost:han,solo --instances localhost"
41
25
  end
42
26
  end
43
27
 
@@ -4,16 +4,12 @@ describe EY::Serverside::Adapter::Integrate do
4
4
  it_should_behave_like "it installs engineyard-serverside"
5
5
 
6
6
  it_should_behave_like "it accepts app"
7
- it_should_behave_like "it accepts environment_name"
8
- it_should_behave_like "it accepts account_name"
9
7
  it_should_behave_like "it accepts framework_env"
10
8
  it_should_behave_like "it accepts instances"
11
9
  it_should_behave_like "it accepts stack"
12
10
  it_should_behave_like "it accepts verbose"
13
11
 
14
12
  it_should_require :app
15
- it_should_require :environment_name
16
- it_should_require :account_name
17
13
  it_should_require :stack
18
14
  it_should_require :instances
19
15
  it_should_require :framework_env
@@ -21,30 +17,16 @@ describe EY::Serverside::Adapter::Integrate do
21
17
  context "with valid arguments" do
22
18
  let(:command) do
23
19
  adapter = described_class.new do |arguments|
24
- arguments.app = "rackapp"
25
- arguments.environment_name = "rackapp_production"
26
- arguments.account_name = "ey"
27
- arguments.instances = [{:hostname => 'localhost', :roles => %w[han solo], :name => 'chewie'}]
28
- arguments.stack = "nginx_unicorn"
29
- arguments.framework_env = "production"
20
+ arguments.app = "rackapp"
21
+ arguments.instances = [{:hostname => 'localhost', :roles => %w[han solo], :name => 'chewie'}]
22
+ arguments.stack = "nginx_unicorn"
23
+ arguments.framework_env = "production"
30
24
  end
31
25
  last_command(adapter)
32
26
  end
33
27
 
34
28
  it "invokes exactly the right command" do
35
- command.should == [
36
- "engineyard-serverside",
37
- "_#{EY::Serverside::Adapter::ENGINEYARD_SERVERSIDE_VERSION}_",
38
- "integrate",
39
- "--account-name ey",
40
- "--app rackapp",
41
- "--environment-name rackapp_production",
42
- "--framework-env production",
43
- "--instance-names localhost:chewie",
44
- "--instance-roles localhost:han,solo",
45
- "--instances localhost",
46
- "--stack nginx_unicorn",
47
- ].join(' ')
29
+ command.should == "engineyard-serverside _#{EY::Serverside::Adapter::ENGINEYARD_SERVERSIDE_VERSION}_ integrate --app rackapp --framework-env production --instance-names localhost:chewie --instance-roles localhost:han,solo --instances localhost --stack nginx_unicorn"
48
30
  end
49
31
  end
50
32
  end
data/spec/restart_spec.rb CHANGED
@@ -4,43 +4,26 @@ describe EY::Serverside::Adapter::Restart do
4
4
  it_should_behave_like "it installs engineyard-serverside"
5
5
 
6
6
  it_should_behave_like "it accepts app"
7
- it_should_behave_like "it accepts environment_name"
8
- it_should_behave_like "it accepts account_name"
9
7
  it_should_behave_like "it accepts instances"
10
8
  it_should_behave_like "it accepts stack"
11
9
  it_should_behave_like "it accepts verbose"
12
10
 
13
11
  it_should_require :app
14
- it_should_require :environment_name
15
- it_should_require :account_name
16
12
  it_should_require :instances
17
13
  it_should_require :stack
18
14
 
19
15
  context "with valid arguments" do
20
16
  let(:command) do
21
17
  adapter = described_class.new do |arguments|
22
- arguments.app = "rackapp"
23
- arguments.environment_name = "rackapp_production"
24
- arguments.account_name = "ey"
25
- arguments.instances = [{:hostname => 'localhost', :roles => %w[han solo], :name => 'chewie'}]
26
- arguments.stack = "nginx_unicorn"
18
+ arguments.app = "rackapp"
19
+ arguments.instances = [{:hostname => 'localhost', :roles => %w[han solo], :name => 'chewie'}]
20
+ arguments.stack = "nginx_unicorn"
27
21
  end
28
22
  last_command(adapter)
29
23
  end
30
24
 
31
25
  it "invokes exactly the right command" do
32
- command.should == [
33
- "engineyard-serverside",
34
- "_#{EY::Serverside::Adapter::ENGINEYARD_SERVERSIDE_VERSION}_",
35
- "restart",
36
- "--account-name ey",
37
- "--app rackapp",
38
- "--environment-name rackapp_production",
39
- "--instance-names localhost:chewie",
40
- "--instance-roles localhost:han,solo",
41
- "--instances localhost",
42
- "--stack nginx_unicorn",
43
- ].join(' ')
26
+ command.should == "engineyard-serverside _#{EY::Serverside::Adapter::ENGINEYARD_SERVERSIDE_VERSION}_ restart --app rackapp --instance-names localhost:chewie --instance-roles localhost:han,solo --instances localhost --stack nginx_unicorn"
44
27
  end
45
28
  end
46
29
  end
@@ -4,16 +4,12 @@ describe EY::Serverside::Adapter::Rollback do
4
4
  it_should_behave_like "it installs engineyard-serverside"
5
5
 
6
6
  it_should_behave_like "it accepts app"
7
- it_should_behave_like "it accepts environment_name"
8
- it_should_behave_like "it accepts account_name"
9
7
  it_should_behave_like "it accepts framework_env"
10
8
  it_should_behave_like "it accepts instances"
11
9
  it_should_behave_like "it accepts stack"
12
10
  it_should_behave_like "it accepts verbose"
13
11
 
14
12
  it_should_require :app
15
- it_should_require :environment_name
16
- it_should_require :account_name
17
13
  it_should_require :framework_env
18
14
  it_should_require :instances
19
15
  it_should_require :stack
@@ -21,13 +17,11 @@ describe EY::Serverside::Adapter::Rollback do
21
17
  context "with valid arguments" do
22
18
  let(:command) do
23
19
  adapter = described_class.new do |arguments|
24
- arguments.app = "rackapp"
25
- arguments.environment_name = "rackapp_production"
26
- arguments.account_name = "ey"
27
- arguments.framework_env = 'production'
28
- arguments.instances = [{:hostname => 'localhost', :roles => %w[han solo], :name => 'chewie'}]
29
- arguments.stack = "nginx_unicorn"
30
- arguments.config = {'a' => 1}
20
+ arguments.app = "rackapp"
21
+ arguments.framework_env = 'production'
22
+ arguments.instances = [{:hostname => 'localhost', :roles => %w[han solo], :name => 'chewie'}]
23
+ arguments.stack = "nginx_unicorn"
24
+ arguments.config = {'a' => 1}
31
25
  end
32
26
  last_command(adapter)
33
27
  end
@@ -37,20 +31,7 @@ describe EY::Serverside::Adapter::Rollback do
37
31
  end
38
32
 
39
33
  it "invokes exactly the right command" do
40
- command.should == [
41
- "engineyard-serverside",
42
- "_#{EY::Serverside::Adapter::ENGINEYARD_SERVERSIDE_VERSION}_",
43
- "deploy rollback",
44
- "--account-name ey",
45
- "--app rackapp",
46
- "--config '{\"a\":1}'",
47
- "--environment-name rackapp_production",
48
- "--framework-env production",
49
- "--instance-names localhost:chewie",
50
- "--instance-roles localhost:han,solo",
51
- "--instances localhost",
52
- "--stack nginx_unicorn",
53
- ].join(' ')
34
+ command.should == "engineyard-serverside _#{EY::Serverside::Adapter::ENGINEYARD_SERVERSIDE_VERSION}_ deploy rollback --app rackapp --config '{\"a\":1}' --framework-env production --instance-names localhost:chewie --instance-roles localhost:han,solo --instances localhost --stack nginx_unicorn"
54
35
  end
55
36
  end
56
37
  end
data/spec/spec_helper.rb CHANGED
@@ -7,14 +7,12 @@ require 'pp'
7
7
  module ArgumentsHelpers
8
8
  def valid_options
9
9
  {
10
- :app => 'rackapp',
11
- :environment_name => 'rackapp_production',
12
- :account_name => 'ey',
13
- :framework_env => 'production',
14
- :instances => [{:hostname => 'localhost', :roles => %w[han solo], :name => 'chewie'}],
15
- :ref => 'master',
16
- :repo => 'git@github.com:engineyard/engineyard-serverside.git',
17
- :stack => 'nginx_unicorn',
10
+ :app => 'rackapp',
11
+ :framework_env => 'production',
12
+ :instances => [{:hostname => 'localhost', :roles => %w[han solo], :name => 'chewie'}],
13
+ :ref => 'master',
14
+ :repo => 'git@github.com:engineyard/engineyard-serverside.git',
15
+ :stack => 'nginx_unicorn',
18
16
  }
19
17
  end
20
18
 
@@ -105,14 +103,12 @@ RSpec.configure do |config|
105
103
  end
106
104
 
107
105
  {
108
- :app => '--app',
109
- :environment_name => '--environment-name',
110
- :account_name => '--account-name',
111
- :stack => '--stack',
112
- :framework_env => '--framework-env',
113
- :ref => '--ref',
114
- :repo => '--repo',
115
- :migrate => '--migrate',
106
+ :app => '--app',
107
+ :stack => '--stack',
108
+ :framework_env => '--framework-env',
109
+ :ref => '--ref',
110
+ :repo => '--repo',
111
+ :migrate => '--migrate',
116
112
  }.each do |arg, switch|
117
113
  shared_examples_for "it accepts #{arg}" do
118
114
  it "puts the #{switch} arg in the command line" do
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: engineyard-serverside-adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0.pre2
5
- prerelease: 6
4
+ version: 1.6.3
5
+ prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Martin Emde
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-02-26 00:00:00.000000000 Z
13
+ date: 2012-03-26 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: escape
17
- requirement: &70135566686260 !ruby/object:Gem::Requirement
17
+ requirement: !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,10 +22,15 @@ dependencies:
22
22
  version: 0.0.4
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *70135566686260
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ~>
29
+ - !ruby/object:Gem::Version
30
+ version: 0.0.4
26
31
  - !ruby/object:Gem::Dependency
27
32
  name: json_pure
28
- requirement: &70135566685800 !ruby/object:Gem::Requirement
33
+ requirement: !ruby/object:Gem::Requirement
29
34
  none: false
30
35
  requirements:
31
36
  - - ! '>='
@@ -33,10 +38,15 @@ dependencies:
33
38
  version: '0'
34
39
  type: :runtime
35
40
  prerelease: false
36
- version_requirements: *70135566685800
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
37
47
  - !ruby/object:Gem::Dependency
38
48
  name: rspec
39
- requirement: &70135566684920 !ruby/object:Gem::Requirement
49
+ requirement: !ruby/object:Gem::Requirement
40
50
  none: false
41
51
  requirements:
42
52
  - - ~>
@@ -44,10 +54,15 @@ dependencies:
44
54
  version: '2.0'
45
55
  type: :development
46
56
  prerelease: false
47
- version_requirements: *70135566684920
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ~>
61
+ - !ruby/object:Gem::Version
62
+ version: '2.0'
48
63
  - !ruby/object:Gem::Dependency
49
64
  name: rake
50
- requirement: &70135566684280 !ruby/object:Gem::Requirement
65
+ requirement: !ruby/object:Gem::Requirement
51
66
  none: false
52
67
  requirements:
53
68
  - - ! '>='
@@ -55,7 +70,12 @@ dependencies:
55
70
  version: '0'
56
71
  type: :development
57
72
  prerelease: false
58
- version_requirements: *70135566684280
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ! '>='
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
59
79
  description: A separate adapter for speaking the CLI language of the engineyard-serverside
60
80
  gem.
61
81
  email:
@@ -103,6 +123,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
103
123
  - - ! '>='
104
124
  - !ruby/object:Gem::Version
105
125
  version: '0'
126
+ segments:
127
+ - 0
128
+ hash: -2267632610055367426
106
129
  required_rubygems_version: !ruby/object:Gem::Requirement
107
130
  none: false
108
131
  requirements:
@@ -111,7 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
134
  version: 1.3.6
112
135
  requirements: []
113
136
  rubyforge_project: engineyard-serverside-adapter
114
- rubygems_version: 1.8.15
137
+ rubygems_version: 1.8.19
115
138
  signing_key:
116
139
  specification_version: 3
117
140
  summary: Adapter for speaking to engineyard-serverside