teamcity-ruby-client 1.1.0 → 1.2.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 (35) hide show
  1. checksums.yaml +8 -8
  2. data/.yardopts +1 -0
  3. data/CHANGELOG.md +15 -3
  4. data/Guardfile +9 -0
  5. data/lib/teamcity.rb +1 -0
  6. data/lib/teamcity/client.rb +1 -2
  7. data/lib/teamcity/client/build_types.rb +94 -23
  8. data/lib/teamcity/client/projects.rb +37 -8
  9. data/lib/teamcity/client/vcs_roots.rb +9 -16
  10. data/lib/teamcity/element_builder.rb +27 -0
  11. data/lib/teamcity/version.rb +1 -1
  12. data/spec/cassettes/BuildTypes/POST/_attach_vcs_root/should_attach_a_vcs_root_to_a_buildtype.yml +12 -10
  13. data/spec/cassettes/BuildTypes/POST/_create_agent_requirement/should_create_an_agent_requirement_for_a_buildtype.yml +11 -11
  14. data/spec/cassettes/BuildTypes/POST/_create_build_step/should_create_a_build_step_for_a_given_build_type.yml +46 -0
  15. data/spec/cassettes/BuildTypes/POST/_create_build_trigger/should_create_a_build_trigger_for_a_given_build_type.yml +46 -0
  16. data/spec/cassettes/BuildTypes/POST/_create_buildtype/should_create_a_build_type.yml +86 -0
  17. data/spec/cassettes/BuildTypes/PUT/_set_buildtype_setting/should_set_if_it_should_perform_clean_builds.yml +46 -0
  18. data/spec/cassettes/BuildTypes/PUT/_set_buildtype_setting/should_set_what_is_the_timeout_in_minutes_when_executing_builds.yml +46 -0
  19. data/spec/cassettes/BuildTypes/PUT/_set_buildtype_setting/should_set_where_the_checkout_happens_when_building.yml +46 -0
  20. data/spec/cassettes/Projects/GET/_parent_project/should_fetch_the_parent_project_for_a_given_project.yml +46 -0
  21. data/spec/cassettes/Projects/GET/_parent_project/should_return_nil_if_there_is_no_parent_project_for_a_given_project.yml +46 -0
  22. data/spec/cassettes/Projects/POST/_copy_project/should_copy_a_project.yml +27 -24
  23. data/spec/cassettes/Projects/PUT/_set_parent_project/should_set_a_parent_project_for_a_given_project.yml +134 -0
  24. data/spec/cassettes/VCSRoots/POST/_create_vcs_root/should_create_a_git_vcs_root_that_is_shared_with_the_project_and_sub-projects.yml +89 -0
  25. data/spec/cassettes/VCSRoots/POST/_create_vcs_root/should_create_a_subversion_vcs_root_that_is_shared_with_the_project_and_sub-projects.yml +89 -0
  26. data/spec/teamcity/api_spec.rb +1 -1
  27. data/spec/teamcity/client/buildtypes_spec.rb +58 -2
  28. data/spec/teamcity/client/projects_spec.rb +36 -2
  29. data/spec/teamcity/client/vcs_roots_spec.rb +17 -3
  30. data/spec/teamcity/client_spec.rb +2 -2
  31. data/spec/teamcity/element_builder_spec.rb +30 -0
  32. data/spec/teamcity/headers_spec.rb +2 -2
  33. data/teamcity-ruby-client.gemspec +2 -3
  34. metadata +44 -33
  35. data/spec/cassettes/VCSRoots/POST/_create_vcs_root/should_create_a_vcs_root_that_is_shared_with_the_project_and_sub-projects.yml +0 -90
@@ -44,6 +44,7 @@ describe 'Projects' do
44
44
  end
45
45
  end
46
46
 
47
+
47
48
  describe '.project_buildtypes' do
48
49
 
49
50
  it 'should fetch all the buildTypes for a project' do
@@ -74,6 +75,20 @@ describe 'Projects' do
74
75
  expect { @tc.project_parameters(id: 'missing')}
75
76
  end
76
77
  end
78
+
79
+ describe '.parent_project' do
80
+ it 'should fetch the parent project for a given project' do
81
+ parent = @tc.parent_project(id: 'GetProjectWithParent').should_not be_nil
82
+ end
83
+
84
+ it 'should return nil if there is no parent project for a given project' do
85
+ parent = @tc.parent_project(id: 'GetProjectWithNoParent').should be_nil
86
+ end
87
+
88
+ it 'should raise an error if the project does not exist' do
89
+ expect { @tc.parent_project(id: 'missing') }
90
+ end
91
+ end
77
92
  end
78
93
 
79
94
  # POST Requests
@@ -147,7 +162,6 @@ describe 'Projects' do
147
162
  end
148
163
 
149
164
  describe '.set_project_field' do
150
-
151
165
  it 'should set a projects name' do
152
166
  project_id = 'PutSetProjectNameField'
153
167
  @tc.create_project(project_id)
@@ -169,5 +183,25 @@ describe 'Projects' do
169
183
  @tc.set_project_field(project_id, 'archived', field_value).should eq(field_value)
170
184
  end
171
185
  end
186
+
187
+ describe '.set_parent_project' do
188
+ it 'should set a parent project for a given project' do
189
+ project_id = 'PutSetParentProject'
190
+ @tc.create_project(project_id)
191
+
192
+ parent_project_id = 'PutParentProject'
193
+ @tc.create_project(parent_project_id)
194
+
195
+ @tc.set_parent_project(project_id, parent_project_id)['id'].should eq(project_id)
196
+ end
197
+
198
+ it 'should raise an error if the parent project does not exist' do
199
+ expect { @tc.parent_project('GetProjectWithoutParent', 'missing') }.to raise_error
200
+ end
201
+
202
+ it 'should raise an error if the child project does not exist' do
203
+ expect { @tc.parent_project('missing', 'GetParentProject') }.to raise_error
204
+ end
205
+ end
172
206
  end
173
- end
207
+ end
@@ -26,9 +26,9 @@ describe 'VCSRoots' do
26
26
 
27
27
  describe 'POST', :vcr do
28
28
  describe '.create_vcs_root' do
29
- it 'should create a vcs root that is shared with the project and sub-projects' do
29
+ it 'should create a git vcs root that is shared with the project and sub-projects' do
30
30
  project_id = @tc.projects[1].id
31
- vcs_name = 'PostCreateVCSRoot'
31
+ vcs_name = 'PostCreateVCSRootGit'
32
32
  vcs_type = 'git'
33
33
  response = @tc.create_vcs_root(vcs_name: vcs_name, vcs_type: vcs_type, project_id: project_id) do |properties|
34
34
  properties['branch'] = 'master'
@@ -39,6 +39,20 @@ describe 'VCSRoots' do
39
39
  response.name.should eq(vcs_name)
40
40
  response.vcsName.should match(/#{vcs_type}/)
41
41
  end
42
+
43
+ it 'should create a subversion vcs root that is shared with the project and sub-projects' do
44
+ project_id = @tc.projects[1].id
45
+ vcs_name = 'PostCreateVCSRootSvn'
46
+ vcs_type = 'svn'
47
+ response = @tc.create_vcs_root(vcs_name: vcs_name, vcs_type: vcs_type, project_id: project_id) do |properties|
48
+ properties['branch'] = 'master'
49
+ properties['url'] = 'http://svn.example.com/jperry/teamcity-ruby-client'
50
+ properties['authMethod'] = 'PRIVATE_KEY_DEFAULT'
51
+ properties['ignoreKnownHosts'] = true
52
+ end
53
+ response.name.should eq(vcs_name)
54
+ response.vcsName.should match(/#{vcs_type}/)
55
+ end
42
56
  end
43
57
  end
44
- end
58
+ end
@@ -1,4 +1,4 @@
1
- require File.expand_path('../../spec_helper', __FILE__)
1
+ require_relative '../spec_helper'
2
2
 
3
3
  describe TeamCity::Client do
4
4
  before(:each) do
@@ -11,4 +11,4 @@ describe TeamCity::Client do
11
11
  connection = client.send(:connection).build_url(nil).to_s
12
12
  connection.should eq(endpoint.to_s)
13
13
  end
14
- end
14
+ end
@@ -0,0 +1,30 @@
1
+ require File.expand_path('../../spec_helper', __FILE__)
2
+ require_relative '../spec_helper'
3
+
4
+ describe TeamCity::ElementBuilder do
5
+ it 'outputs json following TeamCity convention for elements and properties' do
6
+ builder = TeamCity::ElementBuilder.new(:attr1 => 'x') do |properties|
7
+ properties['property1'] = 'z'
8
+ end
9
+
10
+ builder.to_request_body.should == {
11
+ :attr1 => 'x',
12
+ :properties => {
13
+ :property => [
14
+ {
15
+ :name => 'property1',
16
+ :value => 'z'
17
+ }
18
+ ]
19
+ }
20
+ }.to_json
21
+ end
22
+
23
+ it 'outputs json following TeamCity convention for elements even if no properties are defined' do
24
+ builder = TeamCity::ElementBuilder.new(:attr1 => 'x')
25
+
26
+ builder.to_request_body.should == {
27
+ :attr1 => 'x'
28
+ }.to_json
29
+ end
30
+ end
@@ -1,4 +1,4 @@
1
- require File.expand_path('../../spec_helper', __FILE__)
1
+ require_relative '../spec_helper'
2
2
 
3
3
  describe TeamCity::Headers do
4
4
 
@@ -40,4 +40,4 @@ describe TeamCity::Headers do
40
40
  'Content-Type' => 'application/json'
41
41
  })
42
42
  end
43
- end
43
+ end
@@ -19,16 +19,15 @@ Gem::Specification.new do |gem|
19
19
  gem.require_paths = ['lib']
20
20
 
21
21
  # Dependencies
22
- gem.add_development_dependency('rspec', '~> 2.12')
22
+ gem.add_development_dependency('rspec', '~> 2.14.1')
23
23
  gem.add_development_dependency('webmock', '~> 1.8.0')
24
24
  gem.add_development_dependency('rake', '~> 10.0.3')
25
25
  gem.add_development_dependency('pry', '~> 0.9.12')
26
26
  gem.add_development_dependency('vcr', '~> 2.4.0')
27
27
  gem.add_development_dependency('yard', '~> 0.8.5.2')
28
28
  gem.add_development_dependency('redcarpet', '~> 2.2.2')
29
+ gem.add_development_dependency('guard-rspec', '~> 4.0.2')
29
30
  gem.add_runtime_dependency('faraday', '~> 0.8.5')
30
31
  gem.add_runtime_dependency('faraday_middleware', '~> 0.9.0')
31
32
  gem.add_runtime_dependency('hashie', '~> 2.0.0')
32
- gem.add_runtime_dependency('linguistics', '~> 2.0.2')
33
- gem.add_runtime_dependency('builder', '>=3.0')
34
33
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teamcity-ruby-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Perry
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-01 00:00:00.000000000 Z
11
+ date: 2013-12-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ~>
18
18
  - !ruby/object:Gem::Version
19
- version: '2.12'
19
+ version: 2.14.1
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
- version: '2.12'
26
+ version: 2.14.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: webmock
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -109,75 +109,61 @@ dependencies:
109
109
  - !ruby/object:Gem::Version
110
110
  version: 2.2.2
111
111
  - !ruby/object:Gem::Dependency
112
- name: faraday
112
+ name: guard-rspec
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - ~>
116
116
  - !ruby/object:Gem::Version
117
- version: 0.8.5
118
- type: :runtime
117
+ version: 4.0.2
118
+ type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - ~>
123
123
  - !ruby/object:Gem::Version
124
- version: 0.8.5
124
+ version: 4.0.2
125
125
  - !ruby/object:Gem::Dependency
126
- name: faraday_middleware
126
+ name: faraday
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ~>
130
130
  - !ruby/object:Gem::Version
131
- version: 0.9.0
131
+ version: 0.8.5
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - ~>
137
137
  - !ruby/object:Gem::Version
138
- version: 0.9.0
138
+ version: 0.8.5
139
139
  - !ruby/object:Gem::Dependency
140
- name: hashie
140
+ name: faraday_middleware
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - ~>
144
144
  - !ruby/object:Gem::Version
145
- version: 2.0.0
145
+ version: 0.9.0
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - ~>
151
151
  - !ruby/object:Gem::Version
152
- version: 2.0.0
152
+ version: 0.9.0
153
153
  - !ruby/object:Gem::Dependency
154
- name: linguistics
154
+ name: hashie
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - ~>
158
158
  - !ruby/object:Gem::Version
159
- version: 2.0.2
159
+ version: 2.0.0
160
160
  type: :runtime
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - ~>
165
165
  - !ruby/object:Gem::Version
166
- version: 2.0.2
167
- - !ruby/object:Gem::Dependency
168
- name: builder
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - ! '>='
172
- - !ruby/object:Gem::Version
173
- version: '3.0'
174
- type: :runtime
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - ! '>='
179
- - !ruby/object:Gem::Version
180
- version: '3.0'
166
+ version: 2.0.0
181
167
  description: A Ruby wrapper for the TeamCity Rest API
182
168
  email:
183
169
  - bosoxjay@gmail.com
@@ -187,8 +173,10 @@ extra_rdoc_files: []
187
173
  files:
188
174
  - .gitignore
189
175
  - .rvmrc
176
+ - .yardopts
190
177
  - CHANGELOG.md
191
178
  - Gemfile
179
+ - Guardfile
192
180
  - LICENSE.txt
193
181
  - README.md
194
182
  - Rakefile
@@ -203,6 +191,7 @@ files:
203
191
  - lib/teamcity/client/vcs_roots.rb
204
192
  - lib/teamcity/configuration.rb
205
193
  - lib/teamcity/connection.rb
194
+ - lib/teamcity/element_builder.rb
206
195
  - lib/teamcity/headers.rb
207
196
  - lib/teamcity/request.rb
208
197
  - lib/teamcity/version.rb
@@ -245,12 +234,18 @@ files:
245
234
  - spec/cassettes/BuildTypes/GET/_buildtypes/should_fetch_all_the_buildtypes.yml
246
235
  - spec/cassettes/BuildTypes/POST/_attach_vcs_root/should_attach_a_vcs_root_to_a_buildtype.yml
247
236
  - spec/cassettes/BuildTypes/POST/_create_agent_requirement/should_create_an_agent_requirement_for_a_buildtype.yml
237
+ - spec/cassettes/BuildTypes/POST/_create_build_step/should_create_a_build_step_for_a_given_build_type.yml
238
+ - spec/cassettes/BuildTypes/POST/_create_build_trigger/should_create_a_build_trigger_for_a_given_build_type.yml
239
+ - spec/cassettes/BuildTypes/POST/_create_buildtype/should_create_a_build_type.yml
248
240
  - spec/cassettes/BuildTypes/PUT/_set_build_step_field/should_disable_a_build_step.yml
249
241
  - spec/cassettes/BuildTypes/PUT/_set_build_step_field/should_enable_a_build_step.yml
250
242
  - spec/cassettes/BuildTypes/PUT/_set_buildtype_field/should_pause_a_project.yml
251
243
  - spec/cassettes/BuildTypes/PUT/_set_buildtype_field/should_set_a_projects_description.yml
252
244
  - spec/cassettes/BuildTypes/PUT/_set_buildtype_field/should_set_the_buildtype_name.yml
253
245
  - spec/cassettes/BuildTypes/PUT/_set_buildtype_parameter/should_set_a_buildtype_parameter.yml
246
+ - spec/cassettes/BuildTypes/PUT/_set_buildtype_setting/should_set_if_it_should_perform_clean_builds.yml
247
+ - spec/cassettes/BuildTypes/PUT/_set_buildtype_setting/should_set_what_is_the_timeout_in_minutes_when_executing_builds.yml
248
+ - spec/cassettes/BuildTypes/PUT/_set_buildtype_setting/should_set_where_the_checkout_happens_when_building.yml
254
249
  - spec/cassettes/Builds/DELETE/_unpin_build/should_unpin_a_build.yml
255
250
  - spec/cassettes/Builds/GET/_build/should_fetch_the_build_details.yml
256
251
  - spec/cassettes/Builds/GET/_build/should_raise_an_error_if_the_build_does_not_exist.yml
@@ -267,6 +262,8 @@ files:
267
262
  - spec/cassettes/Builds/PUT/_pin_build/should_pin_a_build.yml
268
263
  - spec/cassettes/Projects/DELETE/_delete_project/should_delete_a_project.yml
269
264
  - spec/cassettes/Projects/DELETE/_delete_project_parameter/should_delete_a_project_parameter.yml
265
+ - spec/cassettes/Projects/GET/_parent_project/should_fetch_the_parent_project_for_a_given_project.yml
266
+ - spec/cassettes/Projects/GET/_parent_project/should_return_nil_if_there_is_no_parent_project_for_a_given_project.yml
270
267
  - spec/cassettes/Projects/GET/_project/should_fetch_a_single_project_by_id.yml
271
268
  - spec/cassettes/Projects/GET/_project/should_raise_an_error_if_the_project_does_not_exist.yml
272
269
  - spec/cassettes/Projects/GET/_project_buildtypes/should_fetch_all_the_buildTypes_for_a_project.yml
@@ -276,13 +273,15 @@ files:
276
273
  - spec/cassettes/Projects/GET/_projects/should_fetch_projects.yml
277
274
  - spec/cassettes/Projects/POST/_copy_project/should_copy_a_project.yml
278
275
  - spec/cassettes/Projects/POST/_create_project/should_create_a_project.yml
276
+ - spec/cassettes/Projects/PUT/_set_parent_project/should_set_a_parent_project_for_a_given_project.yml
279
277
  - spec/cassettes/Projects/PUT/_set_project_field/should_archive_a_project.yml
280
278
  - spec/cassettes/Projects/PUT/_set_project_field/should_set_a_projects_description.yml
281
279
  - spec/cassettes/Projects/PUT/_set_project_field/should_set_a_projects_name.yml
282
280
  - spec/cassettes/Projects/PUT/_set_project_parameter/should_set_a_project_parameter.yml
283
281
  - spec/cassettes/VCSRoots/GET/_vcs_root_details/should_fetch_the_vcs_root_details.yml
284
282
  - spec/cassettes/VCSRoots/GET/_vcs_roots/should_fetch_vcs_roots.yml
285
- - spec/cassettes/VCSRoots/POST/_create_vcs_root/should_create_a_vcs_root_that_is_shared_with_the_project_and_sub-projects.yml
283
+ - spec/cassettes/VCSRoots/POST/_create_vcs_root/should_create_a_git_vcs_root_that_is_shared_with_the_project_and_sub-projects.yml
284
+ - spec/cassettes/VCSRoots/POST/_create_vcs_root/should_create_a_subversion_vcs_root_that_is_shared_with_the_project_and_sub-projects.yml
286
285
  - spec/faraday/null_response_body_spec.rb
287
286
  - spec/spec_helper.rb
288
287
  - spec/support/vcr_setup.rb
@@ -292,6 +291,7 @@ files:
292
291
  - spec/teamcity/client/projects_spec.rb
293
292
  - spec/teamcity/client/vcs_roots_spec.rb
294
293
  - spec/teamcity/client_spec.rb
294
+ - spec/teamcity/element_builder_spec.rb
295
295
  - spec/teamcity/headers_spec.rb
296
296
  - spec/teamcity/version_spec.rb
297
297
  - spec/teamcity_spec.rb
@@ -360,12 +360,18 @@ test_files:
360
360
  - spec/cassettes/BuildTypes/GET/_buildtypes/should_fetch_all_the_buildtypes.yml
361
361
  - spec/cassettes/BuildTypes/POST/_attach_vcs_root/should_attach_a_vcs_root_to_a_buildtype.yml
362
362
  - spec/cassettes/BuildTypes/POST/_create_agent_requirement/should_create_an_agent_requirement_for_a_buildtype.yml
363
+ - spec/cassettes/BuildTypes/POST/_create_build_step/should_create_a_build_step_for_a_given_build_type.yml
364
+ - spec/cassettes/BuildTypes/POST/_create_build_trigger/should_create_a_build_trigger_for_a_given_build_type.yml
365
+ - spec/cassettes/BuildTypes/POST/_create_buildtype/should_create_a_build_type.yml
363
366
  - spec/cassettes/BuildTypes/PUT/_set_build_step_field/should_disable_a_build_step.yml
364
367
  - spec/cassettes/BuildTypes/PUT/_set_build_step_field/should_enable_a_build_step.yml
365
368
  - spec/cassettes/BuildTypes/PUT/_set_buildtype_field/should_pause_a_project.yml
366
369
  - spec/cassettes/BuildTypes/PUT/_set_buildtype_field/should_set_a_projects_description.yml
367
370
  - spec/cassettes/BuildTypes/PUT/_set_buildtype_field/should_set_the_buildtype_name.yml
368
371
  - spec/cassettes/BuildTypes/PUT/_set_buildtype_parameter/should_set_a_buildtype_parameter.yml
372
+ - spec/cassettes/BuildTypes/PUT/_set_buildtype_setting/should_set_if_it_should_perform_clean_builds.yml
373
+ - spec/cassettes/BuildTypes/PUT/_set_buildtype_setting/should_set_what_is_the_timeout_in_minutes_when_executing_builds.yml
374
+ - spec/cassettes/BuildTypes/PUT/_set_buildtype_setting/should_set_where_the_checkout_happens_when_building.yml
369
375
  - spec/cassettes/Builds/DELETE/_unpin_build/should_unpin_a_build.yml
370
376
  - spec/cassettes/Builds/GET/_build/should_fetch_the_build_details.yml
371
377
  - spec/cassettes/Builds/GET/_build/should_raise_an_error_if_the_build_does_not_exist.yml
@@ -382,6 +388,8 @@ test_files:
382
388
  - spec/cassettes/Builds/PUT/_pin_build/should_pin_a_build.yml
383
389
  - spec/cassettes/Projects/DELETE/_delete_project/should_delete_a_project.yml
384
390
  - spec/cassettes/Projects/DELETE/_delete_project_parameter/should_delete_a_project_parameter.yml
391
+ - spec/cassettes/Projects/GET/_parent_project/should_fetch_the_parent_project_for_a_given_project.yml
392
+ - spec/cassettes/Projects/GET/_parent_project/should_return_nil_if_there_is_no_parent_project_for_a_given_project.yml
385
393
  - spec/cassettes/Projects/GET/_project/should_fetch_a_single_project_by_id.yml
386
394
  - spec/cassettes/Projects/GET/_project/should_raise_an_error_if_the_project_does_not_exist.yml
387
395
  - spec/cassettes/Projects/GET/_project_buildtypes/should_fetch_all_the_buildTypes_for_a_project.yml
@@ -391,13 +399,15 @@ test_files:
391
399
  - spec/cassettes/Projects/GET/_projects/should_fetch_projects.yml
392
400
  - spec/cassettes/Projects/POST/_copy_project/should_copy_a_project.yml
393
401
  - spec/cassettes/Projects/POST/_create_project/should_create_a_project.yml
402
+ - spec/cassettes/Projects/PUT/_set_parent_project/should_set_a_parent_project_for_a_given_project.yml
394
403
  - spec/cassettes/Projects/PUT/_set_project_field/should_archive_a_project.yml
395
404
  - spec/cassettes/Projects/PUT/_set_project_field/should_set_a_projects_description.yml
396
405
  - spec/cassettes/Projects/PUT/_set_project_field/should_set_a_projects_name.yml
397
406
  - spec/cassettes/Projects/PUT/_set_project_parameter/should_set_a_project_parameter.yml
398
407
  - spec/cassettes/VCSRoots/GET/_vcs_root_details/should_fetch_the_vcs_root_details.yml
399
408
  - spec/cassettes/VCSRoots/GET/_vcs_roots/should_fetch_vcs_roots.yml
400
- - spec/cassettes/VCSRoots/POST/_create_vcs_root/should_create_a_vcs_root_that_is_shared_with_the_project_and_sub-projects.yml
409
+ - spec/cassettes/VCSRoots/POST/_create_vcs_root/should_create_a_git_vcs_root_that_is_shared_with_the_project_and_sub-projects.yml
410
+ - spec/cassettes/VCSRoots/POST/_create_vcs_root/should_create_a_subversion_vcs_root_that_is_shared_with_the_project_and_sub-projects.yml
401
411
  - spec/faraday/null_response_body_spec.rb
402
412
  - spec/spec_helper.rb
403
413
  - spec/support/vcr_setup.rb
@@ -407,6 +417,7 @@ test_files:
407
417
  - spec/teamcity/client/projects_spec.rb
408
418
  - spec/teamcity/client/vcs_roots_spec.rb
409
419
  - spec/teamcity/client_spec.rb
420
+ - spec/teamcity/element_builder_spec.rb
410
421
  - spec/teamcity/headers_spec.rb
411
422
  - spec/teamcity/version_spec.rb
412
423
  - spec/teamcity_spec.rb
@@ -1,90 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: http://teamcity-ruby-client:teamcity@localhost:8111/httpAuth/app/rest/projects
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- User-Agent:
11
- - TeamCity Ruby Client 0.4.0
12
- Accept:
13
- - application/json; charset=utf-8
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: 200
21
- message: OK
22
- headers:
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=637F24F5193BAEE7E2E22A2F1DF0F4F2; Path=/; HttpOnly
28
- Pragma:
29
- - no-cache
30
- Expires:
31
- - Thu, 01 Jan 1970 00:00:00 GMT
32
- Cache-Control:
33
- - no-cache
34
- - no-store
35
- Content-Type:
36
- - application/json
37
- Transfer-Encoding:
38
- - chunked
39
- Date:
40
- - Wed, 14 Aug 2013 15:18:38 GMT
41
- body:
42
- encoding: US-ASCII
43
- string: ! '{"project":[{"id":"_Root","name":"<Root project>","href":"/httpAuth/app/rest/projects/id:_Root"},{"id":"BuildTests","name":"BuildTests","href":"/httpAuth/app/rest/projects/id:BuildTests"},{"id":"BuildTypeTests","name":"BuildTypeTests","href":"/httpAuth/app/rest/projects/id:BuildTypeTests"},{"id":"DeleteProjectParameters","name":"DeleteProjectParameters","href":"/httpAuth/app/rest/projects/id:DeleteProjectParameters"},{"id":"GetProjectBuildTypes","name":"GetProjectBuildTypes","href":"/httpAuth/app/rest/projects/id:GetProjectBuildTypes"},{"id":"GetProjectRequest","name":"GetProjectRequest","href":"/httpAuth/app/rest/projects/id:GetProjectRequest"},{"id":"GetProjectWithNoBuildTypes","name":"GetProjectWithNoBuildTypes","href":"/httpAuth/app/rest/projects/id:GetProjectWithNoBuildTypes"},{"id":"GetProjectWithNoParameters","name":"GetProjectWithNoParameters","href":"/httpAuth/app/rest/projects/id:GetProjectWithNoParameters"},{"id":"GetProjectWithParameters","name":"GetProjectWithParameters","href":"/httpAuth/app/rest/projects/id:GetProjectWithParameters"},{"id":"PostCopyProject","name":"PostCopyProject","href":"/httpAuth/app/rest/projects/id:PostCopyProject"},{"id":"PostCreateProject","name":"PostCreateProject","href":"/httpAuth/app/rest/projects/id:PostCreateProject"},{"id":"PostProjectToBeCopied","name":"PostProjectToBeCopied","href":"/httpAuth/app/rest/projects/id:PostProjectToBeCopied"},{"id":"PutCreateProjectParam","name":"PutCreateProjectParam","href":"/httpAuth/app/rest/projects/id:PutCreateProjectParam"},{"id":"PutSetProjectNameField","name":"PutNewProjectName","href":"/httpAuth/app/rest/projects/id:PutSetProjectNameField"},{"id":"PutSetProjectDescriptionField","name":"PutSetProjectDescriptionField","href":"/httpAuth/app/rest/projects/id:PutSetProjectDescriptionField"},{"id":"PutSetProjectArchiveField","name":"PutSetProjectArchiveField","href":"/httpAuth/app/rest/projects/id:PutSetProjectArchiveField"}]}'
44
- http_version:
45
- recorded_at: Wed, 14 Aug 2013 15:18:38 GMT
46
- - request:
47
- method: post
48
- uri: http://teamcity-ruby-client:teamcity@localhost:8111/httpAuth/app/rest/vcs-roots
49
- body:
50
- encoding: US-ASCII
51
- string: <vcs-root name="PostCreateVCSRoot" vcsName="jetbrains.git" projectLocator="BuildTests"><properties><property
52
- name="branch" value="master"/><property name="url" value="git@github.com:jperry/teamcity-ruby-client.git"/><property
53
- name="authMethod" value="PRIVATE_KEY_DEFAULT"/><property name="ignoreKnownHosts"
54
- value="true"/></properties></vcs-root>
55
- headers:
56
- User-Agent:
57
- - TeamCity Ruby Client 0.4.0
58
- Accept:
59
- - application/json; charset=utf-8
60
- Content-Type:
61
- - application/xml
62
- response:
63
- status:
64
- code: 200
65
- message: OK
66
- headers:
67
- Server:
68
- - Apache-Coyote/1.1
69
- Set-Cookie:
70
- - RememberMe=""; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly
71
- - TCSESSIONID=97DCE4F1BCDD9F6AB117265DA0CAF7FB; Path=/; HttpOnly
72
- Pragma:
73
- - no-cache
74
- Expires:
75
- - Thu, 01 Jan 1970 00:00:00 GMT
76
- Cache-Control:
77
- - no-cache
78
- - no-store
79
- Content-Type:
80
- - application/json
81
- Transfer-Encoding:
82
- - chunked
83
- Date:
84
- - Wed, 14 Aug 2013 15:18:38 GMT
85
- body:
86
- encoding: US-ASCII
87
- string: ! '{"id":"BuildTests_PostCreateVCSRoot","name":"PostCreateVCSRoot","vcsName":"jetbrains.git","status":"NOT_MONITORED","lastChecked":"20130813T212053-0400","href":"/httpAuth/app/rest/vcs-roots/id:BuildTests_PostCreateVCSRoot","project":{"id":"BuildTests","name":"BuildTests","href":"/httpAuth/app/rest/projects/id:BuildTests"},"properties":{"property":[{"name":"authMethod","value":"PRIVATE_KEY_DEFAULT"},{"name":"branch","value":"master"},{"name":"ignoreKnownHosts","value":"true"},{"name":"url","value":"git@github.com:jperry/teamcity-ruby-client.git"}]},"vcsRootInstances":{"href":"/httpAuth/app/rest/vcs-root-instances?locator=vcsRoot:(id:BuildTests_PostCreateVCSRoot)"}}'
88
- http_version:
89
- recorded_at: Wed, 14 Aug 2013 15:18:38 GMT
90
- recorded_with: VCR 2.4.0