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

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