teamcity_ruby 0.0.1

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 (32) hide show
  1. data/.gitignore +17 -0
  2. data/.ruby-version +1 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +42 -0
  6. data/Rakefile +5 -0
  7. data/lib/teamcity_ruby/build_configuration.rb +86 -0
  8. data/lib/teamcity_ruby/element_builder.rb +27 -0
  9. data/lib/teamcity_ruby/project.rb +52 -0
  10. data/lib/teamcity_ruby/resource.rb +26 -0
  11. data/lib/teamcity_ruby/vcs_root.rb +49 -0
  12. data/lib/teamcity_ruby/version.rb +3 -0
  13. data/lib/teamcity_ruby.rb +28 -0
  14. data/spec/cassettes/TeamcityRuby_BuildConfiguration/a_existing_build_configuration/can_get_a_build_step_added_to_it.yml +331 -0
  15. data/spec/cassettes/TeamcityRuby_BuildConfiguration/a_existing_build_configuration/can_get_a_build_trigger_added_to_it.yml +298 -0
  16. data/spec/cassettes/TeamcityRuby_BuildConfiguration/a_existing_build_configuration/can_get_a_vcs_root_attached_with_specific_checkout_rules.yml +335 -0
  17. data/spec/cassettes/TeamcityRuby_BuildConfiguration/fetches_a_specific_build_configuration_by_id.yml +261 -0
  18. data/spec/cassettes/TeamcityRuby_BuildConfiguration/lists_all_build_configurations.yml +397 -0
  19. data/spec/cassettes/TeamcityRuby_Project/creates_a_project_copying_its_settings_from_a_source_project.yml +301 -0
  20. data/spec/cassettes/TeamcityRuby_Project/creates_a_project_with_a_parent_project.yml +154 -0
  21. data/spec/cassettes/TeamcityRuby_Project/destroys_a_specific_project.yml +223 -0
  22. data/spec/cassettes/TeamcityRuby_Project/fetches_a_specific_project_by_id_locator.yml +220 -0
  23. data/spec/cassettes/TeamcityRuby_Project/fetches_a_specific_project_by_name_locator.yml +187 -0
  24. data/spec/cassettes/TeamcityRuby_Project/lists_all_projects_including_root_built_in_on_TeamCity_.yml +224 -0
  25. data/spec/cassettes/TeamcityRuby_VcsRoot/lists_all_vcs_roots.yml +151 -0
  26. data/spec/spec_helper.rb +32 -0
  27. data/spec/teamcity_ruby/build_configuration_spec.rb +59 -0
  28. data/spec/teamcity_ruby/element_builder_spec.rb +29 -0
  29. data/spec/teamcity_ruby/project_spec.rb +59 -0
  30. data/spec/teamcity_ruby/vcs_root_spec.rb +21 -0
  31. data/teamcity_ruby.gemspec +31 -0
  32. metadata +242 -0
@@ -0,0 +1,397 @@
1
+ ---
2
+ recorded_with: VCR 2.4.0
3
+ http_interactions:
4
+ - request:
5
+ method: get
6
+ uri: http://teamcity:teamcity@localhost:8111/httpAuth/app/rest/projects
7
+ body:
8
+ string: ""
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Content-Type:
13
+ - application/json
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Date:
20
+ - Sat, 19 Apr 2014 18:41:00 GMT
21
+ Transfer-Encoding:
22
+ - chunked
23
+ Server:
24
+ - Apache-Coyote/1.1
25
+ Set-Cookie:
26
+ - RememberMe=""; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly
27
+ - TCSESSIONID=3782C48FA2A36EEC65A1B2A6E4969116; Path=/; HttpOnly
28
+ Content-Type:
29
+ - application/json
30
+ Pragma:
31
+ - no-cache
32
+ Expires:
33
+ - Thu, 01 Jan 1970 00:00:00 GMT
34
+ Cache-Control:
35
+ - no-cache
36
+ - no-store
37
+ body:
38
+ string: "{\"project\":[{\"id\":\"_Root\",\"name\":\"<Root project>\",\"href\":\"/httpAuth/app/rest/projects/id:_Root\",\"archived\":false,\"webUrl\":\"http://localhost:8111/project.html?projectId=_Root\"},{\"id\":\"BaseProject\",\"name\":\"Base Project\",\"href\":\"/httpAuth/app/rest/projects/id:BaseProject\",\"archived\":false,\"webUrl\":\"http://localhost:8111/project.html?projectId=BaseProject\",\"parentProjectId\":\"_Root\"},{\"id\":\"ProjectCopy_2\",\"name\":\"Project Copy\",\"href\":\"/httpAuth/app/rest/projects/id:ProjectCopy_2\",\"archived\":false,\"webUrl\":\"http://localhost:8111/project.html?projectId=ProjectCopy_2\",\"parentProjectId\":\"_Root\"}]}"
39
+ http_version:
40
+ recorded_at: Sat, 19 Apr 2014 18:38:15 GMT
41
+ - request:
42
+ method: delete
43
+ uri: http://teamcity:teamcity@localhost:8111/httpAuth/app/rest/projects/id:_Root
44
+ body:
45
+ string: ""
46
+ headers:
47
+ Accept:
48
+ - application/json
49
+ Content-Type:
50
+ - application/json
51
+ response:
52
+ status:
53
+ code: 403
54
+ message: Forbidden
55
+ headers:
56
+ Date:
57
+ - Sat, 19 Apr 2014 18:41:00 GMT
58
+ Transfer-Encoding:
59
+ - chunked
60
+ Server:
61
+ - Apache-Coyote/1.1
62
+ Set-Cookie:
63
+ - RememberMe=""; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly
64
+ - TCSESSIONID=D74BEFE93CEA49A32DE51D2E6834BCE6; Path=/; HttpOnly
65
+ Content-Type:
66
+ - text/plain
67
+ Pragma:
68
+ - no-cache
69
+ Expires:
70
+ - Thu, 01 Jan 1970 00:00:00 GMT
71
+ Cache-Control:
72
+ - no-cache
73
+ - no-store
74
+ body:
75
+ string: |-
76
+ Error has occurred during request processing (Forbidden).
77
+ Error: jetbrains.buildServer.serverSide.auth.AccessDeniedException: Root project cannot be removed
78
+ Access denied. Check the user has enough permissions to perform the operation.
79
+ http_version:
80
+ recorded_at: Sat, 19 Apr 2014 18:38:15 GMT
81
+ - request:
82
+ method: delete
83
+ uri: http://teamcity:teamcity@localhost:8111/httpAuth/app/rest/projects/id:BaseProject
84
+ body:
85
+ string: ""
86
+ headers:
87
+ Accept:
88
+ - application/json
89
+ Content-Type:
90
+ - application/json
91
+ response:
92
+ status:
93
+ code: 204
94
+ message: No Content
95
+ headers:
96
+ Date:
97
+ - Sat, 19 Apr 2014 18:41:00 GMT
98
+ Server:
99
+ - Apache-Coyote/1.1
100
+ Set-Cookie:
101
+ - RememberMe=""; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly
102
+ - TCSESSIONID=6AE580ED1D54EC7C3F8D3F9EB75240F8; Path=/; HttpOnly
103
+ Pragma:
104
+ - no-cache
105
+ Expires:
106
+ - Thu, 01 Jan 1970 00:00:00 GMT
107
+ Cache-Control:
108
+ - no-cache
109
+ - no-store
110
+ body:
111
+ string: ""
112
+ http_version:
113
+ recorded_at: Sat, 19 Apr 2014 18:38:15 GMT
114
+ - request:
115
+ method: delete
116
+ uri: http://teamcity:teamcity@localhost:8111/httpAuth/app/rest/projects/id:ProjectCopy_2
117
+ body:
118
+ string: ""
119
+ headers:
120
+ Accept:
121
+ - application/json
122
+ Content-Type:
123
+ - application/json
124
+ response:
125
+ status:
126
+ code: 204
127
+ message: No Content
128
+ headers:
129
+ Date:
130
+ - Sat, 19 Apr 2014 18:41:00 GMT
131
+ Server:
132
+ - Apache-Coyote/1.1
133
+ Set-Cookie:
134
+ - RememberMe=""; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly
135
+ - TCSESSIONID=933E49BE902911C44D6949DD26FCAD80; Path=/; HttpOnly
136
+ Pragma:
137
+ - no-cache
138
+ Expires:
139
+ - Thu, 01 Jan 1970 00:00:00 GMT
140
+ Cache-Control:
141
+ - no-cache
142
+ - no-store
143
+ body:
144
+ string: ""
145
+ http_version:
146
+ recorded_at: Sat, 19 Apr 2014 18:38:15 GMT
147
+ - request:
148
+ method: get
149
+ uri: http://teamcity:teamcity@localhost:8111/httpAuth/app/rest/vcs-roots
150
+ body:
151
+ string: ""
152
+ headers:
153
+ Accept:
154
+ - application/json
155
+ Content-Type:
156
+ - application/json
157
+ response:
158
+ status:
159
+ code: 200
160
+ message: OK
161
+ headers:
162
+ Date:
163
+ - Sat, 19 Apr 2014 18:41:00 GMT
164
+ Transfer-Encoding:
165
+ - chunked
166
+ Server:
167
+ - Apache-Coyote/1.1
168
+ Set-Cookie:
169
+ - RememberMe=""; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly
170
+ - TCSESSIONID=A5B2D048899E1A3F69419E8F932BFDC7; Path=/; HttpOnly
171
+ Content-Type:
172
+ - application/json
173
+ Pragma:
174
+ - no-cache
175
+ Expires:
176
+ - Thu, 01 Jan 1970 00:00:00 GMT
177
+ Cache-Control:
178
+ - no-cache
179
+ - no-store
180
+ body:
181
+ string: "{\"count\":2,\"vcs-root\":[{\"id\":\"Root_VcsRoot1\",\"name\":\"VCS Root 1\",\"href\":\"/httpAuth/app/rest/vcs-roots/id:Root_VcsRoot1\"},{\"id\":\"Root_VcsRoot2\",\"name\":\"VCS Root 2\",\"href\":\"/httpAuth/app/rest/vcs-roots/id:Root_VcsRoot2\"}]}"
182
+ http_version:
183
+ recorded_at: Sat, 19 Apr 2014 18:38:15 GMT
184
+ - request:
185
+ method: delete
186
+ uri: http://teamcity:teamcity@localhost:8111/httpAuth/app/rest/vcs-roots/id:Root_VcsRoot1
187
+ body:
188
+ string: ""
189
+ headers:
190
+ Accept:
191
+ - application/json
192
+ Content-Type:
193
+ - application/json
194
+ response:
195
+ status:
196
+ code: 204
197
+ message: No Content
198
+ headers:
199
+ Date:
200
+ - Sat, 19 Apr 2014 18:41:00 GMT
201
+ Server:
202
+ - Apache-Coyote/1.1
203
+ Set-Cookie:
204
+ - RememberMe=""; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly
205
+ - TCSESSIONID=776C1785661C0DD144611D6931F8CD4B; Path=/; HttpOnly
206
+ Pragma:
207
+ - no-cache
208
+ Expires:
209
+ - Thu, 01 Jan 1970 00:00:00 GMT
210
+ Cache-Control:
211
+ - no-cache
212
+ - no-store
213
+ body:
214
+ string: ""
215
+ http_version:
216
+ recorded_at: Sat, 19 Apr 2014 18:38:15 GMT
217
+ - request:
218
+ method: delete
219
+ uri: http://teamcity:teamcity@localhost:8111/httpAuth/app/rest/vcs-roots/id:Root_VcsRoot2
220
+ body:
221
+ string: ""
222
+ headers:
223
+ Accept:
224
+ - application/json
225
+ Content-Type:
226
+ - application/json
227
+ response:
228
+ status:
229
+ code: 204
230
+ message: No Content
231
+ headers:
232
+ Date:
233
+ - Sat, 19 Apr 2014 18:41:00 GMT
234
+ Server:
235
+ - Apache-Coyote/1.1
236
+ Set-Cookie:
237
+ - RememberMe=""; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly
238
+ - TCSESSIONID=1944E8BFB21368C397A5BE864C438983; Path=/; HttpOnly
239
+ Pragma:
240
+ - no-cache
241
+ Expires:
242
+ - Thu, 01 Jan 1970 00:00:00 GMT
243
+ Cache-Control:
244
+ - no-cache
245
+ - no-store
246
+ body:
247
+ string: ""
248
+ http_version:
249
+ recorded_at: Sat, 19 Apr 2014 18:38:15 GMT
250
+ - request:
251
+ method: post
252
+ uri: http://teamcity:teamcity@localhost:8111/httpAuth/app/rest/projects
253
+ body:
254
+ string: "{\"name\":\"Sample Project\"}"
255
+ headers:
256
+ Accept:
257
+ - application/json
258
+ Content-Type:
259
+ - application/json
260
+ response:
261
+ status:
262
+ code: 200
263
+ message: OK
264
+ headers:
265
+ Date:
266
+ - Sat, 19 Apr 2014 18:41:00 GMT
267
+ Transfer-Encoding:
268
+ - chunked
269
+ Server:
270
+ - Apache-Coyote/1.1
271
+ Set-Cookie:
272
+ - RememberMe=""; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly
273
+ - TCSESSIONID=01F7F849E17A1BD6570E45A9F982A982; Path=/; HttpOnly
274
+ Content-Type:
275
+ - application/json
276
+ Pragma:
277
+ - no-cache
278
+ Expires:
279
+ - Thu, 01 Jan 1970 00:00:00 GMT
280
+ Cache-Control:
281
+ - no-cache
282
+ - no-store
283
+ body:
284
+ string: "{\"id\":\"SampleProject\",\"name\":\"Sample Project\",\"href\":\"/httpAuth/app/rest/projects/id:SampleProject\",\"archived\":false,\"webUrl\":\"http://localhost:8111/project.html?projectId=SampleProject\",\"parentProjectId\":\"_Root\"}"
285
+ http_version:
286
+ recorded_at: Sat, 19 Apr 2014 18:38:15 GMT
287
+ - request:
288
+ method: post
289
+ uri: http://teamcity:teamcity@localhost:8111/httpAuth/app/rest/projects/id:SampleProject/buildTypes
290
+ body:
291
+ string: "{\"name\":\"Build Configuration 1\"}"
292
+ headers:
293
+ Accept:
294
+ - application/json
295
+ Content-Type:
296
+ - application/json
297
+ response:
298
+ status:
299
+ code: 200
300
+ message: OK
301
+ headers:
302
+ Date:
303
+ - Sat, 19 Apr 2014 18:41:00 GMT
304
+ Transfer-Encoding:
305
+ - chunked
306
+ Server:
307
+ - Apache-Coyote/1.1
308
+ Set-Cookie:
309
+ - RememberMe=""; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly
310
+ - TCSESSIONID=F4D5D603200F0946AD899D3F64929CCF; Path=/; HttpOnly
311
+ Content-Type:
312
+ - application/json
313
+ Pragma:
314
+ - no-cache
315
+ Expires:
316
+ - Thu, 01 Jan 1970 00:00:00 GMT
317
+ Cache-Control:
318
+ - no-cache
319
+ - no-store
320
+ body:
321
+ string: "{\"id\":\"SampleProject_BuildConfiguration1\",\"name\":\"Build Configuration 1\",\"href\":\"/httpAuth/app/rest/buildTypes/id:SampleProject_BuildConfiguration1\",\"webUrl\":\"http://localhost:8111/viewType.html?buildTypeId=SampleProject_BuildConfiguration1\",\"paused\":false,\"project\":{\"id\":\"SampleProject\",\"name\":\"Sample Project\",\"href\":\"/httpAuth/app/rest/projects/id:SampleProject\",\"archived\":false,\"webUrl\":\"http://localhost:8111/project.html?projectId=SampleProject\",\"parentProjectId\":\"_Root\"},\"builds\":{\"href\":\"/httpAuth/app/rest/buildTypes/id:SampleProject_BuildConfiguration1/builds/\"},\"vcs-root-entries\":{\"vcs-root-entry\":[]},\"settings\":{\"property\":[{\"name\":\"allowExternalStatus\",\"value\":\"false\"},{\"name\":\"artifactRules\",\"value\":\"\"},{\"name\":\"buildNumberCounter\",\"value\":\"1\"},{\"name\":\"buildNumberPattern\",\"value\":\"%build.counter%\"},{\"name\":\"checkoutDirectory\"},{\"name\":\"checkoutMode\",\"value\":\"ON_SERVER\"},{\"name\":\"cleanBuild\",\"value\":\"false\"},{\"name\":\"enableHangingBuildsDetection\",\"value\":\"true\"},{\"name\":\"executionTimeoutMin\",\"value\":\"0\"},{\"name\":\"maximumNumberOfBuilds\",\"value\":\"0\"},{\"name\":\"shouldFailBuildIfTestsFailed\",\"value\":\"true\"},{\"name\":\"shouldFailBuildOnAnyErrorMessage\",\"value\":\"false\"},{\"name\":\"shouldFailBuildOnBadExitCode\",\"value\":\"true\"},{\"name\":\"shouldFailBuildOnOOMEOrCrash\",\"value\":\"true\"},{\"name\":\"showDependenciesChanges\",\"value\":\"false\"},{\"name\":\"vcsLabelingBranchFilter\",\"value\":\"+:<default>\"}]},\"parameters\":{\"property\":[]},\"steps\":{\"step\":[]},\"features\":{\"feature\":[]},\"triggers\":{\"trigger\":[]},\"snapshot-dependencies\":{\"snapshot-dependency\":[]},\"artifact-dependencies\":{\"artifact-dependency\":[]},\"agent-requirements\":{\"agent-requirement\":[]}}"
322
+ http_version:
323
+ recorded_at: Sat, 19 Apr 2014 18:38:15 GMT
324
+ - request:
325
+ method: post
326
+ uri: http://teamcity:teamcity@localhost:8111/httpAuth/app/rest/projects/id:SampleProject/buildTypes
327
+ body:
328
+ string: "{\"name\":\"Build Configuration 2\"}"
329
+ headers:
330
+ Accept:
331
+ - application/json
332
+ Content-Type:
333
+ - application/json
334
+ response:
335
+ status:
336
+ code: 200
337
+ message: OK
338
+ headers:
339
+ Date:
340
+ - Sat, 19 Apr 2014 18:41:00 GMT
341
+ Transfer-Encoding:
342
+ - chunked
343
+ Server:
344
+ - Apache-Coyote/1.1
345
+ Set-Cookie:
346
+ - RememberMe=""; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly
347
+ - TCSESSIONID=FC5CC99F4672D28AE9AE3BE621F4430F; Path=/; HttpOnly
348
+ Content-Type:
349
+ - application/json
350
+ Pragma:
351
+ - no-cache
352
+ Expires:
353
+ - Thu, 01 Jan 1970 00:00:00 GMT
354
+ Cache-Control:
355
+ - no-cache
356
+ - no-store
357
+ body:
358
+ string: "{\"id\":\"SampleProject_BuildConfiguration2\",\"name\":\"Build Configuration 2\",\"href\":\"/httpAuth/app/rest/buildTypes/id:SampleProject_BuildConfiguration2\",\"webUrl\":\"http://localhost:8111/viewType.html?buildTypeId=SampleProject_BuildConfiguration2\",\"paused\":false,\"project\":{\"id\":\"SampleProject\",\"name\":\"Sample Project\",\"href\":\"/httpAuth/app/rest/projects/id:SampleProject\",\"archived\":false,\"webUrl\":\"http://localhost:8111/project.html?projectId=SampleProject\",\"parentProjectId\":\"_Root\"},\"builds\":{\"href\":\"/httpAuth/app/rest/buildTypes/id:SampleProject_BuildConfiguration2/builds/\"},\"vcs-root-entries\":{\"vcs-root-entry\":[]},\"settings\":{\"property\":[{\"name\":\"allowExternalStatus\",\"value\":\"false\"},{\"name\":\"artifactRules\",\"value\":\"\"},{\"name\":\"buildNumberCounter\",\"value\":\"1\"},{\"name\":\"buildNumberPattern\",\"value\":\"%build.counter%\"},{\"name\":\"checkoutDirectory\"},{\"name\":\"checkoutMode\",\"value\":\"ON_SERVER\"},{\"name\":\"cleanBuild\",\"value\":\"false\"},{\"name\":\"enableHangingBuildsDetection\",\"value\":\"true\"},{\"name\":\"executionTimeoutMin\",\"value\":\"0\"},{\"name\":\"maximumNumberOfBuilds\",\"value\":\"0\"},{\"name\":\"shouldFailBuildIfTestsFailed\",\"value\":\"true\"},{\"name\":\"shouldFailBuildOnAnyErrorMessage\",\"value\":\"false\"},{\"name\":\"shouldFailBuildOnBadExitCode\",\"value\":\"true\"},{\"name\":\"shouldFailBuildOnOOMEOrCrash\",\"value\":\"true\"},{\"name\":\"showDependenciesChanges\",\"value\":\"false\"},{\"name\":\"vcsLabelingBranchFilter\",\"value\":\"+:<default>\"}]},\"parameters\":{\"property\":[]},\"steps\":{\"step\":[]},\"features\":{\"feature\":[]},\"triggers\":{\"trigger\":[]},\"snapshot-dependencies\":{\"snapshot-dependency\":[]},\"artifact-dependencies\":{\"artifact-dependency\":[]},\"agent-requirements\":{\"agent-requirement\":[]}}"
359
+ http_version:
360
+ recorded_at: Sat, 19 Apr 2014 18:38:15 GMT
361
+ - request:
362
+ method: get
363
+ uri: http://teamcity:teamcity@localhost:8111/httpAuth/app/rest/buildTypes
364
+ body:
365
+ string: ""
366
+ headers:
367
+ Accept:
368
+ - application/json
369
+ Content-Type:
370
+ - application/json
371
+ response:
372
+ status:
373
+ code: 200
374
+ message: OK
375
+ headers:
376
+ Date:
377
+ - Sat, 19 Apr 2014 18:41:00 GMT
378
+ Transfer-Encoding:
379
+ - chunked
380
+ Server:
381
+ - Apache-Coyote/1.1
382
+ Set-Cookie:
383
+ - RememberMe=""; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly
384
+ - TCSESSIONID=94FAF6C5310C068D10CCB6FA2086218B; Path=/; HttpOnly
385
+ Content-Type:
386
+ - application/json
387
+ Pragma:
388
+ - no-cache
389
+ Expires:
390
+ - Thu, 01 Jan 1970 00:00:00 GMT
391
+ Cache-Control:
392
+ - no-cache
393
+ - no-store
394
+ body:
395
+ string: "{\"buildType\":[{\"id\":\"SampleProject_BuildConfiguration1\",\"name\":\"Build Configuration 1\",\"href\":\"/httpAuth/app/rest/buildTypes/id:SampleProject_BuildConfiguration1\",\"projectName\":\"Sample Project\",\"projectId\":\"SampleProject\",\"webUrl\":\"http://localhost:8111/viewType.html?buildTypeId=SampleProject_BuildConfiguration1\"},{\"id\":\"SampleProject_BuildConfiguration2\",\"name\":\"Build Configuration 2\",\"href\":\"/httpAuth/app/rest/buildTypes/id:SampleProject_BuildConfiguration2\",\"projectName\":\"Sample Project\",\"projectId\":\"SampleProject\",\"webUrl\":\"http://localhost:8111/viewType.html?buildTypeId=SampleProject_BuildConfiguration2\"}]}"
396
+ http_version:
397
+ recorded_at: Sat, 19 Apr 2014 18:38:15 GMT
@@ -0,0 +1,301 @@
1
+ ---
2
+ recorded_with: VCR 2.4.0
3
+ http_interactions:
4
+ - request:
5
+ method: get
6
+ uri: http://teamcity:teamcity@localhost:8111/httpAuth/app/rest/projects
7
+ body:
8
+ string: ""
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Content-Type:
13
+ - application/json
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Date:
20
+ - Sat, 19 Apr 2014 18:41:02 GMT
21
+ Transfer-Encoding:
22
+ - chunked
23
+ Server:
24
+ - Apache-Coyote/1.1
25
+ Set-Cookie:
26
+ - RememberMe=""; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly
27
+ - TCSESSIONID=087AB01791A1AEEC97CBE69E582DD5F4; Path=/; HttpOnly
28
+ Content-Type:
29
+ - application/json
30
+ Pragma:
31
+ - no-cache
32
+ Expires:
33
+ - Thu, 01 Jan 1970 00:00:00 GMT
34
+ Cache-Control:
35
+ - no-cache
36
+ - no-store
37
+ body:
38
+ string: "{\"project\":[{\"id\":\"_Root\",\"name\":\"<Root project>\",\"href\":\"/httpAuth/app/rest/projects/id:_Root\",\"archived\":false,\"webUrl\":\"http://localhost:8111/project.html?projectId=_Root\"},{\"id\":\"PetshopGroup\",\"name\":\"Petshop Group\",\"href\":\"/httpAuth/app/rest/projects/id:PetshopGroup\",\"archived\":false,\"webUrl\":\"http://localhost:8111/project.html?projectId=PetshopGroup\",\"parentProjectId\":\"_Root\"},{\"id\":\"PetshopGroup_SampleProject\",\"name\":\"Sample Project\",\"href\":\"/httpAuth/app/rest/projects/id:PetshopGroup_SampleProject\",\"archived\":false,\"webUrl\":\"http://localhost:8111/project.html?projectId=PetshopGroup_SampleProject\",\"parentProjectId\":\"PetshopGroup\"}]}"
39
+ http_version:
40
+ recorded_at: Sat, 19 Apr 2014 18:38:17 GMT
41
+ - request:
42
+ method: delete
43
+ uri: http://teamcity:teamcity@localhost:8111/httpAuth/app/rest/projects/id:_Root
44
+ body:
45
+ string: ""
46
+ headers:
47
+ Accept:
48
+ - application/json
49
+ Content-Type:
50
+ - application/json
51
+ response:
52
+ status:
53
+ code: 403
54
+ message: Forbidden
55
+ headers:
56
+ Date:
57
+ - Sat, 19 Apr 2014 18:41:02 GMT
58
+ Transfer-Encoding:
59
+ - chunked
60
+ Server:
61
+ - Apache-Coyote/1.1
62
+ Set-Cookie:
63
+ - RememberMe=""; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly
64
+ - TCSESSIONID=764F3C66485CB1EA6219291DEBC2B5DA; Path=/; HttpOnly
65
+ Content-Type:
66
+ - text/plain
67
+ Pragma:
68
+ - no-cache
69
+ Expires:
70
+ - Thu, 01 Jan 1970 00:00:00 GMT
71
+ Cache-Control:
72
+ - no-cache
73
+ - no-store
74
+ body:
75
+ string: |-
76
+ Error has occurred during request processing (Forbidden).
77
+ Error: jetbrains.buildServer.serverSide.auth.AccessDeniedException: Root project cannot be removed
78
+ Access denied. Check the user has enough permissions to perform the operation.
79
+ http_version:
80
+ recorded_at: Sat, 19 Apr 2014 18:38:17 GMT
81
+ - request:
82
+ method: delete
83
+ uri: http://teamcity:teamcity@localhost:8111/httpAuth/app/rest/projects/id:PetshopGroup
84
+ body:
85
+ string: ""
86
+ headers:
87
+ Accept:
88
+ - application/json
89
+ Content-Type:
90
+ - application/json
91
+ response:
92
+ status:
93
+ code: 204
94
+ message: No Content
95
+ headers:
96
+ Date:
97
+ - Sat, 19 Apr 2014 18:41:02 GMT
98
+ Server:
99
+ - Apache-Coyote/1.1
100
+ Set-Cookie:
101
+ - RememberMe=""; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly
102
+ - TCSESSIONID=4EF2098C6E8362CC499045B9F0B80F72; Path=/; HttpOnly
103
+ Pragma:
104
+ - no-cache
105
+ Expires:
106
+ - Thu, 01 Jan 1970 00:00:00 GMT
107
+ Cache-Control:
108
+ - no-cache
109
+ - no-store
110
+ body:
111
+ string: ""
112
+ http_version:
113
+ recorded_at: Sat, 19 Apr 2014 18:38:17 GMT
114
+ - request:
115
+ method: delete
116
+ uri: http://teamcity:teamcity@localhost:8111/httpAuth/app/rest/projects/id:PetshopGroup_SampleProject
117
+ body:
118
+ string: ""
119
+ headers:
120
+ Accept:
121
+ - application/json
122
+ Content-Type:
123
+ - application/json
124
+ response:
125
+ status:
126
+ code: 404
127
+ message: Not Found
128
+ headers:
129
+ Date:
130
+ - Sat, 19 Apr 2014 18:41:02 GMT
131
+ Transfer-Encoding:
132
+ - chunked
133
+ Server:
134
+ - Apache-Coyote/1.1
135
+ Set-Cookie:
136
+ - RememberMe=""; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly
137
+ - TCSESSIONID=DAD98586E12308D973CD972898DDB6A4; Path=/; HttpOnly
138
+ Content-Type:
139
+ - text/plain
140
+ Pragma:
141
+ - no-cache
142
+ Expires:
143
+ - Thu, 01 Jan 1970 00:00:00 GMT
144
+ Cache-Control:
145
+ - no-cache
146
+ - no-store
147
+ body:
148
+ string: |-
149
+ Error has occurred during request processing (Not Found).
150
+ Error: jetbrains.buildServer.server.rest.errors.NotFoundException: No project found by locator 'id:PetshopGroup_SampleProject'. Project cannot be found by external id 'PetshopGroup_SampleProject'.
151
+ Could not find the entity requested. Check the reference is correct and the user has permissions to access the entity.
152
+ http_version:
153
+ recorded_at: Sat, 19 Apr 2014 18:38:17 GMT
154
+ - request:
155
+ method: post
156
+ uri: http://teamcity:teamcity@localhost:8111/httpAuth/app/rest/projects
157
+ body:
158
+ string: "{\"name\":\"Base Project\"}"
159
+ headers:
160
+ Accept:
161
+ - application/json
162
+ Content-Type:
163
+ - application/json
164
+ response:
165
+ status:
166
+ code: 200
167
+ message: OK
168
+ headers:
169
+ Date:
170
+ - Sat, 19 Apr 2014 18:41:02 GMT
171
+ Transfer-Encoding:
172
+ - chunked
173
+ Server:
174
+ - Apache-Coyote/1.1
175
+ Set-Cookie:
176
+ - RememberMe=""; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly
177
+ - TCSESSIONID=5ACEE5D21417201EFF17861C3CFE2FD7; Path=/; HttpOnly
178
+ Content-Type:
179
+ - application/json
180
+ Pragma:
181
+ - no-cache
182
+ Expires:
183
+ - Thu, 01 Jan 1970 00:00:00 GMT
184
+ Cache-Control:
185
+ - no-cache
186
+ - no-store
187
+ body:
188
+ string: "{\"id\":\"BaseProject\",\"name\":\"Base Project\",\"href\":\"/httpAuth/app/rest/projects/id:BaseProject\",\"archived\":false,\"webUrl\":\"http://localhost:8111/project.html?projectId=BaseProject\",\"parentProjectId\":\"_Root\"}"
189
+ http_version:
190
+ recorded_at: Sat, 19 Apr 2014 18:38:17 GMT
191
+ - request:
192
+ method: put
193
+ uri: http://teamcity:teamcity@localhost:8111/httpAuth/app/rest/projects/id:BaseProject/description
194
+ body:
195
+ string: Base Project Description
196
+ headers:
197
+ Accept:
198
+ - text/plain
199
+ Content-Type:
200
+ - text/plain
201
+ response:
202
+ status:
203
+ code: 200
204
+ message: OK
205
+ headers:
206
+ Date:
207
+ - Sat, 19 Apr 2014 18:41:02 GMT
208
+ Transfer-Encoding:
209
+ - chunked
210
+ Server:
211
+ - Apache-Coyote/1.1
212
+ Set-Cookie:
213
+ - RememberMe=""; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly
214
+ - TCSESSIONID=A3B27DAF25321C126A036C44E420DDB5; Path=/; HttpOnly
215
+ Content-Type:
216
+ - text/plain
217
+ Pragma:
218
+ - no-cache
219
+ Expires:
220
+ - Thu, 01 Jan 1970 00:00:00 GMT
221
+ Cache-Control:
222
+ - no-cache
223
+ - no-store
224
+ body:
225
+ string: Base Project Description
226
+ http_version:
227
+ recorded_at: Sat, 19 Apr 2014 18:38:17 GMT
228
+ - request:
229
+ method: post
230
+ uri: http://teamcity:teamcity@localhost:8111/httpAuth/app/rest/projects
231
+ body:
232
+ string: "{\"sourceProject\":{\"id\":\"BaseProject\"},\"copyAllAssociatedSettings\":\"true\",\"name\":\"Project Copy\"}"
233
+ headers:
234
+ Accept:
235
+ - application/json
236
+ Content-Type:
237
+ - application/json
238
+ response:
239
+ status:
240
+ code: 200
241
+ message: OK
242
+ headers:
243
+ Date:
244
+ - Sat, 19 Apr 2014 18:41:02 GMT
245
+ Transfer-Encoding:
246
+ - chunked
247
+ Server:
248
+ - Apache-Coyote/1.1
249
+ Set-Cookie:
250
+ - RememberMe=""; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly
251
+ - TCSESSIONID=4C8DDB9949F7BFC65E01E3D02DF500EA; Path=/; HttpOnly
252
+ Content-Type:
253
+ - application/json
254
+ Pragma:
255
+ - no-cache
256
+ Expires:
257
+ - Thu, 01 Jan 1970 00:00:00 GMT
258
+ Cache-Control:
259
+ - no-cache
260
+ - no-store
261
+ body:
262
+ string: "{\"id\":\"ProjectCopy_2\",\"name\":\"Project Copy\",\"href\":\"/httpAuth/app/rest/projects/id:ProjectCopy_2\",\"archived\":false,\"webUrl\":\"http://localhost:8111/project.html?projectId=ProjectCopy_2\",\"parentProjectId\":\"_Root\"}"
263
+ http_version:
264
+ recorded_at: Sat, 19 Apr 2014 18:38:17 GMT
265
+ - request:
266
+ method: get
267
+ uri: http://teamcity:teamcity@localhost:8111/httpAuth/app/rest/projects/id:ProjectCopy_2/description
268
+ body:
269
+ string: ""
270
+ headers:
271
+ Accept:
272
+ - text/plain
273
+ Content-Type:
274
+ - text/plain
275
+ response:
276
+ status:
277
+ code: 200
278
+ message: OK
279
+ headers:
280
+ Date:
281
+ - Sat, 19 Apr 2014 18:41:02 GMT
282
+ Transfer-Encoding:
283
+ - chunked
284
+ Server:
285
+ - Apache-Coyote/1.1
286
+ Set-Cookie:
287
+ - RememberMe=""; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly
288
+ - TCSESSIONID=2D3BF6342DFE08B9C68AD8D85E8FAC8F; Path=/; HttpOnly
289
+ Content-Type:
290
+ - text/plain
291
+ Pragma:
292
+ - no-cache
293
+ Expires:
294
+ - Thu, 01 Jan 1970 00:00:00 GMT
295
+ Cache-Control:
296
+ - no-cache
297
+ - no-store
298
+ body:
299
+ string: Base Project Description
300
+ http_version:
301
+ recorded_at: Sat, 19 Apr 2014 18:38:17 GMT