cloudfoundry-client 0.1.0

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