cf 1.1.3.rc1 → 1.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. data/lib/cf/cli.rb +2 -7
  2. data/lib/cf/cli/organization/delete.rb +4 -6
  3. data/lib/cf/cli/service/create.rb +23 -17
  4. data/lib/cf/cli/space/create.rb +43 -41
  5. data/lib/cf/cli/space/space.rb +49 -46
  6. data/lib/cf/version.rb +1 -1
  7. data/lib/console/console.rb +1 -1
  8. data/spec/cf/cli/app/delete_spec.rb +16 -28
  9. data/spec/cf/cli/app/instances_spec.rb +4 -5
  10. data/spec/cf/cli/app/push/create_spec.rb +362 -373
  11. data/spec/cf/cli/app/push_spec.rb +216 -215
  12. data/spec/cf/cli/app/rename_spec.rb +28 -31
  13. data/spec/cf/cli/app/scale_spec.rb +44 -41
  14. data/spec/cf/cli/app/start_spec.rb +194 -193
  15. data/spec/cf/cli/app/stats_spec.rb +55 -56
  16. data/spec/cf/cli/domain/map_spec.rb +105 -102
  17. data/spec/cf/cli/domain/unmap_spec.rb +60 -56
  18. data/spec/cf/cli/organization/delete_spec.rb +85 -84
  19. data/spec/cf/cli/organization/orgs_spec.rb +80 -83
  20. data/spec/cf/cli/organization/rename_spec.rb +90 -89
  21. data/spec/cf/cli/populators/organization_spec.rb +117 -119
  22. data/spec/cf/cli/populators/space_spec.rb +107 -108
  23. data/spec/cf/cli/populators/target_spec.rb +17 -12
  24. data/spec/cf/cli/route/delete_spec.rb +4 -4
  25. data/spec/cf/cli/route/map_spec.rb +106 -102
  26. data/spec/cf/cli/route/unmap_spec.rb +5 -5
  27. data/spec/cf/cli/service/create_spec.rb +74 -46
  28. data/spec/cf/cli/service/rename_spec.rb +29 -33
  29. data/spec/cf/cli/service/services_spec.rb +48 -48
  30. data/spec/cf/cli/space/base_spec.rb +39 -32
  31. data/spec/cf/cli/space/create_spec.rb +52 -53
  32. data/spec/cf/cli/space/delete_spec.rb +84 -85
  33. data/spec/cf/cli/space/rename_spec.rb +93 -94
  34. data/spec/cf/cli/space/space_spec.rb +60 -60
  35. data/spec/cf/cli/space/spaces_spec.rb +75 -80
  36. data/spec/cf/cli/space/switch_space_spec.rb +45 -48
  37. data/spec/cf/cli/start/info_spec.rb +4 -6
  38. data/spec/cf/cli/start/login_spec.rb +18 -20
  39. data/spec/cf/cli/start/logout_spec.rb +36 -37
  40. data/spec/cf/cli/start/target_spec.rb +86 -89
  41. data/spec/cf/cli/user/create_spec.rb +83 -84
  42. data/spec/cf/cli/user/passwd_spec.rb +87 -86
  43. data/spec/cf/cli/user/register_spec.rb +109 -108
  44. data/spec/cf/cli_spec.rb +305 -310
  45. data/spec/console/console_spec.rb +58 -58
  46. data/spec/factories/cfoundry/v2/domain_factory.rb +8 -0
  47. data/spec/factories/cfoundry/v2/route_factory.rb +8 -0
  48. data/spec/factories/cfoundry/v2/user_factory.rb +7 -0
  49. data/spec/features/org_spec.rb +11 -11
  50. data/spec/manifests/manifests_spec.rb +21 -21
  51. data/spec/manifests/plugin_spec.rb +34 -34
  52. data/spec/spec_helper.rb +1 -2
  53. data/spec/support/cli_helper.rb +5 -14
  54. data/spec/support/factory_girl.rb +6 -0
  55. data/spec/support/interact_helper.rb +5 -15
  56. data/spec/support/shared_examples/errors.rb +1 -1
  57. data/spec/tunnel/plugin_spec.rb +2 -2
  58. data/spec/tunnel/tunnel_spec.rb +5 -5
  59. metadata +36 -28
@@ -1,15 +1,15 @@
1
1
  require "spec_helper"
2
2
 
3
- describe "CFConsole" do
3
+ describe CFConsole do
4
4
  before do
5
- @app = mock("app")
5
+ @app = double("app")
6
6
  @console = CFConsole.new(nil, @app)
7
7
  end
8
8
 
9
9
  it "should return connection info for apps that have a console ip and port" do
10
- instance = mock("instance")
11
- mock(@app).instances { [instance] }
12
- mock(instance).console { {:ip => "192.168.1.1", :port => 3344} }
10
+ instance = double("instance")
11
+ @app.should_receive(:instances) { [instance] }
12
+ instance.should_receive(:console) { {:ip => "192.168.1.1", :port => 3344} }
13
13
 
14
14
  @console.get_connection_info(nil).should == {
15
15
  "hostname" => "192.168.1.1",
@@ -18,7 +18,7 @@ describe "CFConsole" do
18
18
  end
19
19
 
20
20
  it "should raise error when no app instances found" do
21
- mock(@app).instances { [] }
21
+ @app.should_receive(:instances) { [] }
22
22
 
23
23
  expect {
24
24
  @console.get_connection_info(nil)
@@ -26,9 +26,9 @@ describe "CFConsole" do
26
26
  end
27
27
 
28
28
  it "should raise error when app does not have console access" do
29
- instance = mock("instance")
30
- mock(@app).instances { [instance] }
31
- mock(instance).console { nil }
29
+ instance = double("instance")
30
+ @app.should_receive(:instances) { [instance] }
31
+ instance.should_receive(:console) { nil }
32
32
 
33
33
  expect {
34
34
  @console.get_connection_info(nil)
@@ -46,7 +46,7 @@ describe "CFConsole" do
46
46
 
47
47
  context "when console credentials cannot be obtained" do
48
48
  it "should raise error" do
49
- mock(@app).file(*@creds[:path]) { "username: cfuser" }
49
+ @app.should_receive(:file).with(*@creds[:path]) { "username: cfuser" }
50
50
 
51
51
  expect {
52
52
  @console.start_console
@@ -56,63 +56,63 @@ describe "CFConsole" do
56
56
 
57
57
  context "when console credentials can be obtained" do
58
58
  before do
59
- mock(@app).file(*@creds[:path]) { @creds[:yaml] }
59
+ @app.should_receive(:file).with(*@creds[:path]) { @creds[:yaml] }
60
60
  @telnet = Object.new
61
- mock(@console).telnet_client { @telnet }
61
+ @console.should_receive(:telnet_client).and_return(@telnet)
62
62
  end
63
63
 
64
64
  it "should raise error if authentication fails" do
65
- mock(@telnet).login(@creds[:telnet]) { "Login failed" }
66
- mock(@telnet).close
65
+ @telnet.should_receive(:login).with(@creds[:telnet]) { "Login failed" }
66
+ @telnet.should_receive(:close)
67
67
 
68
68
  expect { @console.start_console }.to raise_error("Login failed")
69
69
  end
70
70
 
71
71
  it "should retry authentication on timeout" do
72
- mock(@telnet).login(@creds[:telnet]){ raise TimeoutError }
73
- mock(@telnet).login(@creds[:telnet]) { "Switch to inspect mode\nirb():001:0> " }
72
+ @telnet.should_receive(:login).with(@creds[:telnet]){ raise TimeoutError }
73
+ @telnet.should_receive(:login).with(@creds[:telnet]) { "Switch to inspect mode\nirb():001:0> " }
74
74
  verify_console_exit("irb():001:0> ")
75
75
 
76
76
  @console.start_console
77
77
  end
78
78
 
79
79
  it "should retry authentication on EOF" do
80
- mock(@console).telnet_client { @telnet }
81
- mock(@telnet).login(@creds[:telnet]) { raise EOFError }
82
- mock(@telnet).close
83
- mock(@telnet).login(@creds[:telnet]) { "irb():001:0> " }
80
+ @console.should_receive(:telnet_client).and_return(@telnet)
81
+ @telnet.should_receive(:login).with(@creds[:telnet]) { raise EOFError }
82
+ @telnet.should_receive(:close)
83
+ @telnet.should_receive(:login).with(@creds[:telnet]).and_return("irb():001:0> ")
84
84
  verify_console_exit("irb():001:0> ")
85
85
 
86
86
  @console.start_console
87
87
  end
88
88
 
89
89
  it "should operate console interactively" do
90
- mock(@telnet).login(@creds[:telnet]) { "irb():001:0> " }
91
- mock(Readline).readline("irb():001:0> ") { "puts 'hi'" }
92
- mock(Readline::HISTORY).push("puts 'hi'")
93
- mock(@telnet).cmd("puts 'hi'") { "nil" + "\n" + "irb():002:0> " }
94
- mock(@console).puts("nil")
90
+ @telnet.should_receive(:login).with(@creds[:telnet]).and_return("irb():001:0> ")
91
+ Readline.should_receive(:readline).with("irb():001:0> ") { "puts 'hi'" }
92
+ Readline::HISTORY.should_receive(:push).with("puts 'hi'")
93
+ @telnet.should_receive(:cmd).with("puts 'hi'").and_return("nil" + "\n" + "irb():002:0> ")
94
+ @console.should_receive(:puts).with("nil")
95
95
  verify_console_exit("irb():002:0> ")
96
96
 
97
97
  @console.start_console
98
98
  end
99
99
 
100
100
  it "should not crash if command times out" do
101
- mock(@telnet).login(@creds[:telnet]) { "irb():001:0> " }
102
- mock(Readline).readline("irb():001:0> ") { "puts 'hi'" }
103
- mock(Readline::HISTORY).push("puts 'hi'")
104
- mock(@telnet).cmd("puts 'hi'") { raise TimeoutError }
105
- mock(@console).puts("Timed out sending command to server.")
101
+ @telnet.should_receive(:login).with(@creds[:telnet]).and_return("irb():001:0> ")
102
+ Readline.should_receive(:readline).with("irb():001:0> ") { "puts 'hi'" }
103
+ Readline::HISTORY.should_receive(:push).with("puts 'hi'")
104
+ @telnet.should_receive(:cmd).with("puts 'hi'") { raise TimeoutError }
105
+ @console.should_receive(:puts).with("Timed out sending command to server.")
106
106
  verify_console_exit("irb():001:0> ")
107
107
 
108
108
  @console.start_console
109
109
  end
110
110
 
111
111
  it "should raise error if an EOF is received" do
112
- mock(@telnet).login(@creds[:telnet]) { "Switch to inspect mode\nirb():001:0> " }
113
- mock(Readline).readline("irb():001:0> ") { "puts 'hi'" }
114
- mock(Readline::HISTORY).push("puts 'hi'")
115
- mock(@telnet).cmd("puts 'hi'") { raise EOFError }
112
+ @telnet.should_receive(:login).with(@creds[:telnet]).and_return("Switch to inspect mode\nirb():001:0> ")
113
+ Readline.should_receive(:readline).with("irb():001:0> ") { "puts 'hi'" }
114
+ Readline::HISTORY.should_receive(:push).with("puts 'hi'")
115
+ @telnet.should_receive(:cmd).with("puts 'hi'") { raise EOFError }
116
116
 
117
117
  expect {
118
118
  @console.start_console
@@ -120,30 +120,30 @@ describe "CFConsole" do
120
120
  end
121
121
 
122
122
  it "should not keep blank lines in history" do
123
- mock(@telnet).login(@creds[:telnet]) { "irb():001:0> " }
124
- mock(Readline).readline("irb():001:0> ") { "" }
125
- dont_allow(Readline::HISTORY).push("")
126
- mock(@telnet).cmd("") { "irb():002:0*> " }
123
+ @telnet.should_receive(:login).with(@creds[:telnet]).and_return("irb():001:0> ")
124
+ Readline.should_receive(:readline).with("irb():001:0> ") { "" }
125
+ Readline::HISTORY.should_not_receive(:push)
126
+ @telnet.should_receive(:cmd).and_return("irb():002:0*> ")
127
127
  verify_console_exit("irb():002:0*> ")
128
128
 
129
129
  @console.start_console
130
130
  end
131
131
 
132
132
  it "should not keep identical commands in history" do
133
- mock(@telnet).login(@creds[:telnet]) { "irb():001:0> " }
134
- mock(Readline).readline("irb():001:0> ") { "puts 'hi'" }
135
- mock(Readline::HISTORY).to_a { ["puts 'hi'"] }
136
- dont_allow(Readline::HISTORY).push("puts 'hi'")
137
- mock(@telnet).cmd("puts 'hi'") { "nil" + "\n" + "irb():002:0> " }
138
- mock(@console).puts("nil")
133
+ @telnet.should_receive(:login).with(@creds[:telnet]).and_return("irb():001:0> ")
134
+ Readline.should_receive(:readline).with("irb():001:0> ") { "puts 'hi'" }
135
+ Readline::HISTORY.should_receive(:to_a).and_return(["puts 'hi'"])
136
+ Readline::HISTORY.should_not_receive(:push).with("puts 'hi'")
137
+ @telnet.should_receive(:cmd).with("puts 'hi'").and_return("nil" + "\n" + "irb():002:0> ")
138
+ @console.should_receive(:puts).with("nil")
139
139
  verify_console_exit("irb():002:0> ")
140
140
 
141
141
  @console.start_console
142
142
  end
143
143
 
144
144
  it "should return tab completion data" do
145
- mock(@telnet).login(@creds[:telnet]) { "Switch to inspect mode\nirb():001:0> " }
146
- mock(@telnet).cmd("String" => "app.\t", "Match" => /\S*\n$/, "Timeout" => 10) { "to_s,nil?\n" }
145
+ @telnet.should_receive(:login).with(@creds[:telnet]).and_return("Switch to inspect mode\nirb():001:0> ")
146
+ @telnet.should_receive(:cmd).with("String" => "app.\t", "Match" => /\S*\n$/, "Timeout" => 10) { "to_s,nil?\n" }
147
147
  verify_console_exit("irb():001:0> ")
148
148
 
149
149
  @console.start_console
@@ -151,8 +151,8 @@ describe "CFConsole" do
151
151
  end
152
152
 
153
153
  it "should return tab completion data receiving empty completion string" do
154
- mock(@telnet).login(@creds[:telnet]) { "irb():001:0> " }
155
- mock(@telnet).cmd("String" => "app.\t", "Match" => /\S*\n$/, "Timeout" => 10) { "\n" }
154
+ @telnet.should_receive(:login).with(@creds[:telnet]).and_return("irb():001:0> ")
155
+ @telnet.should_receive(:cmd).with("String" => "app.\t", "Match" => /\S*\n$/, "Timeout" => 10) { "\n" }
156
156
  verify_console_exit("irb():001:0> ")
157
157
 
158
158
  @console.start_console
@@ -160,8 +160,8 @@ describe "CFConsole" do
160
160
  end
161
161
 
162
162
  it "should not crash on timeout of remote tab completion data" do
163
- mock(@telnet).login(@creds[:telnet]) { "Switch to inspect mode\nirb():001:0> " }
164
- mock(@telnet).cmd("String" => "app.\t", "Match" => /\S*\n$/, "Timeout" => 10) { raise TimeoutError }
163
+ @telnet.should_receive(:login).with(@creds[:telnet]).and_return("Switch to inspect mode\nirb():001:0> ")
164
+ @telnet.should_receive(:cmd).with("String" => "app.\t", "Match" => /\S*\n$/, "Timeout" => 10) { raise TimeoutError }
165
165
  verify_console_exit("irb():001:0> ")
166
166
 
167
167
  @console.start_console
@@ -169,11 +169,11 @@ describe "CFConsole" do
169
169
  end
170
170
 
171
171
  it "should properly initialize Readline for tab completion" do
172
- mock(@telnet).login(@creds[:telnet]) { "irb():001:0> " }
173
- mock(Readline).respond_to?("basic_word_break_characters=") { true }
174
- mock(Readline).basic_word_break_characters=(" \t\n`><=;|&{(")
175
- mock(Readline).completion_append_character=(nil)
176
- mock(Readline).completion_proc=(anything)
172
+ @telnet.should_receive(:login).with(@creds[:telnet]).and_return("irb():001:0> ")
173
+ Readline.should_receive(:respond_to?).with("basic_word_break_characters=") { true }
174
+ Readline.should_receive(:basic_word_break_characters=).with(" \t\n`><=;|&{(")
175
+ Readline.should_receive(:completion_append_character=).with(nil)
176
+ Readline.should_receive(:completion_proc=).with(anything)
177
177
  verify_console_exit("irb():001:0> ")
178
178
 
179
179
  @console.start_console
@@ -182,8 +182,8 @@ describe "CFConsole" do
182
182
  end
183
183
 
184
184
  def verify_console_exit(prompt)
185
- mock(Readline).readline(prompt) { "exit" }
186
- mock(@telnet).cmd("String" => "exit", "Timeout" => 1) { raise TimeoutError }
187
- mock(@telnet).close
185
+ Readline.should_receive(:readline).with(prompt) { "exit" }
186
+ @telnet.should_receive(:cmd).with("String" => "exit", "Timeout" => 1) { raise TimeoutError }
187
+ @telnet.should_receive(:close)
188
188
  end
189
189
  end
@@ -0,0 +1,8 @@
1
+ FactoryGirl.define do
2
+ factory :domain, :class => CFoundry::V2::Domain do
3
+ guid { "domain-id-1" }
4
+ name { "domain-name-1" }
5
+ client nil
6
+ initialize_with { new(guid, client) }
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ FactoryGirl.define do
2
+ factory :route, :class => CFoundry::V2::Route do
3
+ guid { "route-id-1" }
4
+ host { "route-host-1" }
5
+ client nil
6
+ initialize_with { new(guid, client) }
7
+ end
8
+ end
@@ -0,0 +1,7 @@
1
+ FactoryGirl.define do
2
+ factory :user, :class => CFoundry::V2::User do
3
+ guid { "user-id-1" }
4
+ client nil
5
+ initialize_with { new(guid, client) }
6
+ end
7
+ end
@@ -1,7 +1,6 @@
1
- require 'spec_helper'
1
+ require "spec_helper"
2
2
 
3
-
4
- if ENV['CF_V2_RUN_INTEGRATION']
3
+ if ENV["CF_V2_RUN_INTEGRATION"]
5
4
  describe "creating and deleting orgs", :ruby19 => true do
6
5
  before(:all) do
7
6
  WebMock.allow_net_connect!
@@ -11,11 +10,11 @@ if ENV['CF_V2_RUN_INTEGRATION']
11
10
  WebMock.disable_net_connect!
12
11
  end
13
12
 
14
- let(:target) { ENV['CF_V2_TEST_TARGET'] }
15
- let(:organization) { ENV['CF_V2_TEST_ORGANIZATION'] }
16
- let(:space) { ENV['CF_V2_TEST_SPACE'] }
17
- let(:username) { ENV['CF_V2_ADMIN_USERNAME'] }
18
- let(:password) { ENV['CF_V2_ADMIN_PW'] }
13
+ let(:target) { ENV["CF_V2_TEST_TARGET"] }
14
+ let(:organization) { ENV["CF_V2_TEST_ORGANIZATION"] }
15
+ let(:space) { ENV["CF_V2_TEST_SPACE"] }
16
+ let(:username) { ENV["CF_V2_ADMIN_USERNAME"] }
17
+ let(:password) { ENV["CF_V2_ADMIN_PW"] }
19
18
 
20
19
  let(:run_id) { TRAVIS_BUILD_ID.to_s + Time.new.to_f.to_s.gsub(".", "_") }
21
20
  let(:new_org_name) { "new-org-#{run_id}" }
@@ -47,9 +46,10 @@ if ENV['CF_V2_RUN_INTEGRATION']
47
46
  runner.should say "Creating space new-space... OK"
48
47
  end
49
48
 
50
- BlueShell::Runner.run("cf delete-org #{new_org_name} --force") do |runner|
51
- runner.should say "If you want to delete the organization along with all dependent objects, rerun the command with the '--recursive' flag."
52
- end
49
+ # pending until cc change 442f08e72c0808baf85b948a8b56e58f025edf72 is on a1
50
+ #BlueShell::Runner.run("cf delete-org #{new_org_name} --force") do |runner|
51
+ # runner.should say "If you want to delete the organization along with all dependent objects, rerun the command with the '--recursive' flag."
52
+ #end
53
53
 
54
54
  BlueShell::Runner.run("cf delete-org #{new_org_name} --force --recursive") do |runner|
55
55
  runner.should say("Deleting organization #{new_org_name}... OK")
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ require "spec_helper"
2
2
 
3
3
  describe CFManifests do
4
4
  let(:inputs_hash) { {} }
@@ -9,7 +9,7 @@ describe CFManifests do
9
9
  let(:cmd) do
10
10
  manifest = CF::App::Push.new(nil, inputs)
11
11
  manifest.extend CFManifests
12
- stub(manifest).client { client }
12
+ manifest.stub(:client) { client }
13
13
  manifest
14
14
  end
15
15
 
@@ -28,22 +28,22 @@ describe CFManifests do
28
28
  let(:manifest_file) { "/abc/manifest.yml" }
29
29
 
30
30
  before do
31
- stub(cmd).target_base { target_base }
31
+ cmd.stub(:target_base) { target_base }
32
32
 
33
- stub(cmd).manifest { manifest }
34
- stub(cmd).manifest_file { manifest_file }
33
+ cmd.stub(:manifest) { manifest }
34
+ cmd.stub(:manifest_file) { manifest_file }
35
35
  end
36
36
 
37
- describe '#find_apps' do
37
+ describe "#find_apps" do
38
38
  subject { cmd.find_apps(nil) }
39
39
 
40
- context 'when there is no manifest file' do
41
- before { stub(cmd).manifest { nil } }
40
+ context "when there is no manifest file" do
41
+ before { cmd.stub(:manifest).and_return(nil) }
42
42
  it { should eq [] }
43
43
  end
44
44
  end
45
45
 
46
- describe '#create_manifest_for' do
46
+ describe "#create_manifest_for" do
47
47
  let(:app) {
48
48
  fake :app,
49
49
  :memory => 2048,
@@ -105,7 +105,7 @@ describe CFManifests do
105
105
  end
106
106
  end
107
107
 
108
- context 'when there is no url' do
108
+ context "when there is no url" do
109
109
  let(:app) {
110
110
  fake :app,
111
111
  :memory => 2048,
@@ -115,7 +115,7 @@ describe CFManifests do
115
115
  its(["url"]) { should eq "none" }
116
116
  end
117
117
 
118
- context 'when there is no command' do
118
+ context "when there is no command" do
119
119
  let(:app) {
120
120
  fake :app,
121
121
  :memory => 2048,
@@ -125,7 +125,7 @@ describe CFManifests do
125
125
  it { should_not include "command" }
126
126
  end
127
127
 
128
- context 'when there are no service bindings' do
128
+ context "when there are no service bindings" do
129
129
  let(:app) {
130
130
  fake :app,
131
131
  :memory => 2048,
@@ -174,21 +174,21 @@ describe CFManifests do
174
174
  let(:service_bindings) { [fake(:service_binding, :service_instance => service_1)] }
175
175
 
176
176
  it "does neither create nor bind the service again" do
177
- dont_allow(cmd).invoke :create_service, anything
178
- dont_allow(cmd).invoke :bind_service, anything
177
+ cmd.should_not_receive(:invoke).with(:create_service, anything)
178
+ cmd.should_not_receive(:invoke).with(:bind_service, anything)
179
179
  cmd.send(:setup_services, app, info)
180
180
  end
181
181
  end
182
182
 
183
183
  context "but are not bound" do
184
184
  it "does not create the services" do
185
- dont_allow(cmd).invoke :create_service, anything
186
- stub(cmd).invoke :bind_service, anything
185
+ cmd.should_not_receive(:invoke).with(:create_service, anything)
186
+ cmd.stub(:invoke).with(:bind_service, anything)
187
187
  cmd.send(:setup_services, app, info)
188
188
  end
189
189
 
190
190
  it "binds the service" do
191
- mock(cmd).invoke :bind_service, :app => app, :service => service_1
191
+ cmd.should_receive(:invoke).with(:bind_service, :app => app, :service => service_1)
192
192
  cmd.send(:setup_services, app, info)
193
193
  end
194
194
  end
@@ -196,9 +196,9 @@ describe CFManifests do
196
196
 
197
197
  context "and the services do not exist" do
198
198
  it "creates the services" do
199
- mock(cmd).invoke :create_service, :app => app,
200
- :name => service_1.name, :offering => mysql, :plan => plan_100
201
- dont_allow(cmd).invoke :bind_service, anything
199
+ cmd.should_receive(:invoke).with(:create_service, :app => app,
200
+ :name => service_1.name, :offering => mysql, :plan => plan_100)
201
+ cmd.should_not_receive(:invoke).with(:bind_service, anything)
202
202
  cmd.send(:setup_services, app, info)
203
203
  end
204
204
  end
@@ -302,7 +302,7 @@ describe CFManifests do
302
302
  subject { cmd.current_apps }
303
303
 
304
304
  it "returns the applications with the cwd as their path" do
305
- stub(Dir).pwd { "/abc" }
305
+ Dir.stub(:pwd) { "/abc" }
306
306
  expect(subject).to eq [{ :name => "foo", :path => "/abc"}, { :name => "bar", :path => "/abc" }]
307
307
  end
308
308
  end
@@ -13,14 +13,14 @@ describe ManifestsPlugin do
13
13
  let(:client) { fake_client }
14
14
 
15
15
  before do
16
- stub(plugin).manifest { manifest }
17
- stub(plugin).manifest_file { manifest_file } if manifest_file
18
- stub(plugin).client { client }
16
+ plugin.stub(:manifest) { manifest }
17
+ plugin.stub(:manifest_file) { manifest_file } if manifest_file
18
+ plugin.stub(:client) { client }
19
19
  end
20
20
 
21
21
  describe "#wrap_with_optional_name" do
22
22
  let(:name_made_optional) { true }
23
- let(:wrapped) { mock! }
23
+ let(:wrapped) { double(:wrapped).as_null_object }
24
24
 
25
25
  subject { plugin.send(:wrap_with_optional_name, name_made_optional, wrapped, inputs) }
26
26
 
@@ -28,8 +28,8 @@ describe ManifestsPlugin do
28
28
  let(:inputs_hash) { { :all => true } }
29
29
 
30
30
  it "skips all manifest-related logic, and invokes the command" do
31
- mock(wrapped).call
32
- dont_allow(plugin).show_manifest_usage
31
+ wrapped.should_receive(:call)
32
+ plugin.should_not_receive(:show_manifest_usage)
33
33
  subject
34
34
  end
35
35
  end
@@ -41,8 +41,8 @@ describe ManifestsPlugin do
41
41
  let(:given_hash) { { :app => "foo" } }
42
42
 
43
43
  it "passes through to the command" do
44
- mock(wrapped).call
45
- dont_allow(plugin).show_manifest_usage
44
+ wrapped.should_receive(:call)
45
+ plugin.should_not_receive(:show_manifest_usage)
46
46
  subject
47
47
  end
48
48
  end
@@ -52,7 +52,7 @@ describe ManifestsPlugin do
52
52
 
53
53
  context "and we made it optional" do
54
54
  it "fails manually" do
55
- mock(plugin).no_apps
55
+ plugin.should_receive(:no_apps)
56
56
  subject
57
57
  end
58
58
  end
@@ -61,8 +61,8 @@ describe ManifestsPlugin do
61
61
  let(:name_made_optional) { false }
62
62
 
63
63
  it "passes through to the command" do
64
- mock(wrapped).call
65
- dont_allow(plugin).show_manifest_usage
64
+ wrapped.should_receive(:call)
65
+ plugin.should_not_receive(:show_manifest_usage)
66
66
  subject
67
67
  end
68
68
  end
@@ -73,7 +73,7 @@ describe ManifestsPlugin do
73
73
  let(:manifest_file) { "/abc/manifest.yml" }
74
74
 
75
75
  before do
76
- stub(plugin).show_manifest_usage
76
+ plugin.stub(:show_manifest_usage)
77
77
  end
78
78
 
79
79
  context "when no apps are given" do
@@ -81,11 +81,11 @@ describe ManifestsPlugin do
81
81
  let(:manifest) { { :applications => [{ :name => "foo", :path => "/abc/foo" }] } }
82
82
 
83
83
  it "calls the command for only that app" do
84
- mock(wrapped).call(anything) do |inputs|
84
+ wrapped.should_receive(:call).with(anything) do |inputs|
85
85
  expect(inputs.given[:app]).to eq "foo"
86
86
  end
87
87
 
88
- stub(Dir).pwd { "/abc/foo" }
88
+ Dir.stub(:pwd) { "/abc/foo" }
89
89
 
90
90
  subject
91
91
  end
@@ -96,7 +96,7 @@ describe ManifestsPlugin do
96
96
 
97
97
  it "calls the command for all apps in the manifest" do
98
98
  uncalled_apps = ["foo", "bar"]
99
- mock(wrapped).call(anything).twice do |inputs|
99
+ wrapped.should_receive(:call).with(anything).twice do |inputs|
100
100
  uncalled_apps.delete inputs.given[:app]
101
101
  end
102
102
 
@@ -114,10 +114,10 @@ describe ManifestsPlugin do
114
114
  let(:given_hash) { { :apps => ["x", "a"] } }
115
115
 
116
116
  it "passes through to the original command" do
117
- mock(plugin).show_manifest_usage
117
+ plugin.should_receive(:show_manifest_usage)
118
118
 
119
119
  uncalled_apps = ["a", "x"]
120
- mock(wrapped).call(anything).twice do |inputs|
120
+ wrapped.should_receive(:call).with(anything).twice do |inputs|
121
121
  uncalled_apps.delete inputs.given[:app]
122
122
  end
123
123
 
@@ -136,8 +136,8 @@ describe ManifestsPlugin do
136
136
  let(:given_hash) { { :apps => ["x", "y"] } }
137
137
 
138
138
  it "passes through to the original command" do
139
- dont_allow(plugin).show_manifest_usage
140
- mock(wrapped).call
139
+ wrapped.should_receive(:call)
140
+ plugin.should_not_receive(:show_manifest_usage)
141
141
  subject
142
142
  end
143
143
  end
@@ -148,7 +148,7 @@ describe ManifestsPlugin do
148
148
  let(:given_hash) { { :app => "foo" } }
149
149
 
150
150
  it "calls the command with that app" do
151
- mock(wrapped).call(anything) do |inputs|
151
+ wrapped.should_receive(:call).with(anything) do |inputs|
152
152
  expect(inputs.given[:app]).to eq "foo"
153
153
  end
154
154
 
@@ -161,7 +161,7 @@ describe ManifestsPlugin do
161
161
  let(:given_hash) { { :app => "/abc/foo" } }
162
162
 
163
163
  it "calls the command with that app" do
164
- mock(wrapped).call(anything) do |inputs|
164
+ wrapped.should_receive(:call).with(anything) do |inputs|
165
165
  expect(inputs.given[:app]).to eq "foo"
166
166
  end
167
167
 
@@ -172,13 +172,13 @@ describe ManifestsPlugin do
172
172
  end
173
173
 
174
174
  describe "#wrap_push" do
175
- let(:wrapped) { mock! }
175
+ let(:wrapped) { double(:wrapped).as_null_object }
176
176
  let(:command) { Mothership.commands[:push] }
177
177
 
178
178
  subject { plugin.send(:wrap_push, wrapped, inputs) }
179
179
 
180
180
  before do
181
- stub(plugin).show_manifest_usage
181
+ plugin.stub(:show_manifest_usage)
182
182
  end
183
183
 
184
184
  context "with a manifest" do
@@ -209,7 +209,7 @@ describe ManifestsPlugin do
209
209
  let(:given_hash) { { :name => "a", :instances => "100" } }
210
210
 
211
211
  it "rebases their inputs on the manifest's values" do
212
- mock(wrapped).call(anything) do |inputs|
212
+ wrapped.should_receive(:call).with(anything) do |inputs|
213
213
  expect(inputs.given).to eq(
214
214
  :name => "a", :path => "/abc/a", :instances => "100", :memory => "128M")
215
215
  end
@@ -221,7 +221,7 @@ describe ManifestsPlugin do
221
221
 
222
222
  context "and the app does NOT exist" do
223
223
  it "pushes a new app with the inputs from the manifest" do
224
- mock(wrapped).call(anything) do |inputs|
224
+ wrapped.should_receive(:call).with(anything) do |inputs|
225
225
  expect(inputs.given).to eq(
226
226
  :name => "a", :path => "/abc/a", :instances => "200", :memory => "128M")
227
227
  end
@@ -263,7 +263,7 @@ describe ManifestsPlugin do
263
263
 
264
264
  it "pushes the found apps" do
265
265
  pushed_apps = []
266
- mock(wrapped).call(anything).twice do |inputs|
266
+ wrapped.should_receive(:call).with(anything).twice do |inputs|
267
267
  pushed_apps << inputs[:name]
268
268
  end
269
269
 
@@ -284,12 +284,12 @@ describe ManifestsPlugin do
284
284
  end
285
285
 
286
286
  context "without a manifest" do
287
- let(:app) { mock! }
287
+ let(:app) { double(:app).as_null_object }
288
288
  let(:manifest) { nil }
289
289
 
290
290
  it "asks to save the manifest when uploading the application" do
291
291
  mock_ask("Save configuration?", :default => false)
292
- stub(wrapped).call { plugin.filter(:push_app, app) }
292
+ wrapped.stub(:call) { plugin.filter(:push_app, app) }
293
293
  subject
294
294
  end
295
295
  end
@@ -298,7 +298,7 @@ describe ManifestsPlugin do
298
298
  describe "#push_input_for" do
299
299
  context "with an existing app" do
300
300
  before do
301
- stub(plugin).from_manifest { "PATH" }
301
+ plugin.stub(:from_manifest) { "PATH" }
302
302
  app.changes.clear
303
303
  end
304
304
 
@@ -320,14 +320,14 @@ describe ManifestsPlugin do
320
320
  end
321
321
 
322
322
  it "does not ask to set --reset" do
323
- dont_allow(plugin).warn_reset_changes
323
+ plugin.should_not_receive(:warn_reset_changes)
324
324
  subject
325
325
  end
326
326
  end
327
327
 
328
328
  context "without changes" do
329
329
  it "does not ask to set --reset" do
330
- dont_allow(plugin).warn_reset_changes
330
+ plugin.should_not_receive(:warn_reset_changes)
331
331
  subject
332
332
  end
333
333
  end
@@ -340,19 +340,19 @@ describe ManifestsPlugin do
340
340
  let(:manifest_memory) { "128M" }
341
341
 
342
342
  it "asks user to provide --reset" do
343
- mock(plugin).warn_reset_changes
343
+ plugin.should_receive(:warn_reset_changes)
344
344
  subject
345
345
  end
346
346
 
347
347
  it "does not apply changes" do
348
- stub(plugin).warn_reset_changes
348
+ plugin.stub(:warn_reset_changes)
349
349
  subject[:memory].should == nil
350
350
  end
351
351
  end
352
352
 
353
353
  context "without changes" do
354
354
  it "does not ask to set --reset" do
355
- dont_allow(plugin).warn_reset_changes
355
+ plugin.should_not_receive(:warn_reset_changes)
356
356
  subject
357
357
  end
358
358
  end