teamcity_ruby 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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