engineyard-serverside-adapter 1.6.0.pre2 → 1.6.3

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.
@@ -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