vmc 0.5.0.beta.6 → 0.5.0.beta.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -23,7 +23,7 @@ describe VMC::Start::Register do
23
23
  end
24
24
 
25
25
  describe '#register' do
26
- let(:client) { FactoryGirl.build(:client) }
26
+ let(:client) { fake_client }
27
27
  let(:output) { StringIO.new }
28
28
  let(:out) { output.string }
29
29
  let(:email) { "a@b.com" }
@@ -21,14 +21,18 @@ describe VMC::User::Passwd do
21
21
  end
22
22
 
23
23
  describe '#passwd' do
24
- let(:client) { FactoryGirl.build(:client) }
24
+ let(:client) { fake_client }
25
25
  let(:output) { StringIO.new }
26
26
  let(:out) { output.string }
27
27
  let(:old_password) { "old" }
28
28
  let(:new_password) { "password" }
29
29
  let(:verify_password) { new_password }
30
30
  let(:score) { :strong }
31
- let(:user) { FactoryGirl.build(:user) }
31
+
32
+ let(:guid) { random_string("my-object-guid") }
33
+ let(:user_model) { fake_model { attribute :password, :object } }
34
+ let(:user_object) { user_model.new(guid, client) }
35
+ let(:user) { user_object.fake(:password => 'foo') }
32
36
 
33
37
  before do
34
38
  stub(VMC::CLI).exit { |code| code }
data/spec/vmc/cli_spec.rb CHANGED
@@ -16,11 +16,11 @@ describe VMC::CLI do
16
16
  it 'wraps Timeout::Error with a more friendly message' do
17
17
  stub(cmd).precondition { raise CFoundry::Timeout.new(Net::HTTP::Get, "/foo") }
18
18
 
19
- mock(cmd).err "GET /foo timed out"
19
+ mock(cmd).err 'GET /foo timed out'
20
20
  subject
21
21
  end
22
22
 
23
- context "when the debug flag is on" do
23
+ context 'when the debug flag is on' do
24
24
  let(:inputs) { {:debug => true} }
25
25
 
26
26
  it 'reraises' do
@@ -29,14 +29,52 @@ describe VMC::CLI do
29
29
  end
30
30
  end
31
31
 
32
- context "when the debug flag is off" do
32
+ context 'when the debug flag is off' do
33
33
  it 'outputs the crash log message' do
34
34
  stub(cmd).precondition { raise StandardError.new }
35
- mock(cmd).err "StandardError: StandardError\nFor more information, see /Users/pivotal/workspace/vmc/vmc/spec/tmp/.vmc/crash"
35
+ mock(cmd).err /StandardError: StandardError\nFor more information, see .+\.vmc\/crash/
36
36
 
37
37
  expect { subject }.not_to raise_error(StandardError)
38
38
  end
39
39
  end
40
40
  end
41
+
42
+ describe '#log_error' do
43
+ subject do
44
+ cmd.log_error(exception)
45
+ File.read(VMC::CRASH_FILE)
46
+ end
47
+
48
+ context 'when the exception is a normal error' do
49
+ let(:exception) do
50
+ error = StandardError.new("gemfiles are kinda hard")
51
+ error.set_backtrace(["fo/gems/bar", "baz quick"])
52
+ error
53
+ end
54
+
55
+ it { should include "Time of crash:"}
56
+ it { should include "gemfiles are kinda hard" }
57
+ it { should include "bar" }
58
+ it { should_not include "fo/gems/bar" }
59
+ it { should include "baz quick" }
60
+ end
61
+
62
+ context 'when the exception is an APIError' do
63
+ let(:request) { Net::HTTP::Get.new("http://api.cloudfoundry.com/foo") }
64
+ let(:response) { Net::HTTPNotFound.new("foo", 404, "bar")}
65
+ let(:exception) do
66
+ error = CFoundry::APIError.new(request, response)
67
+ error.set_backtrace(["fo/gems/bar", "baz quick"])
68
+ error
69
+ end
70
+
71
+ before do
72
+ stub(response).body {"Response Body"}
73
+ end
74
+
75
+ it { should include "REQUEST: " }
76
+ it { should include "RESPONSE: " }
77
+ end
78
+ end
41
79
  end
42
80
 
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe VMC::Detector do
4
- let(:client) { FactoryGirl.build(:client, :frameworks => [framework]) }
4
+ let(:client) { fake_client :frameworks => [framework] }
5
5
  let(:detector) { VMC::Detector.new client, nil }
6
6
 
7
7
  describe '#detect_framework' do
@@ -22,7 +22,7 @@ describe VMC::Detector do
22
22
  Clouseau::Spring => "spring"
23
23
  }.each do |clouseau_detective, cf_name|
24
24
  context "when we detected #{clouseau_detective}" do
25
- let(:framework) { FactoryGirl.build(:framework, :name => cf_name) }
25
+ let(:framework) { fake(:framework, :name => cf_name) }
26
26
 
27
27
  it "maps to CF name #{cf_name}" do
28
28
  stub(Clouseau).detect(anything) { clouseau_detective }
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vmc
3
3
  version: !ruby/object:Gem::Version
4
- hash: -504813842
4
+ hash: 1416830649
5
5
  prerelease: 6
6
6
  segments:
7
7
  - 0
8
8
  - 5
9
9
  - 0
10
10
  - beta
11
- - 6
12
- version: 0.5.0.beta.6
11
+ - 7
12
+ version: 0.5.0.beta.7
13
13
  platform: ruby
14
14
  authors:
15
15
  - Alex Suraci
@@ -17,12 +17,10 @@ autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
19
 
20
- date: 2012-12-19 00:00:00 Z
20
+ date: 2013-01-10 00:00:00 Z
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
23
- name: json_pure
24
- prerelease: false
25
- requirement: &id001 !ruby/object:Gem::Requirement
23
+ version_requirements: &id001 !ruby/object:Gem::Requirement
26
24
  none: false
27
25
  requirements:
28
26
  - - ~>
@@ -32,12 +30,12 @@ dependencies:
32
30
  - 1
33
31
  - 6
34
32
  version: "1.6"
33
+ prerelease: false
35
34
  type: :runtime
36
- version_requirements: *id001
35
+ name: json_pure
36
+ requirement: *id001
37
37
  - !ruby/object:Gem::Dependency
38
- name: multi_json
39
- prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
38
+ version_requirements: &id002 !ruby/object:Gem::Requirement
41
39
  none: false
42
40
  requirements:
43
41
  - - ~>
@@ -47,12 +45,12 @@ dependencies:
47
45
  - 1
48
46
  - 3
49
47
  version: "1.3"
48
+ prerelease: false
50
49
  type: :runtime
51
- version_requirements: *id002
50
+ name: multi_json
51
+ requirement: *id002
52
52
  - !ruby/object:Gem::Dependency
53
- name: interact
54
- prerelease: false
55
- requirement: &id003 !ruby/object:Gem::Requirement
53
+ version_requirements: &id003 !ruby/object:Gem::Requirement
56
54
  none: false
57
55
  requirements:
58
56
  - - ~>
@@ -63,28 +61,28 @@ dependencies:
63
61
  - 5
64
62
  - 0
65
63
  version: 0.5.0
64
+ prerelease: false
66
65
  type: :runtime
67
- version_requirements: *id003
66
+ name: interact
67
+ requirement: *id003
68
68
  - !ruby/object:Gem::Dependency
69
- name: cfoundry
70
- prerelease: false
71
- requirement: &id004 !ruby/object:Gem::Requirement
69
+ version_requirements: &id004 !ruby/object:Gem::Requirement
72
70
  none: false
73
71
  requirements:
74
72
  - - ~>
75
73
  - !ruby/object:Gem::Version
76
- hash: 47
74
+ hash: 41
77
75
  segments:
78
76
  - 0
79
77
  - 4
80
- - 16
81
- version: 0.4.16
78
+ - 19
79
+ version: 0.4.19
80
+ prerelease: false
82
81
  type: :runtime
83
- version_requirements: *id004
82
+ name: cfoundry
83
+ requirement: *id004
84
84
  - !ruby/object:Gem::Dependency
85
- name: clouseau
86
- prerelease: false
87
- requirement: &id005 !ruby/object:Gem::Requirement
85
+ version_requirements: &id005 !ruby/object:Gem::Requirement
88
86
  none: false
89
87
  requirements:
90
88
  - - ~>
@@ -95,12 +93,12 @@ dependencies:
95
93
  - 0
96
94
  - 2
97
95
  version: 0.0.2
96
+ prerelease: false
98
97
  type: :runtime
99
- version_requirements: *id005
98
+ name: clouseau
99
+ requirement: *id005
100
100
  - !ruby/object:Gem::Dependency
101
- name: mothership
102
- prerelease: false
103
- requirement: &id006 !ruby/object:Gem::Requirement
101
+ version_requirements: &id006 !ruby/object:Gem::Requirement
104
102
  none: false
105
103
  requirements:
106
104
  - - ~>
@@ -111,12 +109,12 @@ dependencies:
111
109
  - 4
112
110
  - 0
113
111
  version: 0.4.0
112
+ prerelease: false
114
113
  type: :runtime
115
- version_requirements: *id006
114
+ name: mothership
115
+ requirement: *id006
116
116
  - !ruby/object:Gem::Dependency
117
- name: manifests-vmc-plugin
118
- prerelease: false
119
- requirement: &id007 !ruby/object:Gem::Requirement
117
+ version_requirements: &id007 !ruby/object:Gem::Requirement
120
118
  none: false
121
119
  requirements:
122
120
  - - ~>
@@ -127,12 +125,12 @@ dependencies:
127
125
  - 4
128
126
  - 19
129
127
  version: 0.4.19
128
+ prerelease: false
130
129
  type: :runtime
131
- version_requirements: *id007
130
+ name: manifests-vmc-plugin
131
+ requirement: *id007
132
132
  - !ruby/object:Gem::Dependency
133
- name: tunnel-dummy-vmc-plugin
134
- prerelease: false
135
- requirement: &id008 !ruby/object:Gem::Requirement
133
+ version_requirements: &id008 !ruby/object:Gem::Requirement
136
134
  none: false
137
135
  requirements:
138
136
  - - ~>
@@ -143,12 +141,12 @@ dependencies:
143
141
  - 0
144
142
  - 2
145
143
  version: 0.0.2
144
+ prerelease: false
146
145
  type: :runtime
147
- version_requirements: *id008
146
+ name: tunnel-dummy-vmc-plugin
147
+ requirement: *id008
148
148
  - !ruby/object:Gem::Dependency
149
- name: rake
150
- prerelease: false
151
- requirement: &id009 !ruby/object:Gem::Requirement
149
+ version_requirements: &id009 !ruby/object:Gem::Requirement
152
150
  none: false
153
151
  requirements:
154
152
  - - ~>
@@ -158,12 +156,12 @@ dependencies:
158
156
  - 0
159
157
  - 9
160
158
  version: "0.9"
159
+ prerelease: false
161
160
  type: :development
162
- version_requirements: *id009
161
+ name: rake
162
+ requirement: *id009
163
163
  - !ruby/object:Gem::Dependency
164
- name: rspec
165
- prerelease: false
166
- requirement: &id010 !ruby/object:Gem::Requirement
164
+ version_requirements: &id010 !ruby/object:Gem::Requirement
167
165
  none: false
168
166
  requirements:
169
167
  - - ~>
@@ -173,12 +171,12 @@ dependencies:
173
171
  - 2
174
172
  - 11
175
173
  version: "2.11"
174
+ prerelease: false
176
175
  type: :development
177
- version_requirements: *id010
176
+ name: rspec
177
+ requirement: *id010
178
178
  - !ruby/object:Gem::Dependency
179
- name: webmock
180
- prerelease: false
181
- requirement: &id011 !ruby/object:Gem::Requirement
179
+ version_requirements: &id011 !ruby/object:Gem::Requirement
182
180
  none: false
183
181
  requirements:
184
182
  - - ~>
@@ -188,12 +186,12 @@ dependencies:
188
186
  - 1
189
187
  - 9
190
188
  version: "1.9"
189
+ prerelease: false
191
190
  type: :development
192
- version_requirements: *id011
191
+ name: webmock
192
+ requirement: *id011
193
193
  - !ruby/object:Gem::Dependency
194
- name: rr
195
- prerelease: false
196
- requirement: &id012 !ruby/object:Gem::Requirement
194
+ version_requirements: &id012 !ruby/object:Gem::Requirement
197
195
  none: false
198
196
  requirements:
199
197
  - - ~>
@@ -203,23 +201,10 @@ dependencies:
203
201
  - 1
204
202
  - 0
205
203
  version: "1.0"
206
- type: :development
207
- version_requirements: *id012
208
- - !ruby/object:Gem::Dependency
209
- name: factory_girl
210
204
  prerelease: false
211
- requirement: &id013 !ruby/object:Gem::Requirement
212
- none: false
213
- requirements:
214
- - - ~>
215
- - !ruby/object:Gem::Version
216
- hash: 15
217
- segments:
218
- - 2
219
- - 6
220
- version: "2.6"
221
205
  type: :development
222
- version_requirements: *id013
206
+ name: rr
207
+ requirement: *id012
223
208
  description:
224
209
  email:
225
210
  - asuraci@vmware.com
@@ -317,10 +302,13 @@ files:
317
302
  - spec/support/common_input_examples.rb
318
303
  - spec/support/feature_helpers.rb
319
304
  - spec/support/interact_helpers.rb
305
+ - spec/vmc/cli/app/base_spec.rb
320
306
  - spec/vmc/cli/app/delete_spec.rb
307
+ - spec/vmc/cli/app/instances_spec.rb
321
308
  - spec/vmc/cli/app/push/create_spec.rb
322
309
  - spec/vmc/cli/app/push_spec.rb
323
310
  - spec/vmc/cli/app/rename_spec.rb
311
+ - spec/vmc/cli/app/stats_spec.rb
324
312
  - spec/vmc/cli/organization/orgs_spec.rb
325
313
  - spec/vmc/cli/organization/rename_spec.rb
326
314
  - spec/vmc/cli/route/delete_route_spec.rb
@@ -381,10 +369,13 @@ test_files:
381
369
  - spec/support/common_input_examples.rb
382
370
  - spec/support/feature_helpers.rb
383
371
  - spec/support/interact_helpers.rb
372
+ - spec/vmc/cli/app/base_spec.rb
384
373
  - spec/vmc/cli/app/delete_spec.rb
374
+ - spec/vmc/cli/app/instances_spec.rb
385
375
  - spec/vmc/cli/app/push/create_spec.rb
386
376
  - spec/vmc/cli/app/push_spec.rb
387
377
  - spec/vmc/cli/app/rename_spec.rb
378
+ - spec/vmc/cli/app/stats_spec.rb
388
379
  - spec/vmc/cli/organization/orgs_spec.rb
389
380
  - spec/vmc/cli/organization/rename_spec.rb
390
381
  - spec/vmc/cli/route/delete_route_spec.rb