cloudfoundry-client 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. data/.gitignore +12 -0
  2. data/.rspec +2 -0
  3. data/.travis.yml +12 -0
  4. data/.yardopts +9 -0
  5. data/CHANGELOG.md +6 -0
  6. data/Gemfile +3 -0
  7. data/LICENSE +20 -0
  8. data/README.md +122 -0
  9. data/Rakefile +28 -0
  10. data/cloudfoundry.gemspec +29 -0
  11. data/lib/cloudfoundry.rb +34 -0
  12. data/lib/cloudfoundry/client.rb +93 -0
  13. data/lib/cloudfoundry/client/apps.rb +192 -0
  14. data/lib/cloudfoundry/client/info.rb +29 -0
  15. data/lib/cloudfoundry/client/request.rb +89 -0
  16. data/lib/cloudfoundry/client/resources.rb +16 -0
  17. data/lib/cloudfoundry/client/response.rb +68 -0
  18. data/lib/cloudfoundry/client/services.rb +122 -0
  19. data/lib/cloudfoundry/client/users.rb +121 -0
  20. data/lib/cloudfoundry/constants.rb +30 -0
  21. data/lib/cloudfoundry/exception.rb +24 -0
  22. data/lib/cloudfoundry/version.rb +27 -0
  23. data/spec/client/apps_spec.rb +423 -0
  24. data/spec/client/info_spec.rb +92 -0
  25. data/spec/client/resources_spec.rb +52 -0
  26. data/spec/client/services_spec.rb +230 -0
  27. data/spec/client/users_spec.rb +367 -0
  28. data/spec/client_spec.rb +110 -0
  29. data/spec/cloudfoundry_spec.rb +62 -0
  30. data/spec/fixtures/admin_logged/client.yml +85 -0
  31. data/spec/fixtures/admin_logged/users.yml +363 -0
  32. data/spec/fixtures/admin_logged/users_create_action.yml +36 -0
  33. data/spec/fixtures/admin_logged/users_proxy_action.yml +46 -0
  34. data/spec/fixtures/admin_logged/users_proxy_nouser_action.yml +44 -0
  35. data/spec/fixtures/admin_logged/users_unproxy_action.yml +44 -0
  36. data/spec/fixtures/app.js +16 -0
  37. data/spec/fixtures/app.zip +0 -0
  38. data/spec/fixtures/client.yml +151 -0
  39. data/spec/fixtures/client_invalid.yml +85 -0
  40. data/spec/fixtures/cloudfoundry.yml +124 -0
  41. data/spec/fixtures/cloudfoundry_vs_client.yml +159 -0
  42. data/spec/fixtures/no_logged/apps.yml +42 -0
  43. data/spec/fixtures/no_logged/client.yml +42 -0
  44. data/spec/fixtures/no_logged/info.yml +81 -0
  45. data/spec/fixtures/no_logged/resources.yml +42 -0
  46. data/spec/fixtures/no_logged/services.yml +42 -0
  47. data/spec/fixtures/no_logged/users.yml +108 -0
  48. data/spec/fixtures/no_logged/users_login_action.yml +81 -0
  49. data/spec/fixtures/no_logged/users_proxy_action.yml +42 -0
  50. data/spec/fixtures/no_logged/users_unproxy_action.yml +42 -0
  51. data/spec/fixtures/user_logged/apps.yml +828 -0
  52. data/spec/fixtures/user_logged/apps_create_action.yml +42 -0
  53. data/spec/fixtures/user_logged/apps_directory_action.yml +48 -0
  54. data/spec/fixtures/user_logged/apps_download_action.yml +55 -0
  55. data/spec/fixtures/user_logged/apps_file_action.yml +54 -0
  56. data/spec/fixtures/user_logged/apps_start_action.yml +81 -0
  57. data/spec/fixtures/user_logged/apps_stats_action.yml +44 -0
  58. data/spec/fixtures/user_logged/apps_update_info_action.yml +44 -0
  59. data/spec/fixtures/user_logged/apps_upload_filename_action.yml +62 -0
  60. data/spec/fixtures/user_logged/apps_upload_zipfile_action.yml +62 -0
  61. data/spec/fixtures/user_logged/client.yml +85 -0
  62. data/spec/fixtures/user_logged/info.yml +126 -0
  63. data/spec/fixtures/user_logged/resources.yml +44 -0
  64. data/spec/fixtures/user_logged/resources_check_action.yml +42 -0
  65. data/spec/fixtures/user_logged/services.yml +354 -0
  66. data/spec/fixtures/user_logged/services_bind_action.yml +161 -0
  67. data/spec/fixtures/user_logged/services_create_action.yml +83 -0
  68. data/spec/fixtures/user_logged/services_unbind_action.yml +122 -0
  69. data/spec/fixtures/user_logged/services_unbind_fail_action.yml +122 -0
  70. data/spec/fixtures/user_logged/users.yml +299 -0
  71. data/spec/fixtures/user_logged/users_proxy_action.yml +44 -0
  72. data/spec/fixtures/user_logged/users_unproxy_action.yml +44 -0
  73. data/spec/spec_helper.rb +29 -0
  74. data/spec/support/cf_connection_helper.rb +26 -0
  75. data/spec/support/vcr.rb +8 -0
  76. metadata +235 -0
@@ -0,0 +1,81 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://api.vcap.me:80/users/user@vcap.me/tokens
6
+ body: "{\"password\":\"foobar\"}"
7
+ headers:
8
+ User-Agent:
9
+ - cloudfoundry-client-0.1.0
10
+ Accept:
11
+ - application/json
12
+ Content-Type:
13
+ - application/json
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Server:
20
+ - nginx/0.7.65
21
+ Date:
22
+ - Fri, 02 Dec 2011 01:09:50 GMT
23
+ Content-Type:
24
+ - application/json; charset=utf-8
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Connection:
28
+ - keep-alive
29
+ Keep-Alive:
30
+ - timeout=20
31
+ Etag:
32
+ - "\"0537de394c2de40c0b698017f41bd786\""
33
+ Cache-Control:
34
+ - max-age=0, private, must-revalidate
35
+ X-Ua-Compatible:
36
+ - IE=Edge
37
+ body: "{\"token\":\"04085b084922117573657240766361702e6d65063a0645546c2b07de5fe14e221919a1d076f95d3f846f4a0ef36144dfc19ba6973e\"}"
38
+ http_version:
39
+ recorded_at: Fri, 02 Dec 2011 01:09:49 GMT
40
+ - request:
41
+ method: get
42
+ uri: http://api.vcap.me:80/info
43
+ body: ""
44
+ headers:
45
+ User-Agent:
46
+ - cloudfoundry-client-0.1.0
47
+ Authorization:
48
+ - 04085b084922117573657240766361702e6d65063a0645546c2b07de5fe14e221919a1d076f95d3f846f4a0ef36144dfc19ba6973e
49
+ Accept:
50
+ - application/json
51
+ Content-Type:
52
+ - application/json
53
+ Accept-Encoding:
54
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
55
+ response:
56
+ status:
57
+ code: 200
58
+ message: OK
59
+ headers:
60
+ Server:
61
+ - nginx/0.7.65
62
+ Date:
63
+ - Fri, 02 Dec 2011 01:09:50 GMT
64
+ Content-Type:
65
+ - application/json; charset=utf-8
66
+ Transfer-Encoding:
67
+ - chunked
68
+ Connection:
69
+ - keep-alive
70
+ Keep-Alive:
71
+ - timeout=20
72
+ Etag:
73
+ - "\"adea3e8a7bd68a058b88fbec459e2022\""
74
+ Cache-Control:
75
+ - max-age=0, private, must-revalidate
76
+ X-Ua-Compatible:
77
+ - IE=Edge
78
+ body: "{\"name\":\"vcap\",\"build\":2222,\"support\":\"http://support.cloudfoundry.com\",\"version\":\"0.999\",\"description\":\"VMware's Cloud Application Platform\",\"allow_debug\":true,\"user\":\"user@vcap.me\",\"limits\":{\"memory\":2048,\"app_uris\":4,\"services\":16,\"apps\":20},\"usage\":{\"memory\":0,\"apps\":0,\"services\":0},\"frameworks\":{\"grails\":{\"name\":\"grails\",\"runtimes\":[{\"name\":\"java\",\"version\":\"1.6\",\"description\":\"Java 6\"}],\"appservers\":[{\"name\":\"tomcat\",\"description\":\"Tomcat\"}],\"detection\":[{\"*.war\":true}]},\"spring\":{\"name\":\"spring\",\"runtimes\":[{\"name\":\"java\",\"version\":\"1.6\",\"description\":\"Java 6\"}],\"appservers\":[{\"name\":\"tomcat\",\"description\":\"Tomcat\"}],\"detection\":[{\"*.war\":true}]},\"sinatra\":{\"name\":\"sinatra\",\"runtimes\":[{\"name\":\"ruby18\",\"version\":\"1.8.7\",\"description\":\"Ruby 1.8.7\"},{\"name\":\"ruby19\",\"version\":\"1.9.2p180\",\"description\":\"Ruby 1.9.2\"}],\"appservers\":[{\"name\":\"thin\",\"description\":\"Thin\"}],\"detection\":[{\"*.rb\":\"require 'sinatra'|require \\\"sinatra\\\"\"},{\"config/environment.rb\":false}]},\"java_web\":{\"name\":\"java_web\",\"runtimes\":[{\"name\":\"java\",\"version\":\"1.6\",\"description\":\"Java 6\"}],\"appservers\":[{\"name\":\"tomcat\",\"description\":\"Tomcat\"}],\"detection\":[{\"*.war\":true}]},\"php\":{\"name\":\"php\",\"runtimes\":[{\"name\":\"php\",\"version\":\"5.3\",\"description\":\"PHP 5\"}],\"appservers\":[{\"name\":\"apache\",\"description\":\"Apache\"}],\"detection\":[{\"*.php\":true}]},\"otp_rebar\":{\"name\":\"otp_rebar\",\"runtimes\":[{\"name\":\"erlangR14B02\",\"version\":\"R14B02\",\"description\":\"Erlang R14B02\"}],\"appservers\":[],\"detection\":[{\"releases/*/*.rel\":\".\"}]},\"lift\":{\"name\":\"lift\",\"runtimes\":[{\"name\":\"java\",\"version\":\"1.6\",\"description\":\"Java 6\"}],\"appservers\":[{\"name\":\"tomcat\",\"description\":\"Tomcat\"}],\"detection\":[{\"*.war\":true}]},\"rails3\":{\"name\":\"rails3\",\"runtimes\":[{\"name\":\"ruby18\",\"version\":\"1.8.7\",\"description\":\"Ruby 1.8.7\"},{\"name\":\"ruby19\",\"version\":\"1.9.2p180\",\"description\":\"Ruby 1.9.2\"}],\"appservers\":[{\"name\":\"thin\",\"description\":\"Thin\"}],\"detection\":[{\"config/application.rb\":true},{\"config/environment.rb\":true}]},\"django\":{\"name\":\"django\",\"runtimes\":[{\"name\":\"python26\",\"version\":\"2.6.5\",\"description\":\"Python 2.6.5\"}],\"appservers\":[],\"detection\":[{\"*.py\":\".\"}]},\"node\":{\"name\":\"node\",\"runtimes\":[{\"name\":\"node\",\"version\":\"0.4.5\",\"description\":\"Node.js\"}],\"appservers\":[],\"detection\":[{\"*.js\":\".\"}]},\"wsgi\":{\"name\":\"wsgi\",\"runtimes\":[{\"name\":\"python26\",\"version\":\"2.6.5\",\"description\":\"Python 2.6.5\"}],\"appservers\":[],\"detection\":[{\"*.py\":\".\"}]}}}"
79
+ http_version:
80
+ recorded_at: Fri, 02 Dec 2011 01:09:49 GMT
81
+ recorded_with: VCR 2.0.0.beta2
@@ -0,0 +1,42 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://api.vcap.me:80/info
6
+ body: ""
7
+ headers:
8
+ User-Agent:
9
+ - cloudfoundry-client-0.1.0
10
+ Proxy-User:
11
+ - user@vcap.me
12
+ Accept:
13
+ - application/json
14
+ Content-Type:
15
+ - application/json
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 403
21
+ message: Forbidden
22
+ headers:
23
+ Server:
24
+ - nginx/0.7.65
25
+ Date:
26
+ - Fri, 02 Dec 2011 01:09:49 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Transfer-Encoding:
30
+ - chunked
31
+ Connection:
32
+ - keep-alive
33
+ Keep-Alive:
34
+ - timeout=20
35
+ Cache-Control:
36
+ - no-cache
37
+ X-Ua-Compatible:
38
+ - IE=Edge
39
+ body: "{\"code\":200,\"description\":\"Operation not permitted\"}"
40
+ http_version:
41
+ recorded_at: Fri, 02 Dec 2011 01:09:48 GMT
42
+ recorded_with: VCR 2.0.0.beta2
@@ -0,0 +1,42 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://api.vcap.me:80/info
6
+ body: ""
7
+ headers:
8
+ User-Agent:
9
+ - cloudfoundry-client-0.1.0
10
+ Accept:
11
+ - application/json
12
+ Content-Type:
13
+ - application/json
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - nginx/0.7.65
23
+ Date:
24
+ - Fri, 02 Dec 2011 01:09:49 GMT
25
+ Content-Type:
26
+ - application/json; charset=utf-8
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - keep-alive
31
+ Keep-Alive:
32
+ - timeout=20
33
+ Etag:
34
+ - "\"cbc07ff8530919ca664fcfc8b21a398b\""
35
+ Cache-Control:
36
+ - max-age=0, private, must-revalidate
37
+ X-Ua-Compatible:
38
+ - IE=Edge
39
+ body: "{\"name\":\"vcap\",\"build\":2222,\"support\":\"http://support.cloudfoundry.com\",\"version\":\"0.999\",\"description\":\"VMware's Cloud Application Platform\",\"allow_debug\":true}"
40
+ http_version:
41
+ recorded_at: Fri, 02 Dec 2011 01:09:48 GMT
42
+ recorded_with: VCR 2.0.0.beta2
@@ -0,0 +1,828 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://api.vcap.me:80/apps
6
+ body: "{\"name\":\"newapp\",\"instances\":1}"
7
+ headers:
8
+ User-Agent:
9
+ - cloudfoundry-client-0.1.0
10
+ Authorization:
11
+ - 04085b084922117573657240766361702e6d65063a0645546c2b073101dc4e2219f848b1aea2d82a2a6981750fa1aac61104aed60f
12
+ Accept:
13
+ - application/json
14
+ Content-Type:
15
+ - application/json
16
+ response:
17
+ status:
18
+ code: 400
19
+ message: Bad Request
20
+ headers:
21
+ Server:
22
+ - nginx/0.7.65
23
+ Date:
24
+ - Fri, 02 Dec 2011 01:09:35 GMT
25
+ Content-Type:
26
+ - application/json; charset=utf-8
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - keep-alive
31
+ Keep-Alive:
32
+ - timeout=20
33
+ Cache-Control:
34
+ - no-cache
35
+ X-Ua-Compatible:
36
+ - IE=Edge
37
+ body: "{\"code\":308,\"description\":\"Invalid framework description: 'NONE'\"}"
38
+ http_version:
39
+ recorded_at: Fri, 02 Dec 2011 01:09:34 GMT
40
+ - request:
41
+ method: get
42
+ uri: http://api.vcap.me:80/apps
43
+ body: ""
44
+ headers:
45
+ User-Agent:
46
+ - cloudfoundry-client-0.1.0
47
+ Authorization:
48
+ - 04085b084922117573657240766361702e6d65063a0645546c2b073101dc4e2219f848b1aea2d82a2a6981750fa1aac61104aed60f
49
+ Accept:
50
+ - application/json
51
+ Content-Type:
52
+ - application/json
53
+ Accept-Encoding:
54
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
55
+ response:
56
+ status:
57
+ code: 200
58
+ message: OK
59
+ headers:
60
+ Server:
61
+ - nginx/0.7.65
62
+ Date:
63
+ - Fri, 02 Dec 2011 01:09:36 GMT
64
+ Content-Type:
65
+ - application/json; charset=utf-8
66
+ Transfer-Encoding:
67
+ - chunked
68
+ Connection:
69
+ - keep-alive
70
+ Keep-Alive:
71
+ - timeout=20
72
+ Etag:
73
+ - "\"aa90afe7a7b4848b828be64a52510d08\""
74
+ Cache-Control:
75
+ - max-age=0, private, must-revalidate
76
+ X-Ua-Compatible:
77
+ - IE=Edge
78
+ body: "[{\"name\":\"newapp\",\"staging\":{\"model\":\"node\",\"stack\":\"node\"},\"uris\":[\"newapp.vcap.me\"],\"instances\":1,\"runningInstances\":null,\"resources\":{\"memory\":64,\"disk\":2048,\"fds\":256},\"state\":\"STOPPED\",\"services\":[],\"version\":\"4064f2adcae38ca6618493d61c77ca02-0\",\"env\":[],\"meta\":{\"debug\":null,\"version\":1,\"created\":1322788176}},{\"name\":\"newapp\",\"staging\":{\"model\":\"node\",\"stack\":\"node\"},\"uris\":[\"newapp.vcap.me\"],\"instances\":1,\"runningInstances\":null,\"resources\":{\"memory\":64,\"disk\":2048,\"fds\":256},\"state\":\"STOPPED\",\"services\":[],\"version\":\"43063054166406f64a56f2d45b7bbd4f-0\",\"env\":[],\"meta\":{\"debug\":null,\"version\":1,\"created\":1322788176}}]"
79
+ http_version:
80
+ recorded_at: Fri, 02 Dec 2011 01:09:34 GMT
81
+ - request:
82
+ method: get
83
+ uri: http://api.vcap.me:80/apps/noapp
84
+ body: ""
85
+ headers:
86
+ User-Agent:
87
+ - cloudfoundry-client-0.1.0
88
+ Authorization:
89
+ - 04085b084922117573657240766361702e6d65063a0645546c2b073101dc4e2219f848b1aea2d82a2a6981750fa1aac61104aed60f
90
+ Accept:
91
+ - application/json
92
+ Content-Type:
93
+ - application/json
94
+ Accept-Encoding:
95
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
96
+ response:
97
+ status:
98
+ code: 404
99
+ message: Not Found
100
+ headers:
101
+ Server:
102
+ - nginx/0.7.65
103
+ Date:
104
+ - Fri, 02 Dec 2011 01:09:36 GMT
105
+ Content-Type:
106
+ - application/json; charset=utf-8
107
+ Transfer-Encoding:
108
+ - chunked
109
+ Connection:
110
+ - keep-alive
111
+ Keep-Alive:
112
+ - timeout=20
113
+ Cache-Control:
114
+ - no-cache
115
+ X-Ua-Compatible:
116
+ - IE=Edge
117
+ body: "{\"code\":301,\"description\":\"Application not found\"}"
118
+ http_version:
119
+ recorded_at: Fri, 02 Dec 2011 01:09:35 GMT
120
+ - request:
121
+ method: get
122
+ uri: http://api.vcap.me:80/apps/newapp
123
+ body: ""
124
+ headers:
125
+ User-Agent:
126
+ - cloudfoundry-client-0.1.0
127
+ Authorization:
128
+ - 04085b084922117573657240766361702e6d65063a0645546c2b073101dc4e2219f848b1aea2d82a2a6981750fa1aac61104aed60f
129
+ Accept:
130
+ - application/json
131
+ Content-Type:
132
+ - application/json
133
+ Accept-Encoding:
134
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
135
+ response:
136
+ status:
137
+ code: 200
138
+ message: OK
139
+ headers:
140
+ Server:
141
+ - nginx/0.7.65
142
+ Date:
143
+ - Fri, 02 Dec 2011 01:09:36 GMT
144
+ Content-Type:
145
+ - application/json; charset=utf-8
146
+ Transfer-Encoding:
147
+ - chunked
148
+ Connection:
149
+ - keep-alive
150
+ Keep-Alive:
151
+ - timeout=20
152
+ Etag:
153
+ - "\"0add7cf429b9bdad147d9dfb6bb55e19\""
154
+ Cache-Control:
155
+ - max-age=0, private, must-revalidate
156
+ X-Ua-Compatible:
157
+ - IE=Edge
158
+ body: "{\"name\":\"newapp\",\"staging\":{\"model\":\"node\",\"stack\":\"node\"},\"uris\":[\"newapp.vcap.me\"],\"instances\":1,\"runningInstances\":0,\"resources\":{\"memory\":64,\"disk\":2048,\"fds\":256},\"state\":\"STOPPED\",\"services\":[],\"version\":\"86e45ab956e1a0bbd648a9dda3bc3298-0\",\"env\":[],\"meta\":{\"debug\":null,\"version\":1,\"created\":1322788176}}"
159
+ http_version:
160
+ recorded_at: Fri, 02 Dec 2011 01:09:35 GMT
161
+ - request:
162
+ method: get
163
+ uri: http://api.vcap.me:80/apps/noapp/instances
164
+ body: ""
165
+ headers:
166
+ User-Agent:
167
+ - cloudfoundry-client-0.1.0
168
+ Authorization:
169
+ - 04085b084922117573657240766361702e6d65063a0645546c2b073101dc4e2219f848b1aea2d82a2a6981750fa1aac61104aed60f
170
+ Accept:
171
+ - application/json
172
+ Content-Type:
173
+ - application/json
174
+ Accept-Encoding:
175
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
176
+ response:
177
+ status:
178
+ code: 404
179
+ message: Not Found
180
+ headers:
181
+ Server:
182
+ - nginx/0.7.65
183
+ Date:
184
+ - Fri, 02 Dec 2011 01:09:36 GMT
185
+ Content-Type:
186
+ - application/json; charset=utf-8
187
+ Transfer-Encoding:
188
+ - chunked
189
+ Connection:
190
+ - keep-alive
191
+ Keep-Alive:
192
+ - timeout=20
193
+ Cache-Control:
194
+ - no-cache
195
+ X-Ua-Compatible:
196
+ - IE=Edge
197
+ body: "{\"code\":301,\"description\":\"Application not found\"}"
198
+ http_version:
199
+ recorded_at: Fri, 02 Dec 2011 01:09:35 GMT
200
+ - request:
201
+ method: get
202
+ uri: http://api.vcap.me:80/apps/newapp/instances
203
+ body: ""
204
+ headers:
205
+ User-Agent:
206
+ - cloudfoundry-client-0.1.0
207
+ Authorization:
208
+ - 04085b084922117573657240766361702e6d65063a0645546c2b073101dc4e2219f848b1aea2d82a2a6981750fa1aac61104aed60f
209
+ Accept:
210
+ - application/json
211
+ Content-Type:
212
+ - application/json
213
+ Accept-Encoding:
214
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
215
+ response:
216
+ status:
217
+ code: 200
218
+ message: OK
219
+ headers:
220
+ Server:
221
+ - nginx/0.7.65
222
+ Date:
223
+ - Fri, 02 Dec 2011 01:09:36 GMT
224
+ Content-Type:
225
+ - application/json; charset=utf-8
226
+ Transfer-Encoding:
227
+ - chunked
228
+ Connection:
229
+ - keep-alive
230
+ Keep-Alive:
231
+ - timeout=20
232
+ Etag:
233
+ - "\"1439580006f77fa0b8481cdc5a207b66\""
234
+ Cache-Control:
235
+ - max-age=0, private, must-revalidate
236
+ X-Ua-Compatible:
237
+ - IE=Edge
238
+ body: "{\"instances\":[]}"
239
+ http_version:
240
+ recorded_at: Fri, 02 Dec 2011 01:09:35 GMT
241
+ - request:
242
+ method: get
243
+ uri: http://api.vcap.me:80/apps/noapp/stats
244
+ body: ""
245
+ headers:
246
+ User-Agent:
247
+ - cloudfoundry-client-0.1.0
248
+ Authorization:
249
+ - 04085b084922117573657240766361702e6d65063a0645546c2b073101dc4e2219f848b1aea2d82a2a6981750fa1aac61104aed60f
250
+ Accept:
251
+ - application/json
252
+ Content-Type:
253
+ - application/json
254
+ Accept-Encoding:
255
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
256
+ response:
257
+ status:
258
+ code: 404
259
+ message: Not Found
260
+ headers:
261
+ Server:
262
+ - nginx/0.7.65
263
+ Date:
264
+ - Fri, 02 Dec 2011 01:09:36 GMT
265
+ Content-Type:
266
+ - application/json; charset=utf-8
267
+ Transfer-Encoding:
268
+ - chunked
269
+ Connection:
270
+ - keep-alive
271
+ Keep-Alive:
272
+ - timeout=20
273
+ Cache-Control:
274
+ - no-cache
275
+ X-Ua-Compatible:
276
+ - IE=Edge
277
+ body: "{\"code\":301,\"description\":\"Application not found\"}"
278
+ http_version:
279
+ recorded_at: Fri, 02 Dec 2011 01:09:35 GMT
280
+ - request:
281
+ method: get
282
+ uri: http://api.vcap.me:80/apps/newapp/stats
283
+ body: ""
284
+ headers:
285
+ User-Agent:
286
+ - cloudfoundry-client-0.1.0
287
+ Authorization:
288
+ - 04085b084922117573657240766361702e6d65063a0645546c2b073101dc4e2219f848b1aea2d82a2a6981750fa1aac61104aed60f
289
+ Accept:
290
+ - application/json
291
+ Content-Type:
292
+ - application/json
293
+ Accept-Encoding:
294
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
295
+ response:
296
+ status:
297
+ code: 200
298
+ message: OK
299
+ headers:
300
+ Server:
301
+ - nginx/0.7.65
302
+ Date:
303
+ - Fri, 02 Dec 2011 01:09:36 GMT
304
+ Content-Type:
305
+ - application/json; charset=utf-8
306
+ Transfer-Encoding:
307
+ - chunked
308
+ Connection:
309
+ - keep-alive
310
+ Keep-Alive:
311
+ - timeout=20
312
+ Etag:
313
+ - "\"99914b932bd37a50b983c5e7c90ae93b\""
314
+ Cache-Control:
315
+ - max-age=0, private, must-revalidate
316
+ X-Ua-Compatible:
317
+ - IE=Edge
318
+ body: "{}"
319
+ http_version:
320
+ recorded_at: Fri, 02 Dec 2011 01:09:35 GMT
321
+ - request:
322
+ method: get
323
+ uri: http://api.vcap.me:80/apps/noapp/crashes
324
+ body: ""
325
+ headers:
326
+ User-Agent:
327
+ - cloudfoundry-client-0.1.0
328
+ Authorization:
329
+ - 04085b084922117573657240766361702e6d65063a0645546c2b073101dc4e2219f848b1aea2d82a2a6981750fa1aac61104aed60f
330
+ Accept:
331
+ - application/json
332
+ Content-Type:
333
+ - application/json
334
+ Accept-Encoding:
335
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
336
+ response:
337
+ status:
338
+ code: 404
339
+ message: Not Found
340
+ headers:
341
+ Server:
342
+ - nginx/0.7.65
343
+ Date:
344
+ - Fri, 02 Dec 2011 01:09:36 GMT
345
+ Content-Type:
346
+ - application/json; charset=utf-8
347
+ Transfer-Encoding:
348
+ - chunked
349
+ Connection:
350
+ - keep-alive
351
+ Keep-Alive:
352
+ - timeout=20
353
+ Cache-Control:
354
+ - no-cache
355
+ X-Ua-Compatible:
356
+ - IE=Edge
357
+ body: "{\"code\":301,\"description\":\"Application not found\"}"
358
+ http_version:
359
+ recorded_at: Fri, 02 Dec 2011 01:09:35 GMT
360
+ - request:
361
+ method: get
362
+ uri: http://api.vcap.me:80/apps/newapp/crashes
363
+ body: ""
364
+ headers:
365
+ User-Agent:
366
+ - cloudfoundry-client-0.1.0
367
+ Authorization:
368
+ - 04085b084922117573657240766361702e6d65063a0645546c2b073101dc4e2219f848b1aea2d82a2a6981750fa1aac61104aed60f
369
+ Accept:
370
+ - application/json
371
+ Content-Type:
372
+ - application/json
373
+ Accept-Encoding:
374
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
375
+ response:
376
+ status:
377
+ code: 200
378
+ message: OK
379
+ headers:
380
+ Server:
381
+ - nginx/0.7.65
382
+ Date:
383
+ - Fri, 02 Dec 2011 01:09:36 GMT
384
+ Content-Type:
385
+ - application/json; charset=utf-8
386
+ Transfer-Encoding:
387
+ - chunked
388
+ Connection:
389
+ - keep-alive
390
+ Keep-Alive:
391
+ - timeout=20
392
+ Etag:
393
+ - "\"8f95df9c232fa5b8b530dcbe0687c0d0\""
394
+ Cache-Control:
395
+ - max-age=0, private, must-revalidate
396
+ X-Ua-Compatible:
397
+ - IE=Edge
398
+ body: "{\"crashes\":[]}"
399
+ http_version:
400
+ recorded_at: Fri, 02 Dec 2011 01:09:35 GMT
401
+ - request:
402
+ method: get
403
+ uri: http://api.vcap.me:80/apps/noapp/instances/0/files/
404
+ body: ""
405
+ headers:
406
+ User-Agent:
407
+ - cloudfoundry-client-0.1.0
408
+ Authorization:
409
+ - 04085b084922117573657240766361702e6d65063a0645546c2b073101dc4e2219f848b1aea2d82a2a6981750fa1aac61104aed60f
410
+ Accept-Encoding:
411
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
412
+ Accept:
413
+ - "*/*"
414
+ response:
415
+ status:
416
+ code: 404
417
+ message: Not Found
418
+ headers:
419
+ Server:
420
+ - nginx/0.7.65
421
+ Date:
422
+ - Fri, 02 Dec 2011 01:09:36 GMT
423
+ Content-Type:
424
+ - application/json; charset=utf-8
425
+ Transfer-Encoding:
426
+ - chunked
427
+ Connection:
428
+ - keep-alive
429
+ Keep-Alive:
430
+ - timeout=20
431
+ Cache-Control:
432
+ - no-cache
433
+ X-Ua-Compatible:
434
+ - IE=Edge
435
+ body: "{\"code\":301,\"description\":\"Application not found\"}"
436
+ http_version:
437
+ recorded_at: Fri, 02 Dec 2011 01:09:35 GMT
438
+ - request:
439
+ method: get
440
+ uri: http://api.vcap.me:80/apps/newapp/instances/0/files/
441
+ body: ""
442
+ headers:
443
+ User-Agent:
444
+ - cloudfoundry-client-0.1.0
445
+ Authorization:
446
+ - 04085b084922117573657240766361702e6d65063a0645546c2b073101dc4e2219f848b1aea2d82a2a6981750fa1aac61104aed60f
447
+ Accept-Encoding:
448
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
449
+ Accept:
450
+ - "*/*"
451
+ response:
452
+ status:
453
+ code: 400
454
+ message: Bad Request
455
+ headers:
456
+ Server:
457
+ - nginx/0.7.65
458
+ Date:
459
+ - Fri, 02 Dec 2011 01:09:37 GMT
460
+ Content-Type:
461
+ - application/json; charset=utf-8
462
+ Transfer-Encoding:
463
+ - chunked
464
+ Connection:
465
+ - keep-alive
466
+ Keep-Alive:
467
+ - timeout=20
468
+ Cache-Control:
469
+ - no-cache
470
+ X-Ua-Compatible:
471
+ - IE=Edge
472
+ body: "{\"code\":305,\"description\":\"Operation not permitted on a stopped app\"}"
473
+ http_version:
474
+ recorded_at: Fri, 02 Dec 2011 01:09:35 GMT
475
+ - request:
476
+ method: put
477
+ uri: http://api.vcap.me:80/apps/noapp
478
+ body: "{\"name\":\"noapp\"}"
479
+ headers:
480
+ User-Agent:
481
+ - cloudfoundry-client-0.1.0
482
+ Authorization:
483
+ - 04085b084922117573657240766361702e6d65063a0645546c2b073101dc4e2219f848b1aea2d82a2a6981750fa1aac61104aed60f
484
+ Accept:
485
+ - application/json
486
+ Content-Type:
487
+ - application/json
488
+ response:
489
+ status:
490
+ code: 404
491
+ message: Not Found
492
+ headers:
493
+ Server:
494
+ - nginx/0.7.65
495
+ Date:
496
+ - Fri, 02 Dec 2011 01:09:37 GMT
497
+ Content-Type:
498
+ - application/json; charset=utf-8
499
+ Transfer-Encoding:
500
+ - chunked
501
+ Connection:
502
+ - keep-alive
503
+ Keep-Alive:
504
+ - timeout=20
505
+ Cache-Control:
506
+ - no-cache
507
+ X-Ua-Compatible:
508
+ - IE=Edge
509
+ body: "{\"code\":301,\"description\":\"Application not found\"}"
510
+ http_version:
511
+ recorded_at: Fri, 02 Dec 2011 01:09:36 GMT
512
+ - request:
513
+ method: put
514
+ uri: http://api.vcap.me:80/apps/newapp
515
+ body: "{\"name\":\"newapp\",\"staging\":{\"model\":\"node\",\"stack\":\"node\"},\"uris\":[\"newapp.vcap.me\"],\"instances\":2,\"runningInstances\":0,\"resources\":{\"memory\":64,\"disk\":2048,\"fds\":256},\"state\":\"STOPPED\",\"services\":[],\"version\":\"86e45ab956e1a0bbd648a9dda3bc3298-0\",\"env\":[],\"meta\":{\"debug\":null,\"version\":1,\"created\":1322788176}}"
516
+ headers:
517
+ User-Agent:
518
+ - cloudfoundry-client-0.1.0
519
+ Authorization:
520
+ - 04085b084922117573657240766361702e6d65063a0645546c2b073101dc4e2219f848b1aea2d82a2a6981750fa1aac61104aed60f
521
+ Accept:
522
+ - application/json
523
+ Content-Type:
524
+ - application/json
525
+ response:
526
+ status:
527
+ code: 200
528
+ message: OK
529
+ headers:
530
+ Server:
531
+ - nginx/0.7.65
532
+ Date:
533
+ - Fri, 02 Dec 2011 01:09:37 GMT
534
+ Content-Type:
535
+ - application/json; charset=utf-8
536
+ Transfer-Encoding:
537
+ - chunked
538
+ Connection:
539
+ - keep-alive
540
+ Keep-Alive:
541
+ - timeout=20
542
+ Cache-Control:
543
+ - no-cache
544
+ X-Ua-Compatible:
545
+ - IE=Edge
546
+ body: " "
547
+ http_version:
548
+ recorded_at: Fri, 02 Dec 2011 01:09:36 GMT
549
+ - request:
550
+ method: get
551
+ uri: http://api.vcap.me:80/apps/noapp/update
552
+ body: ""
553
+ headers:
554
+ User-Agent:
555
+ - cloudfoundry-client-0.1.0
556
+ Authorization:
557
+ - 04085b084922117573657240766361702e6d65063a0645546c2b073101dc4e2219f848b1aea2d82a2a6981750fa1aac61104aed60f
558
+ Accept:
559
+ - application/json
560
+ Content-Type:
561
+ - application/json
562
+ Accept-Encoding:
563
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
564
+ response:
565
+ status:
566
+ code: 404
567
+ message: Not Found
568
+ headers:
569
+ Server:
570
+ - nginx/0.7.65
571
+ Date:
572
+ - Fri, 02 Dec 2011 01:09:37 GMT
573
+ Content-Type:
574
+ - application/json; charset=utf-8
575
+ Transfer-Encoding:
576
+ - chunked
577
+ Connection:
578
+ - keep-alive
579
+ Keep-Alive:
580
+ - timeout=20
581
+ Cache-Control:
582
+ - no-cache
583
+ X-Ua-Compatible:
584
+ - IE=Edge
585
+ body: "{\"code\":301,\"description\":\"Application not found\"}"
586
+ http_version:
587
+ recorded_at: Fri, 02 Dec 2011 01:09:36 GMT
588
+ - request:
589
+ method: put
590
+ uri: http://api.vcap.me:80/apps/noapp/application
591
+ body: !binary |
592
+ LS0tLS0tLS0tLS0tLVJ1YnlNdWx0aXBhcnRQb3N0DQpDb250ZW50LURpc3Bv
593
+ c2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9ImFwcGxpY2F0aW9uIjsgZmlsZW5h
594
+ bWU9ImFwcC56aXAiDQpDb250ZW50LUxlbmd0aDogNDQxDQpDb250ZW50LVR5
595
+ cGU6IGFwcGxpY2F0aW9uL3ppcA0KQ29udGVudC1UcmFuc2Zlci1FbmNvZGlu
596
+ ZzogYmluYXJ5DQoNClBLAwQUAAAACABDmXs/Op/drRcBAADJAQAABgAcAGFw
597
+ cC5qc1VUCQAD/nzSTl0X2E51eAsAAQT1AQAABBQAAAB1UctugzAQvPMV25ON
598
+ QoG2N/qQIi7cgpqo1wjBJiA5NrXXtFWSf++aSFVUtTePd2Y8s54aCz3RCM9g
599
+ 8d0PFqUIWMSP0cQzb9X1iGGYRNVqveF77ZViFIi9ccQ3ozUtOpeintK3cllv
600
+ l3W9ndmnEwhl2kYFpri4j8b+K6pXr7PoIc/zKAqZ0tZiQ7hGO6GVO69bGowG
601
+ yekSjuhiOEYQDumHHQgrbDp5n+cJHEVpNKGm283XiKIAQfhJWU8HJc5c50ok
602
+ xVN/91KhUgZ21hyAeoRSGd/dgPhNnYaGvWBxKb8AUQQQSv0wUXdsmbFnUJ/j
603
+ VA2Ok8hASub9hXW2RjujMFVmL8WlH1iv9aD30ND8QUWW/flSABl7fwNQSwEC
604
+ HgMUAAAACABDmXs/Op/drRcBAADJAQAABgAYAAAAAAABAAAApIEAAAAAYXBw
605
+ LmpzVVQFAAP+fNJOdXgLAAEE9QEAAAQUAAAAUEsFBgAAAAABAAEATAAAAFcB
606
+ AAAAAA0KLS0tLS0tLS0tLS0tLVJ1YnlNdWx0aXBhcnRQb3N0DQpDb250ZW50
607
+ LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9InJlc291cmNlcyINCg0K
608
+ W10NCi0tLS0tLS0tLS0tLS1SdWJ5TXVsdGlwYXJ0UG9zdC0tDQoNCg==
609
+
610
+ headers:
611
+ User-Agent:
612
+ - cloudfoundry-client-0.1.0
613
+ Authorization:
614
+ - 04085b084922117573657240766361702e6d65063a0645546c2b073101dc4e2219f848b1aea2d82a2a6981750fa1aac61104aed60f
615
+ Content-Type:
616
+ - multipart/form-data;boundary=-----------RubyMultipartPost
617
+ Content-Length:
618
+ - "760"
619
+ Accept:
620
+ - "*/*"
621
+ response:
622
+ status:
623
+ code: 404
624
+ message: Not Found
625
+ headers:
626
+ Server:
627
+ - nginx/0.7.65
628
+ Date:
629
+ - Fri, 02 Dec 2011 01:09:37 GMT
630
+ Content-Type:
631
+ - application/json; charset=utf-8
632
+ Transfer-Encoding:
633
+ - chunked
634
+ Connection:
635
+ - keep-alive
636
+ Keep-Alive:
637
+ - timeout=20
638
+ Cache-Control:
639
+ - no-cache
640
+ X-Ua-Compatible:
641
+ - IE=Edge
642
+ body: "{\"code\":301,\"description\":\"Application not found\"}"
643
+ http_version:
644
+ recorded_at: Fri, 02 Dec 2011 01:09:36 GMT
645
+ - request:
646
+ method: get
647
+ uri: http://api.vcap.me:80/apps/noapp/application
648
+ body: ""
649
+ headers:
650
+ User-Agent:
651
+ - cloudfoundry-client-0.1.0
652
+ Authorization:
653
+ - 04085b084922117573657240766361702e6d65063a0645546c2b073101dc4e2219f848b1aea2d82a2a6981750fa1aac61104aed60f
654
+ Accept-Encoding:
655
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
656
+ Accept:
657
+ - "*/*"
658
+ response:
659
+ status:
660
+ code: 404
661
+ message: Not Found
662
+ headers:
663
+ Server:
664
+ - nginx/0.7.65
665
+ Date:
666
+ - Fri, 02 Dec 2011 01:09:37 GMT
667
+ Content-Type:
668
+ - application/json; charset=utf-8
669
+ Transfer-Encoding:
670
+ - chunked
671
+ Connection:
672
+ - keep-alive
673
+ Keep-Alive:
674
+ - timeout=20
675
+ Cache-Control:
676
+ - no-cache
677
+ X-Ua-Compatible:
678
+ - IE=Edge
679
+ body: "{\"code\":301,\"description\":\"Application not found\"}"
680
+ http_version:
681
+ recorded_at: Fri, 02 Dec 2011 01:09:36 GMT
682
+ - request:
683
+ method: get
684
+ uri: http://api.vcap.me:80/apps/newapp/application
685
+ body: ""
686
+ headers:
687
+ User-Agent:
688
+ - cloudfoundry-client-0.1.0
689
+ Authorization:
690
+ - 04085b084922117573657240766361702e6d65063a0645546c2b073101dc4e2219f848b1aea2d82a2a6981750fa1aac61104aed60f
691
+ Accept-Encoding:
692
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
693
+ Accept:
694
+ - "*/*"
695
+ response:
696
+ status:
697
+ code: 404
698
+ message: Not Found
699
+ headers:
700
+ Server:
701
+ - nginx/0.7.65
702
+ Date:
703
+ - Fri, 02 Dec 2011 01:09:37 GMT
704
+ Content-Type:
705
+ - application/json; charset=utf-8
706
+ Transfer-Encoding:
707
+ - chunked
708
+ Connection:
709
+ - keep-alive
710
+ Keep-Alive:
711
+ - timeout=20
712
+ Cache-Control:
713
+ - no-cache
714
+ X-Ua-Compatible:
715
+ - IE=Edge
716
+ body: "{\"code\":301,\"description\":\"Application not found\"}"
717
+ http_version:
718
+ recorded_at: Fri, 02 Dec 2011 01:09:36 GMT
719
+ - request:
720
+ method: get
721
+ uri: http://api.vcap.me:80/apps/newapp/instances/0/files/app/nofile
722
+ body: ""
723
+ headers:
724
+ User-Agent:
725
+ - cloudfoundry-client-0.1.0
726
+ Authorization:
727
+ - 04085b084922117573657240766361702e6d65063a0645546c2b073101dc4e2219f848b1aea2d82a2a6981750fa1aac61104aed60f
728
+ Accept-Encoding:
729
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
730
+ Accept:
731
+ - "*/*"
732
+ response:
733
+ status:
734
+ code: 500
735
+ message: Internal Server Error
736
+ headers:
737
+ Server:
738
+ - nginx/0.7.65
739
+ Date:
740
+ - Fri, 02 Dec 2011 01:09:40 GMT
741
+ Content-Type:
742
+ - application/json; charset=utf-8
743
+ Transfer-Encoding:
744
+ - chunked
745
+ Connection:
746
+ - keep-alive
747
+ Keep-Alive:
748
+ - timeout=20
749
+ Cache-Control:
750
+ - no-cache
751
+ X-Ua-Compatible:
752
+ - IE=Edge
753
+ body: "{\"code\":306,\"description\":\"Error retrieving file 'app/nofile'\"}"
754
+ http_version:
755
+ recorded_at: Fri, 02 Dec 2011 01:09:39 GMT
756
+ - request:
757
+ method: delete
758
+ uri: http://api.vcap.me:80/apps/noapp
759
+ body: ""
760
+ headers:
761
+ User-Agent:
762
+ - cloudfoundry-client-0.1.0
763
+ Authorization:
764
+ - 04085b084922117573657240766361702e6d65063a0645546c2b073101dc4e2219f848b1aea2d82a2a6981750fa1aac61104aed60f
765
+ Accept:
766
+ - "*/*"
767
+ response:
768
+ status:
769
+ code: 404
770
+ message: Not Found
771
+ headers:
772
+ Server:
773
+ - nginx/0.7.65
774
+ Date:
775
+ - Fri, 02 Dec 2011 01:09:42 GMT
776
+ Content-Type:
777
+ - application/json; charset=utf-8
778
+ Transfer-Encoding:
779
+ - chunked
780
+ Connection:
781
+ - keep-alive
782
+ Keep-Alive:
783
+ - timeout=20
784
+ Cache-Control:
785
+ - no-cache
786
+ X-Ua-Compatible:
787
+ - IE=Edge
788
+ body: "{\"code\":301,\"description\":\"Application not found\"}"
789
+ http_version:
790
+ recorded_at: Fri, 02 Dec 2011 01:09:41 GMT
791
+ - request:
792
+ method: delete
793
+ uri: http://api.vcap.me:80/apps/newapp
794
+ body: ""
795
+ headers:
796
+ User-Agent:
797
+ - cloudfoundry-client-0.1.0
798
+ Authorization:
799
+ - 04085b084922117573657240766361702e6d65063a0645546c2b073101dc4e2219f848b1aea2d82a2a6981750fa1aac61104aed60f
800
+ Accept:
801
+ - "*/*"
802
+ response:
803
+ status:
804
+ code: 200
805
+ message: OK
806
+ headers:
807
+ Server:
808
+ - nginx/0.7.65
809
+ Date:
810
+ - Fri, 02 Dec 2011 01:09:42 GMT
811
+ Content-Type:
812
+ - text/html; charset=utf-8
813
+ Transfer-Encoding:
814
+ - chunked
815
+ Connection:
816
+ - keep-alive
817
+ Keep-Alive:
818
+ - timeout=20
819
+ Vary:
820
+ - Accept-Encoding
821
+ Cache-Control:
822
+ - no-cache
823
+ X-Ua-Compatible:
824
+ - IE=Edge
825
+ body: " "
826
+ http_version:
827
+ recorded_at: Fri, 02 Dec 2011 01:09:41 GMT
828
+ recorded_with: VCR 2.0.0.beta2