teamcity 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +19 -0
  3. data/.travis.yml +3 -0
  4. data/.yardopts +1 -0
  5. data/CHANGELOG.md +83 -0
  6. data/Gemfile +4 -0
  7. data/Guardfile +9 -0
  8. data/LICENSE.txt +22 -0
  9. data/README.md +194 -0
  10. data/Rakefile +1 -0
  11. data/lib/faraday/null_response_body.rb +17 -0
  12. data/lib/teamcity.rb +26 -0
  13. data/lib/teamcity/api.rb +19 -0
  14. data/lib/teamcity/client.rb +16 -0
  15. data/lib/teamcity/client/build_types.rb +305 -0
  16. data/lib/teamcity/client/builds.rb +92 -0
  17. data/lib/teamcity/client/common.rb +23 -0
  18. data/lib/teamcity/client/projects.rb +159 -0
  19. data/lib/teamcity/client/tests.rb +24 -0
  20. data/lib/teamcity/client/vcs_roots.rb +70 -0
  21. data/lib/teamcity/configuration.rb +51 -0
  22. data/lib/teamcity/connection.rb +28 -0
  23. data/lib/teamcity/element_builder.rb +27 -0
  24. data/lib/teamcity/headers.rb +47 -0
  25. data/lib/teamcity/request.rb +35 -0
  26. data/lib/teamcity/version.rb +3 -0
  27. data/spec/cassettes/BuildTypes/DELETE/_delete_agent_requirement/should_delete_the_agent_requirement.yml +83 -0
  28. data/spec/cassettes/BuildTypes/DELETE/_delete_buildtype/should_delete_a_buildtype.yml +40 -0
  29. data/spec/cassettes/BuildTypes/DELETE/_delete_buildtype_parameter/should_delete_a_buildtype_parameter.yml +81 -0
  30. data/spec/cassettes/BuildTypes/GET/_buildtype/should_fetch_the_details_of_a_buildtype_by_id.yml +89 -0
  31. data/spec/cassettes/BuildTypes/GET/_buildtype/should_raise_an_error_if_the_buildtype_does_not_exist.yml +52 -0
  32. data/spec/cassettes/BuildTypes/GET/_buildtype_agent_requirements/should_fetch_the_build_configuration_agent_requirements_for_a_buildtype.yml +46 -0
  33. data/spec/cassettes/BuildTypes/GET/_buildtype_agent_requirements/should_return_an_array.yml +46 -0
  34. data/spec/cassettes/BuildTypes/GET/_buildtype_agent_requirements/should_return_nil_if_there_are_no_agent_requirements_defined.yml +46 -0
  35. data/spec/cassettes/BuildTypes/GET/_buildtype_artifact_dependencies/should_fetch_the_build_configuration_artifact_dependencies_for_a_buildtype.yml +46 -0
  36. data/spec/cassettes/BuildTypes/GET/_buildtype_artifact_dependencies/should_return_an_array.yml +46 -0
  37. data/spec/cassettes/BuildTypes/GET/_buildtype_artifact_dependencies/should_return_nil_if_there_are_no_artifact_dependencies_defined.yml +46 -0
  38. data/spec/cassettes/BuildTypes/GET/_buildtype_branches/should_fetch_vcs_branches_the_vcs_root_is_configured_to_use.yml +46 -0
  39. data/spec/cassettes/BuildTypes/GET/_buildtype_features/should_fetch_the_build_configuration_features_for_a_buildtype.yml +46 -0
  40. data/spec/cassettes/BuildTypes/GET/_buildtype_features/should_return_an_array.yml +46 -0
  41. data/spec/cassettes/BuildTypes/GET/_buildtype_features/should_return_nil_if_there_are_no_features_defined.yml +46 -0
  42. data/spec/cassettes/BuildTypes/GET/_buildtype_investigations/should_get_investigation_details.yml +48 -0
  43. data/spec/cassettes/BuildTypes/GET/_buildtype_investigations/should_return_nil_if_no_one_is_investigating.yml +46 -0
  44. data/spec/cassettes/BuildTypes/GET/_buildtype_parameters/should_fetch_the_build_configuration_parameters_for_a_buildtype.yml +46 -0
  45. data/spec/cassettes/BuildTypes/GET/_buildtype_parameters/should_return_an_array.yml +46 -0
  46. data/spec/cassettes/BuildTypes/GET/_buildtype_parameters/should_return_nil_if_there_are_no_parameters_defined.yml +46 -0
  47. data/spec/cassettes/BuildTypes/GET/_buildtype_settings/should_fetch_the_settings_for_a_given_buildtype.yml +89 -0
  48. data/spec/cassettes/BuildTypes/GET/_buildtype_settings/should_return_an_array.yml +89 -0
  49. data/spec/cassettes/BuildTypes/GET/_buildtype_snapshot_dependencies/should_fetch_the_build_configuration_snapshot_dependencies_for_a_buildtype.yml +46 -0
  50. data/spec/cassettes/BuildTypes/GET/_buildtype_snapshot_dependencies/should_return_an_array.yml +46 -0
  51. data/spec/cassettes/BuildTypes/GET/_buildtype_snapshot_dependencies/should_return_nil_if_there_are_no_snapshot_dependencies_defined.yml +46 -0
  52. data/spec/cassettes/BuildTypes/GET/_buildtype_state/should_fetch_the_state_of_the_buildtype.yml +89 -0
  53. data/spec/cassettes/BuildTypes/GET/_buildtype_steps/should_fetch_the_build_configuration_steps_for_a_buildtype.yml +47 -0
  54. data/spec/cassettes/BuildTypes/GET/_buildtype_steps/should_return_an_array.yml +46 -0
  55. data/spec/cassettes/BuildTypes/GET/_buildtype_steps/should_return_nil_if_there_are_no_steps_defined.yml +46 -0
  56. data/spec/cassettes/BuildTypes/GET/_buildtype_template/should_return_nil_if_the_buildtype_is_not_associated_with_a_template.yml +52 -0
  57. data/spec/cassettes/BuildTypes/GET/_buildtype_template/should_return_the_attributes_of_the_associated_template.yml +46 -0
  58. data/spec/cassettes/BuildTypes/GET/_buildtype_triggers/should_fetch_the_build_configuration_triggers_for_a_buildtype.yml +46 -0
  59. data/spec/cassettes/BuildTypes/GET/_buildtype_triggers/should_return_an_array.yml +46 -0
  60. data/spec/cassettes/BuildTypes/GET/_buildtype_triggers/should_return_nil_if_there_are_no_triggers_defined.yml +46 -0
  61. data/spec/cassettes/BuildTypes/GET/_buildtype_vcs_root_entries/should_fetch_the_build_configuration_vcs_root_entries_for_a_buildtype.yml +47 -0
  62. data/spec/cassettes/BuildTypes/GET/_buildtype_vcs_root_entries/should_return_an_array.yml +47 -0
  63. data/spec/cassettes/BuildTypes/GET/_buildtype_vcs_root_entries/should_return_nil_if_there_are_no_vcs_root_entries_defined.yml +46 -0
  64. data/spec/cassettes/BuildTypes/GET/_buildtypes/should_fetch_all_the_buildtypes.yml +46 -0
  65. data/spec/cassettes/BuildTypes/POST/_attach_vcs_root/should_attach_a_vcs_root_to_a_buildtype.yml +47 -0
  66. data/spec/cassettes/BuildTypes/POST/_create_agent_requirement/should_create_an_agent_requirement_for_a_buildtype.yml +46 -0
  67. data/spec/cassettes/BuildTypes/POST/_create_build_step/should_create_a_build_step_for_a_given_build_type.yml +46 -0
  68. data/spec/cassettes/BuildTypes/POST/_create_build_trigger/should_create_a_build_trigger_for_a_given_build_type.yml +46 -0
  69. data/spec/cassettes/BuildTypes/POST/_create_buildtype/should_create_a_build_type.yml +86 -0
  70. data/spec/cassettes/BuildTypes/PUT/_set_build_step_field/should_disable_a_build_step.yml +44 -0
  71. data/spec/cassettes/BuildTypes/PUT/_set_build_step_field/should_enable_a_build_step.yml +48 -0
  72. data/spec/cassettes/BuildTypes/PUT/_set_buildtype_field/should_pause_a_project.yml +44 -0
  73. data/spec/cassettes/BuildTypes/PUT/_set_buildtype_field/should_set_a_projects_description.yml +44 -0
  74. data/spec/cassettes/BuildTypes/PUT/_set_buildtype_field/should_set_the_buildtype_name.yml +44 -0
  75. data/spec/cassettes/BuildTypes/PUT/_set_buildtype_parameter/should_set_a_buildtype_parameter.yml +44 -0
  76. data/spec/cassettes/BuildTypes/PUT/_set_buildtype_setting/should_set_if_it_should_perform_clean_builds.yml +46 -0
  77. data/spec/cassettes/BuildTypes/PUT/_set_buildtype_setting/should_set_what_is_the_timeout_in_minutes_when_executing_builds.yml +46 -0
  78. data/spec/cassettes/BuildTypes/PUT/_set_buildtype_setting/should_set_where_the_checkout_happens_when_building.yml +46 -0
  79. data/spec/cassettes/Builds/DELETE/_unpin_build/should_unpin_a_build.yml +83 -0
  80. data/spec/cassettes/Builds/GET/_build/should_fetch_the_build_details.yml +91 -0
  81. data/spec/cassettes/Builds/GET/_build/should_raise_an_error_if_the_build_does_not_exist.yml +53 -0
  82. data/spec/cassettes/Builds/GET/_build_artifacts/should_fetch_all_the_artifacts.yml +89 -0
  83. data/spec/cassettes/Builds/GET/_build_pinned_/should_return_false_when_a_build_is_not_pinned.yml +126 -0
  84. data/spec/cassettes/Builds/GET/_build_pinned_/should_return_true_when_a_build_is_pinned.yml +126 -0
  85. data/spec/cassettes/Builds/GET/_build_statistics/should_return_statistics_for_a_build.yml +89 -0
  86. data/spec/cassettes/Builds/GET/_build_tags/should_fetch_the_build_tags.yml +89 -0
  87. data/spec/cassettes/Builds/GET/_build_tags/should_return_an_empty_array_if_there_are_no_build_tags_defined_for_a_build.yml +89 -0
  88. data/spec/cassettes/Builds/GET/_builds/should_allow_you_to_filter_by_multiple_build_locators.yml +46 -0
  89. data/spec/cassettes/Builds/GET/_builds/should_allow_you_to_filter_results_by_build_locators.yml +46 -0
  90. data/spec/cassettes/Builds/GET/_builds/should_fetch_all_the_builds.yml +46 -0
  91. data/spec/cassettes/Builds/GET/_builds/should_return_an_empty_array_if_no_results_are_found.yml +46 -0
  92. data/spec/cassettes/Builds/PUT/_pin_build/should_pin_a_build.yml +83 -0
  93. data/spec/cassettes/Projects/DELETE/_delete_project/should_delete_a_project.yml +82 -0
  94. data/spec/cassettes/Projects/DELETE/_delete_project_parameter/should_delete_a_project_parameter.yml +123 -0
  95. data/spec/cassettes/Projects/GET/_parent_project/should_fetch_the_parent_project_for_a_given_project.yml +46 -0
  96. data/spec/cassettes/Projects/GET/_parent_project/should_return_nil_if_there_is_no_parent_project_for_a_given_project.yml +46 -0
  97. data/spec/cassettes/Projects/GET/_project/should_fetch_a_single_project_by_id.yml +47 -0
  98. data/spec/cassettes/Projects/GET/_project/should_raise_an_error_if_the_project_does_not_exist.yml +52 -0
  99. data/spec/cassettes/Projects/GET/_project_buildtypes/should_fetch_all_the_buildTypes_for_a_project.yml +46 -0
  100. data/spec/cassettes/Projects/GET/_project_buildtypes/should_return_nil_if_the_project_does_not_have_any_build_types.yml +46 -0
  101. data/spec/cassettes/Projects/GET/_project_parameters/should_fetch_all_the_paramters_for_a_given_project.yml +46 -0
  102. data/spec/cassettes/Projects/GET/_project_parameters/should_return_nil_if_there_are_no_parameters_defined_for_a_project.yml +46 -0
  103. data/spec/cassettes/Projects/GET/_projects/should_fetch_projects.yml +46 -0
  104. data/spec/cassettes/Projects/POST/_copy_project/should_copy_a_project.yml +135 -0
  105. data/spec/cassettes/Projects/POST/_create_project/should_create_a_project.yml +45 -0
  106. data/spec/cassettes/Projects/PUT/_set_parent_project/should_set_a_parent_project_for_a_given_project.yml +134 -0
  107. data/spec/cassettes/Projects/PUT/_set_project_field/should_archive_a_project.yml +86 -0
  108. data/spec/cassettes/Projects/PUT/_set_project_field/should_set_a_projects_description.yml +86 -0
  109. data/spec/cassettes/Projects/PUT/_set_project_field/should_set_a_projects_name.yml +86 -0
  110. data/spec/cassettes/Projects/PUT/_set_project_parameter/should_set_a_project_parameter.yml +86 -0
  111. data/spec/cassettes/Tests/GET/_tests/should_allow_you_to_filter_by_test_id.yml +49 -0
  112. data/spec/cassettes/Tests/GET/_tests/should_allow_you_to_filter_results_by_test_count_locator.yml +55 -0
  113. data/spec/cassettes/Tests/GET/_tests/should_fetch_all_the_tests.yml +60 -0
  114. data/spec/cassettes/Tests/GET/_tests/should_return_an_empty_array_if_no_build_is_found.yml +51 -0
  115. data/spec/cassettes/Tests/GET/_tests/should_return_an_empty_array_if_no_test_is_found.yml +51 -0
  116. data/spec/cassettes/Tests/GET/_tests/should_return_an_empty_array_if_not_build_is_given.yml +51 -0
  117. data/spec/cassettes/VCSRoots/GET/_vcs_root_details/should_fetch_the_vcs_root_details.yml +91 -0
  118. data/spec/cassettes/VCSRoots/GET/_vcs_roots/should_fetch_vcs_roots.yml +47 -0
  119. 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
  120. 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
  121. data/spec/cassettes/VCSRoots/PUT/_set_vcs_root_field/should_set_a_vcs_modification_check_interval.yml +179 -0
  122. data/spec/faraday/null_response_body_spec.rb +18 -0
  123. data/spec/spec_helper.rb +22 -0
  124. data/spec/support/vcr_setup.rb +9 -0
  125. data/spec/teamcity/api_spec.rb +64 -0
  126. data/spec/teamcity/client/builds_spec.rb +113 -0
  127. data/spec/teamcity/client/buildtypes_spec.rb +308 -0
  128. data/spec/teamcity/client/projects_spec.rb +207 -0
  129. data/spec/teamcity/client/tests_spec.rb +47 -0
  130. data/spec/teamcity/client/vcs_roots_spec.rb +86 -0
  131. data/spec/teamcity/client_spec.rb +14 -0
  132. data/spec/teamcity/element_builder_spec.rb +30 -0
  133. data/spec/teamcity/headers_spec.rb +43 -0
  134. data/spec/teamcity/version_spec.rb +7 -0
  135. data/spec/teamcity_spec.rb +89 -0
  136. data/teamcity.gemspec +26 -0
  137. metadata +344 -0
@@ -0,0 +1,47 @@
1
+ require_relative '../../spec_helper'
2
+
3
+ describe 'Tests' do
4
+
5
+ before(:each) do
6
+ @tc = TeamCity
7
+ # configure_client_with_authentication_apm
8
+ configure_client_with_authentication
9
+ end
10
+
11
+ # Get requests
12
+ describe 'GET', :vcr do
13
+
14
+ describe '.tests' do
15
+ it 'should fetch all the tests' do
16
+ tests = @tc.tests(build: 2614725)
17
+ tests.should have(9).items
18
+ end
19
+
20
+ it 'should allow you to filter results by test count locator' do
21
+ @tc.tests(build: 2614725, count:1).should have(1).items
22
+ end
23
+
24
+ it 'should allow you to filter by test id' do
25
+ @tc.tests(build: 2614725, id: 143).should have(1).items
26
+ end
27
+
28
+ it 'should return an empty array if no test is found' do
29
+ tests = @tc.tests(build: 2614725, id: 1433333)
30
+ tests.should be_empty
31
+ tests.class.should == Array
32
+ end
33
+
34
+ it 'should return an empty array if no build is found' do
35
+ tests = @tc.tests(build: 9999999)
36
+ tests.should be_empty
37
+ tests.class.should == Array
38
+ end
39
+
40
+ it 'should return an empty array if not build is given' do
41
+ tests = @tc.tests
42
+ tests.should be_empty
43
+ tests.class.should == Array
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,86 @@
1
+ require_relative '../../spec_helper'
2
+
3
+ describe 'VCSRoots' do
4
+
5
+ before(:each) do
6
+ @tc = TeamCity
7
+ configure_client_with_authentication
8
+ end
9
+
10
+ # GET requests
11
+ describe 'GET', :vcr do
12
+ describe '.vcs_roots' do
13
+ it 'should fetch vcs roots' do
14
+ @tc.vcs_roots.should have_at_least(1).items
15
+ end
16
+ end
17
+
18
+ describe '.vcs_root_details' do
19
+ it 'should fetch the vcs root details' do
20
+ vcs_root_id = @tc.vcs_roots.first.id
21
+ response = @tc.vcs_root_details(vcs_root_id)
22
+ response.id.should eq(vcs_root_id)
23
+ end
24
+ end
25
+ end
26
+
27
+ describe 'POST', :vcr do
28
+ describe '.create_vcs_root' do
29
+ it 'should create a git vcs root that is shared with the project and sub-projects' do
30
+ project_id = @tc.projects[1].id
31
+ vcs_name = 'PostCreateVCSRootGit'
32
+ vcs_type = 'git'
33
+ response = @tc.create_vcs_root(vcs_name: vcs_name, vcs_type: vcs_type, project_id: project_id) do |properties|
34
+ properties['branch'] = 'master'
35
+ properties['url'] = 'git@github.com:jperry/teamcity-ruby-client.git'
36
+ properties['authMethod'] = 'PRIVATE_KEY_DEFAULT'
37
+ properties['ignoreKnownHosts'] = true
38
+ end
39
+ response.name.should eq(vcs_name)
40
+ response.vcsName.should match(/#{vcs_type}/)
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
56
+ end
57
+ end
58
+
59
+ describe 'PUT', :vcr do
60
+
61
+ describe '.set_vcs_root_field' do
62
+ it 'should set a vcs modification check interval' do
63
+ vcs_root_name = 'PutSetCheckIntervalField'
64
+ project = @tc.projects[1]
65
+ @tc.create_vcs_root(vcs_name: vcs_root_name,
66
+ vcs_type: 'git',
67
+ project_id: project.id) do |properties|
68
+ properties['branch'] = 'master'
69
+ properties['url'] = 'git@github.com:jperry/teamcity-ruby-client.git'
70
+ properties['authMethod'] = 'PRIVATE_KEY_DEFAULT'
71
+ properties['ignoreKnownHosts'] = true
72
+ end
73
+
74
+ vcs_root_id = project.id + "_" + vcs_root_name
75
+
76
+ field_value = 86400
77
+ @tc.set_vcs_root_field(vcs_root_id,
78
+ 'modificationCheckInterval',
79
+ field_value.to_s).should eq(field_value.to_s)
80
+
81
+ vcs = @tc.vcs_root_details(vcs_root_id)
82
+ vcs.modificationCheckInterval.should eq(field_value)
83
+ end
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,14 @@
1
+ require_relative '../spec_helper'
2
+
3
+ describe TeamCity::Client do
4
+ before(:each) do
5
+ configure_client_with_authentication
6
+ end
7
+
8
+ it "should connect using the endpoint configuration" do
9
+ client = TeamCity::Client.new
10
+ endpoint = URI.parse(client.endpoint)
11
+ connection = client.send(:connection).build_url(nil).to_s
12
+ connection.should eq(endpoint.to_s)
13
+ 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
@@ -0,0 +1,43 @@
1
+ require_relative '../spec_helper'
2
+
3
+ describe TeamCity::Headers do
4
+
5
+ def build_headers(*args)
6
+ TeamCity::Headers.build(*args)
7
+ end
8
+
9
+ it "should default the accept header to json" do
10
+ build_headers.accept.should eq("application/json; charset=utf-8")
11
+ end
12
+
13
+ it "should default the content_type header to json" do
14
+ build_headers.content_type.should eq("application/json")
15
+ end
16
+
17
+ it "should allow you to set the accept" do
18
+ build_headers(:accept => :text).accept.should eq("text/plain")
19
+ end
20
+
21
+ it "should not set the content_type when setting accept" do
22
+ build_headers(:accept => :text).content_type.should eq("application/json")
23
+ end
24
+
25
+ it "should allow you to set the content type" do
26
+ build_headers(:content_type => :text).content_type.should eq("text/plain")
27
+ end
28
+
29
+ it "should not allow an invalid accept format" do
30
+ expect { build_headers(:accept => :invalid) }.to raise_exception(ArgumentError)
31
+ end
32
+
33
+ it "should not allow an invalid content_type format" do
34
+ expect { build_headers(:content_type => :invalid) }.to raise_exception(ArgumentError)
35
+ end
36
+
37
+ it "should return a hash of headers" do
38
+ build_headers.to_hash.should eq({
39
+ 'Accept' => 'application/json; charset=utf-8',
40
+ 'Content-Type' => 'application/json'
41
+ })
42
+ end
43
+ end
@@ -0,0 +1,7 @@
1
+ require_relative '../spec_helper'
2
+
3
+ describe 'Version' do
4
+ it 'should be defined' do
5
+ TeamCity::VERSION.should match(/\d\.\d\.\d/)
6
+ end
7
+ end
@@ -0,0 +1,89 @@
1
+ require "spec_helper.rb"
2
+
3
+ describe TeamCity do
4
+ before(:each) do
5
+ TeamCity.reset
6
+ end
7
+
8
+ describe ".client" do
9
+ it "should be a TeamCity::Client" do
10
+ TeamCity.client.should be_a TeamCity::Client
11
+ end
12
+ end
13
+
14
+ describe ".adapter" do
15
+ it "should return the default adapter" do
16
+ TeamCity.adapter.should == TeamCity::Configuration::DEFAULT_ADAPTER
17
+ end
18
+ end
19
+
20
+ describe ".adapter=" do
21
+ it "should set the adapter" do
22
+ TeamCity.adapter = :faraday
23
+ TeamCity.adapter.should == :faraday
24
+ end
25
+ end
26
+
27
+ describe ".http_user" do
28
+ it "should return the default http_user" do
29
+ TeamCity.http_user.should == TeamCity::Configuration::DEFAULT_HTTP_USER
30
+ end
31
+ end
32
+
33
+ describe ".http_user=" do
34
+ it "should set the http_user" do
35
+ TeamCity.http_user = 'test-user'
36
+ TeamCity.http_user.should == 'test-user'
37
+ end
38
+ end
39
+
40
+ describe ".http_password" do
41
+ it "should return the default http_password" do
42
+ TeamCity.http_password.should == TeamCity::Configuration::DEFAULT_HTTP_PASSWORD
43
+ end
44
+ end
45
+
46
+ describe ".http_password=" do
47
+ it "should set the http_password" do
48
+ TeamCity.http_password = 'test-pass'
49
+ TeamCity.http_password.should == 'test-pass'
50
+ end
51
+ end
52
+
53
+ describe ".endpoint" do
54
+ it "should return the default endpoint" do
55
+ TeamCity.endpoint.should == TeamCity::Configuration::DEFAULT_ENDPOINT
56
+ end
57
+ end
58
+
59
+ describe ".endpoint=" do
60
+ it "should set the endpoint" do
61
+ TeamCity.endpoint = "http://teamcity.mydomain.net:8111"
62
+ TeamCity.endpoint.should == "http://teamcity.mydomain.net:8111"
63
+ end
64
+ end
65
+
66
+ describe ".user_agent" do
67
+ it "should return the default user agent" do
68
+ TeamCity.user_agent.should == TeamCity::Configuration::DEFAULT_USER_AGENT
69
+ end
70
+ end
71
+
72
+ describe ".user_agent=" do
73
+ it "should set the user_agent" do
74
+ TeamCity.user_agent = "My User Agent"
75
+ TeamCity.user_agent.should == "My User Agent"
76
+ end
77
+ end
78
+
79
+ describe ".configure" do
80
+ TeamCity::Configuration::VALID_OPTIONS_KEYS.each do |key|
81
+ it "should set the #{key}" do
82
+ TeamCity.configure do |config|
83
+ config.send("#{key}=", key)
84
+ TeamCity.send(key).should == key
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
data/teamcity.gemspec ADDED
@@ -0,0 +1,26 @@
1
+ # -*- encoding: utf-8 -*-
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'teamcity/version'
5
+
6
+ Gem::Specification.new do |gem|
7
+ gem.name = "teamcity"
8
+ gem.version = TeamCity::VERSION
9
+ gem.authors = ['Jason Perry']
10
+ gem.email = ['bosoxjay@gmail.com']
11
+ gem.description = %q{A Ruby wrapper for the TeamCity Rest API}
12
+ gem.summary = %q{Ruby wrapper for the TeamCity API}
13
+ gem.homepage = 'https://github.com/jetthoughts/teamcity-ruby-client'
14
+ gem.licenses = ['MIT']
15
+
16
+ gem.files = `git ls-files`.split($/)
17
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
18
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
19
+ gem.require_paths = ['lib']
20
+
21
+ # Dependencies
22
+ gem.add_development_dependency('rake')
23
+ gem.add_runtime_dependency('faraday', '~> 0.12.0')
24
+ gem.add_runtime_dependency('faraday_middleware')
25
+ gem.add_runtime_dependency('hashie', '>= 2.0')
26
+ end
metadata ADDED
@@ -0,0 +1,344 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: teamcity
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.3.1
5
+ platform: ruby
6
+ authors:
7
+ - Jason Perry
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-07-07 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: faraday
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.12.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.12.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: faraday_middleware
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: hashie
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '2.0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '2.0'
69
+ description: A Ruby wrapper for the TeamCity Rest API
70
+ email:
71
+ - bosoxjay@gmail.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - ".gitignore"
77
+ - ".travis.yml"
78
+ - ".yardopts"
79
+ - CHANGELOG.md
80
+ - Gemfile
81
+ - Guardfile
82
+ - LICENSE.txt
83
+ - README.md
84
+ - Rakefile
85
+ - lib/faraday/null_response_body.rb
86
+ - lib/teamcity.rb
87
+ - lib/teamcity/api.rb
88
+ - lib/teamcity/client.rb
89
+ - lib/teamcity/client/build_types.rb
90
+ - lib/teamcity/client/builds.rb
91
+ - lib/teamcity/client/common.rb
92
+ - lib/teamcity/client/projects.rb
93
+ - lib/teamcity/client/tests.rb
94
+ - lib/teamcity/client/vcs_roots.rb
95
+ - lib/teamcity/configuration.rb
96
+ - lib/teamcity/connection.rb
97
+ - lib/teamcity/element_builder.rb
98
+ - lib/teamcity/headers.rb
99
+ - lib/teamcity/request.rb
100
+ - lib/teamcity/version.rb
101
+ - spec/cassettes/BuildTypes/DELETE/_delete_agent_requirement/should_delete_the_agent_requirement.yml
102
+ - spec/cassettes/BuildTypes/DELETE/_delete_buildtype/should_delete_a_buildtype.yml
103
+ - spec/cassettes/BuildTypes/DELETE/_delete_buildtype_parameter/should_delete_a_buildtype_parameter.yml
104
+ - spec/cassettes/BuildTypes/GET/_buildtype/should_fetch_the_details_of_a_buildtype_by_id.yml
105
+ - spec/cassettes/BuildTypes/GET/_buildtype/should_raise_an_error_if_the_buildtype_does_not_exist.yml
106
+ - spec/cassettes/BuildTypes/GET/_buildtype_agent_requirements/should_fetch_the_build_configuration_agent_requirements_for_a_buildtype.yml
107
+ - spec/cassettes/BuildTypes/GET/_buildtype_agent_requirements/should_return_an_array.yml
108
+ - spec/cassettes/BuildTypes/GET/_buildtype_agent_requirements/should_return_nil_if_there_are_no_agent_requirements_defined.yml
109
+ - spec/cassettes/BuildTypes/GET/_buildtype_artifact_dependencies/should_fetch_the_build_configuration_artifact_dependencies_for_a_buildtype.yml
110
+ - spec/cassettes/BuildTypes/GET/_buildtype_artifact_dependencies/should_return_an_array.yml
111
+ - spec/cassettes/BuildTypes/GET/_buildtype_artifact_dependencies/should_return_nil_if_there_are_no_artifact_dependencies_defined.yml
112
+ - spec/cassettes/BuildTypes/GET/_buildtype_branches/should_fetch_vcs_branches_the_vcs_root_is_configured_to_use.yml
113
+ - spec/cassettes/BuildTypes/GET/_buildtype_features/should_fetch_the_build_configuration_features_for_a_buildtype.yml
114
+ - spec/cassettes/BuildTypes/GET/_buildtype_features/should_return_an_array.yml
115
+ - spec/cassettes/BuildTypes/GET/_buildtype_features/should_return_nil_if_there_are_no_features_defined.yml
116
+ - spec/cassettes/BuildTypes/GET/_buildtype_investigations/should_get_investigation_details.yml
117
+ - spec/cassettes/BuildTypes/GET/_buildtype_investigations/should_return_nil_if_no_one_is_investigating.yml
118
+ - spec/cassettes/BuildTypes/GET/_buildtype_parameters/should_fetch_the_build_configuration_parameters_for_a_buildtype.yml
119
+ - spec/cassettes/BuildTypes/GET/_buildtype_parameters/should_return_an_array.yml
120
+ - spec/cassettes/BuildTypes/GET/_buildtype_parameters/should_return_nil_if_there_are_no_parameters_defined.yml
121
+ - spec/cassettes/BuildTypes/GET/_buildtype_settings/should_fetch_the_settings_for_a_given_buildtype.yml
122
+ - spec/cassettes/BuildTypes/GET/_buildtype_settings/should_return_an_array.yml
123
+ - spec/cassettes/BuildTypes/GET/_buildtype_snapshot_dependencies/should_fetch_the_build_configuration_snapshot_dependencies_for_a_buildtype.yml
124
+ - spec/cassettes/BuildTypes/GET/_buildtype_snapshot_dependencies/should_return_an_array.yml
125
+ - spec/cassettes/BuildTypes/GET/_buildtype_snapshot_dependencies/should_return_nil_if_there_are_no_snapshot_dependencies_defined.yml
126
+ - spec/cassettes/BuildTypes/GET/_buildtype_state/should_fetch_the_state_of_the_buildtype.yml
127
+ - spec/cassettes/BuildTypes/GET/_buildtype_steps/should_fetch_the_build_configuration_steps_for_a_buildtype.yml
128
+ - spec/cassettes/BuildTypes/GET/_buildtype_steps/should_return_an_array.yml
129
+ - spec/cassettes/BuildTypes/GET/_buildtype_steps/should_return_nil_if_there_are_no_steps_defined.yml
130
+ - spec/cassettes/BuildTypes/GET/_buildtype_template/should_return_nil_if_the_buildtype_is_not_associated_with_a_template.yml
131
+ - spec/cassettes/BuildTypes/GET/_buildtype_template/should_return_the_attributes_of_the_associated_template.yml
132
+ - spec/cassettes/BuildTypes/GET/_buildtype_triggers/should_fetch_the_build_configuration_triggers_for_a_buildtype.yml
133
+ - spec/cassettes/BuildTypes/GET/_buildtype_triggers/should_return_an_array.yml
134
+ - spec/cassettes/BuildTypes/GET/_buildtype_triggers/should_return_nil_if_there_are_no_triggers_defined.yml
135
+ - spec/cassettes/BuildTypes/GET/_buildtype_vcs_root_entries/should_fetch_the_build_configuration_vcs_root_entries_for_a_buildtype.yml
136
+ - spec/cassettes/BuildTypes/GET/_buildtype_vcs_root_entries/should_return_an_array.yml
137
+ - spec/cassettes/BuildTypes/GET/_buildtype_vcs_root_entries/should_return_nil_if_there_are_no_vcs_root_entries_defined.yml
138
+ - spec/cassettes/BuildTypes/GET/_buildtypes/should_fetch_all_the_buildtypes.yml
139
+ - spec/cassettes/BuildTypes/POST/_attach_vcs_root/should_attach_a_vcs_root_to_a_buildtype.yml
140
+ - spec/cassettes/BuildTypes/POST/_create_agent_requirement/should_create_an_agent_requirement_for_a_buildtype.yml
141
+ - spec/cassettes/BuildTypes/POST/_create_build_step/should_create_a_build_step_for_a_given_build_type.yml
142
+ - spec/cassettes/BuildTypes/POST/_create_build_trigger/should_create_a_build_trigger_for_a_given_build_type.yml
143
+ - spec/cassettes/BuildTypes/POST/_create_buildtype/should_create_a_build_type.yml
144
+ - spec/cassettes/BuildTypes/PUT/_set_build_step_field/should_disable_a_build_step.yml
145
+ - spec/cassettes/BuildTypes/PUT/_set_build_step_field/should_enable_a_build_step.yml
146
+ - spec/cassettes/BuildTypes/PUT/_set_buildtype_field/should_pause_a_project.yml
147
+ - spec/cassettes/BuildTypes/PUT/_set_buildtype_field/should_set_a_projects_description.yml
148
+ - spec/cassettes/BuildTypes/PUT/_set_buildtype_field/should_set_the_buildtype_name.yml
149
+ - spec/cassettes/BuildTypes/PUT/_set_buildtype_parameter/should_set_a_buildtype_parameter.yml
150
+ - spec/cassettes/BuildTypes/PUT/_set_buildtype_setting/should_set_if_it_should_perform_clean_builds.yml
151
+ - spec/cassettes/BuildTypes/PUT/_set_buildtype_setting/should_set_what_is_the_timeout_in_minutes_when_executing_builds.yml
152
+ - spec/cassettes/BuildTypes/PUT/_set_buildtype_setting/should_set_where_the_checkout_happens_when_building.yml
153
+ - spec/cassettes/Builds/DELETE/_unpin_build/should_unpin_a_build.yml
154
+ - spec/cassettes/Builds/GET/_build/should_fetch_the_build_details.yml
155
+ - spec/cassettes/Builds/GET/_build/should_raise_an_error_if_the_build_does_not_exist.yml
156
+ - spec/cassettes/Builds/GET/_build_artifacts/should_fetch_all_the_artifacts.yml
157
+ - spec/cassettes/Builds/GET/_build_pinned_/should_return_false_when_a_build_is_not_pinned.yml
158
+ - spec/cassettes/Builds/GET/_build_pinned_/should_return_true_when_a_build_is_pinned.yml
159
+ - spec/cassettes/Builds/GET/_build_statistics/should_return_statistics_for_a_build.yml
160
+ - spec/cassettes/Builds/GET/_build_tags/should_fetch_the_build_tags.yml
161
+ - spec/cassettes/Builds/GET/_build_tags/should_return_an_empty_array_if_there_are_no_build_tags_defined_for_a_build.yml
162
+ - spec/cassettes/Builds/GET/_builds/should_allow_you_to_filter_by_multiple_build_locators.yml
163
+ - spec/cassettes/Builds/GET/_builds/should_allow_you_to_filter_results_by_build_locators.yml
164
+ - spec/cassettes/Builds/GET/_builds/should_fetch_all_the_builds.yml
165
+ - spec/cassettes/Builds/GET/_builds/should_return_an_empty_array_if_no_results_are_found.yml
166
+ - spec/cassettes/Builds/PUT/_pin_build/should_pin_a_build.yml
167
+ - spec/cassettes/Projects/DELETE/_delete_project/should_delete_a_project.yml
168
+ - spec/cassettes/Projects/DELETE/_delete_project_parameter/should_delete_a_project_parameter.yml
169
+ - spec/cassettes/Projects/GET/_parent_project/should_fetch_the_parent_project_for_a_given_project.yml
170
+ - spec/cassettes/Projects/GET/_parent_project/should_return_nil_if_there_is_no_parent_project_for_a_given_project.yml
171
+ - spec/cassettes/Projects/GET/_project/should_fetch_a_single_project_by_id.yml
172
+ - spec/cassettes/Projects/GET/_project/should_raise_an_error_if_the_project_does_not_exist.yml
173
+ - spec/cassettes/Projects/GET/_project_buildtypes/should_fetch_all_the_buildTypes_for_a_project.yml
174
+ - spec/cassettes/Projects/GET/_project_buildtypes/should_return_nil_if_the_project_does_not_have_any_build_types.yml
175
+ - spec/cassettes/Projects/GET/_project_parameters/should_fetch_all_the_paramters_for_a_given_project.yml
176
+ - spec/cassettes/Projects/GET/_project_parameters/should_return_nil_if_there_are_no_parameters_defined_for_a_project.yml
177
+ - spec/cassettes/Projects/GET/_projects/should_fetch_projects.yml
178
+ - spec/cassettes/Projects/POST/_copy_project/should_copy_a_project.yml
179
+ - spec/cassettes/Projects/POST/_create_project/should_create_a_project.yml
180
+ - spec/cassettes/Projects/PUT/_set_parent_project/should_set_a_parent_project_for_a_given_project.yml
181
+ - spec/cassettes/Projects/PUT/_set_project_field/should_archive_a_project.yml
182
+ - spec/cassettes/Projects/PUT/_set_project_field/should_set_a_projects_description.yml
183
+ - spec/cassettes/Projects/PUT/_set_project_field/should_set_a_projects_name.yml
184
+ - spec/cassettes/Projects/PUT/_set_project_parameter/should_set_a_project_parameter.yml
185
+ - spec/cassettes/Tests/GET/_tests/should_allow_you_to_filter_by_test_id.yml
186
+ - spec/cassettes/Tests/GET/_tests/should_allow_you_to_filter_results_by_test_count_locator.yml
187
+ - spec/cassettes/Tests/GET/_tests/should_fetch_all_the_tests.yml
188
+ - spec/cassettes/Tests/GET/_tests/should_return_an_empty_array_if_no_build_is_found.yml
189
+ - spec/cassettes/Tests/GET/_tests/should_return_an_empty_array_if_no_test_is_found.yml
190
+ - spec/cassettes/Tests/GET/_tests/should_return_an_empty_array_if_not_build_is_given.yml
191
+ - spec/cassettes/VCSRoots/GET/_vcs_root_details/should_fetch_the_vcs_root_details.yml
192
+ - spec/cassettes/VCSRoots/GET/_vcs_roots/should_fetch_vcs_roots.yml
193
+ - spec/cassettes/VCSRoots/POST/_create_vcs_root/should_create_a_git_vcs_root_that_is_shared_with_the_project_and_sub-projects.yml
194
+ - spec/cassettes/VCSRoots/POST/_create_vcs_root/should_create_a_subversion_vcs_root_that_is_shared_with_the_project_and_sub-projects.yml
195
+ - spec/cassettes/VCSRoots/PUT/_set_vcs_root_field/should_set_a_vcs_modification_check_interval.yml
196
+ - spec/faraday/null_response_body_spec.rb
197
+ - spec/spec_helper.rb
198
+ - spec/support/vcr_setup.rb
199
+ - spec/teamcity/api_spec.rb
200
+ - spec/teamcity/client/builds_spec.rb
201
+ - spec/teamcity/client/buildtypes_spec.rb
202
+ - spec/teamcity/client/projects_spec.rb
203
+ - spec/teamcity/client/tests_spec.rb
204
+ - spec/teamcity/client/vcs_roots_spec.rb
205
+ - spec/teamcity/client_spec.rb
206
+ - spec/teamcity/element_builder_spec.rb
207
+ - spec/teamcity/headers_spec.rb
208
+ - spec/teamcity/version_spec.rb
209
+ - spec/teamcity_spec.rb
210
+ - teamcity.gemspec
211
+ homepage: https://github.com/jetthoughts/teamcity-ruby-client
212
+ licenses:
213
+ - MIT
214
+ metadata: {}
215
+ post_install_message:
216
+ rdoc_options: []
217
+ require_paths:
218
+ - lib
219
+ required_ruby_version: !ruby/object:Gem::Requirement
220
+ requirements:
221
+ - - ">="
222
+ - !ruby/object:Gem::Version
223
+ version: '0'
224
+ required_rubygems_version: !ruby/object:Gem::Requirement
225
+ requirements:
226
+ - - ">="
227
+ - !ruby/object:Gem::Version
228
+ version: '0'
229
+ requirements: []
230
+ rubyforge_project:
231
+ rubygems_version: 2.6.12
232
+ signing_key:
233
+ specification_version: 4
234
+ summary: Ruby wrapper for the TeamCity API
235
+ test_files:
236
+ - spec/cassettes/BuildTypes/DELETE/_delete_agent_requirement/should_delete_the_agent_requirement.yml
237
+ - spec/cassettes/BuildTypes/DELETE/_delete_buildtype/should_delete_a_buildtype.yml
238
+ - spec/cassettes/BuildTypes/DELETE/_delete_buildtype_parameter/should_delete_a_buildtype_parameter.yml
239
+ - spec/cassettes/BuildTypes/GET/_buildtype/should_fetch_the_details_of_a_buildtype_by_id.yml
240
+ - spec/cassettes/BuildTypes/GET/_buildtype/should_raise_an_error_if_the_buildtype_does_not_exist.yml
241
+ - spec/cassettes/BuildTypes/GET/_buildtype_agent_requirements/should_fetch_the_build_configuration_agent_requirements_for_a_buildtype.yml
242
+ - spec/cassettes/BuildTypes/GET/_buildtype_agent_requirements/should_return_an_array.yml
243
+ - spec/cassettes/BuildTypes/GET/_buildtype_agent_requirements/should_return_nil_if_there_are_no_agent_requirements_defined.yml
244
+ - spec/cassettes/BuildTypes/GET/_buildtype_artifact_dependencies/should_fetch_the_build_configuration_artifact_dependencies_for_a_buildtype.yml
245
+ - spec/cassettes/BuildTypes/GET/_buildtype_artifact_dependencies/should_return_an_array.yml
246
+ - spec/cassettes/BuildTypes/GET/_buildtype_artifact_dependencies/should_return_nil_if_there_are_no_artifact_dependencies_defined.yml
247
+ - spec/cassettes/BuildTypes/GET/_buildtype_branches/should_fetch_vcs_branches_the_vcs_root_is_configured_to_use.yml
248
+ - spec/cassettes/BuildTypes/GET/_buildtype_features/should_fetch_the_build_configuration_features_for_a_buildtype.yml
249
+ - spec/cassettes/BuildTypes/GET/_buildtype_features/should_return_an_array.yml
250
+ - spec/cassettes/BuildTypes/GET/_buildtype_features/should_return_nil_if_there_are_no_features_defined.yml
251
+ - spec/cassettes/BuildTypes/GET/_buildtype_investigations/should_get_investigation_details.yml
252
+ - spec/cassettes/BuildTypes/GET/_buildtype_investigations/should_return_nil_if_no_one_is_investigating.yml
253
+ - spec/cassettes/BuildTypes/GET/_buildtype_parameters/should_fetch_the_build_configuration_parameters_for_a_buildtype.yml
254
+ - spec/cassettes/BuildTypes/GET/_buildtype_parameters/should_return_an_array.yml
255
+ - spec/cassettes/BuildTypes/GET/_buildtype_parameters/should_return_nil_if_there_are_no_parameters_defined.yml
256
+ - spec/cassettes/BuildTypes/GET/_buildtype_settings/should_fetch_the_settings_for_a_given_buildtype.yml
257
+ - spec/cassettes/BuildTypes/GET/_buildtype_settings/should_return_an_array.yml
258
+ - spec/cassettes/BuildTypes/GET/_buildtype_snapshot_dependencies/should_fetch_the_build_configuration_snapshot_dependencies_for_a_buildtype.yml
259
+ - spec/cassettes/BuildTypes/GET/_buildtype_snapshot_dependencies/should_return_an_array.yml
260
+ - spec/cassettes/BuildTypes/GET/_buildtype_snapshot_dependencies/should_return_nil_if_there_are_no_snapshot_dependencies_defined.yml
261
+ - spec/cassettes/BuildTypes/GET/_buildtype_state/should_fetch_the_state_of_the_buildtype.yml
262
+ - spec/cassettes/BuildTypes/GET/_buildtype_steps/should_fetch_the_build_configuration_steps_for_a_buildtype.yml
263
+ - spec/cassettes/BuildTypes/GET/_buildtype_steps/should_return_an_array.yml
264
+ - spec/cassettes/BuildTypes/GET/_buildtype_steps/should_return_nil_if_there_are_no_steps_defined.yml
265
+ - spec/cassettes/BuildTypes/GET/_buildtype_template/should_return_nil_if_the_buildtype_is_not_associated_with_a_template.yml
266
+ - spec/cassettes/BuildTypes/GET/_buildtype_template/should_return_the_attributes_of_the_associated_template.yml
267
+ - spec/cassettes/BuildTypes/GET/_buildtype_triggers/should_fetch_the_build_configuration_triggers_for_a_buildtype.yml
268
+ - spec/cassettes/BuildTypes/GET/_buildtype_triggers/should_return_an_array.yml
269
+ - spec/cassettes/BuildTypes/GET/_buildtype_triggers/should_return_nil_if_there_are_no_triggers_defined.yml
270
+ - spec/cassettes/BuildTypes/GET/_buildtype_vcs_root_entries/should_fetch_the_build_configuration_vcs_root_entries_for_a_buildtype.yml
271
+ - spec/cassettes/BuildTypes/GET/_buildtype_vcs_root_entries/should_return_an_array.yml
272
+ - spec/cassettes/BuildTypes/GET/_buildtype_vcs_root_entries/should_return_nil_if_there_are_no_vcs_root_entries_defined.yml
273
+ - spec/cassettes/BuildTypes/GET/_buildtypes/should_fetch_all_the_buildtypes.yml
274
+ - spec/cassettes/BuildTypes/POST/_attach_vcs_root/should_attach_a_vcs_root_to_a_buildtype.yml
275
+ - spec/cassettes/BuildTypes/POST/_create_agent_requirement/should_create_an_agent_requirement_for_a_buildtype.yml
276
+ - spec/cassettes/BuildTypes/POST/_create_build_step/should_create_a_build_step_for_a_given_build_type.yml
277
+ - spec/cassettes/BuildTypes/POST/_create_build_trigger/should_create_a_build_trigger_for_a_given_build_type.yml
278
+ - spec/cassettes/BuildTypes/POST/_create_buildtype/should_create_a_build_type.yml
279
+ - spec/cassettes/BuildTypes/PUT/_set_build_step_field/should_disable_a_build_step.yml
280
+ - spec/cassettes/BuildTypes/PUT/_set_build_step_field/should_enable_a_build_step.yml
281
+ - spec/cassettes/BuildTypes/PUT/_set_buildtype_field/should_pause_a_project.yml
282
+ - spec/cassettes/BuildTypes/PUT/_set_buildtype_field/should_set_a_projects_description.yml
283
+ - spec/cassettes/BuildTypes/PUT/_set_buildtype_field/should_set_the_buildtype_name.yml
284
+ - spec/cassettes/BuildTypes/PUT/_set_buildtype_parameter/should_set_a_buildtype_parameter.yml
285
+ - spec/cassettes/BuildTypes/PUT/_set_buildtype_setting/should_set_if_it_should_perform_clean_builds.yml
286
+ - spec/cassettes/BuildTypes/PUT/_set_buildtype_setting/should_set_what_is_the_timeout_in_minutes_when_executing_builds.yml
287
+ - spec/cassettes/BuildTypes/PUT/_set_buildtype_setting/should_set_where_the_checkout_happens_when_building.yml
288
+ - spec/cassettes/Builds/DELETE/_unpin_build/should_unpin_a_build.yml
289
+ - spec/cassettes/Builds/GET/_build/should_fetch_the_build_details.yml
290
+ - spec/cassettes/Builds/GET/_build/should_raise_an_error_if_the_build_does_not_exist.yml
291
+ - spec/cassettes/Builds/GET/_build_artifacts/should_fetch_all_the_artifacts.yml
292
+ - spec/cassettes/Builds/GET/_build_pinned_/should_return_false_when_a_build_is_not_pinned.yml
293
+ - spec/cassettes/Builds/GET/_build_pinned_/should_return_true_when_a_build_is_pinned.yml
294
+ - spec/cassettes/Builds/GET/_build_statistics/should_return_statistics_for_a_build.yml
295
+ - spec/cassettes/Builds/GET/_build_tags/should_fetch_the_build_tags.yml
296
+ - spec/cassettes/Builds/GET/_build_tags/should_return_an_empty_array_if_there_are_no_build_tags_defined_for_a_build.yml
297
+ - spec/cassettes/Builds/GET/_builds/should_allow_you_to_filter_by_multiple_build_locators.yml
298
+ - spec/cassettes/Builds/GET/_builds/should_allow_you_to_filter_results_by_build_locators.yml
299
+ - spec/cassettes/Builds/GET/_builds/should_fetch_all_the_builds.yml
300
+ - spec/cassettes/Builds/GET/_builds/should_return_an_empty_array_if_no_results_are_found.yml
301
+ - spec/cassettes/Builds/PUT/_pin_build/should_pin_a_build.yml
302
+ - spec/cassettes/Projects/DELETE/_delete_project/should_delete_a_project.yml
303
+ - spec/cassettes/Projects/DELETE/_delete_project_parameter/should_delete_a_project_parameter.yml
304
+ - spec/cassettes/Projects/GET/_parent_project/should_fetch_the_parent_project_for_a_given_project.yml
305
+ - spec/cassettes/Projects/GET/_parent_project/should_return_nil_if_there_is_no_parent_project_for_a_given_project.yml
306
+ - spec/cassettes/Projects/GET/_project/should_fetch_a_single_project_by_id.yml
307
+ - spec/cassettes/Projects/GET/_project/should_raise_an_error_if_the_project_does_not_exist.yml
308
+ - spec/cassettes/Projects/GET/_project_buildtypes/should_fetch_all_the_buildTypes_for_a_project.yml
309
+ - spec/cassettes/Projects/GET/_project_buildtypes/should_return_nil_if_the_project_does_not_have_any_build_types.yml
310
+ - spec/cassettes/Projects/GET/_project_parameters/should_fetch_all_the_paramters_for_a_given_project.yml
311
+ - spec/cassettes/Projects/GET/_project_parameters/should_return_nil_if_there_are_no_parameters_defined_for_a_project.yml
312
+ - spec/cassettes/Projects/GET/_projects/should_fetch_projects.yml
313
+ - spec/cassettes/Projects/POST/_copy_project/should_copy_a_project.yml
314
+ - spec/cassettes/Projects/POST/_create_project/should_create_a_project.yml
315
+ - spec/cassettes/Projects/PUT/_set_parent_project/should_set_a_parent_project_for_a_given_project.yml
316
+ - spec/cassettes/Projects/PUT/_set_project_field/should_archive_a_project.yml
317
+ - spec/cassettes/Projects/PUT/_set_project_field/should_set_a_projects_description.yml
318
+ - spec/cassettes/Projects/PUT/_set_project_field/should_set_a_projects_name.yml
319
+ - spec/cassettes/Projects/PUT/_set_project_parameter/should_set_a_project_parameter.yml
320
+ - spec/cassettes/Tests/GET/_tests/should_allow_you_to_filter_by_test_id.yml
321
+ - spec/cassettes/Tests/GET/_tests/should_allow_you_to_filter_results_by_test_count_locator.yml
322
+ - spec/cassettes/Tests/GET/_tests/should_fetch_all_the_tests.yml
323
+ - spec/cassettes/Tests/GET/_tests/should_return_an_empty_array_if_no_build_is_found.yml
324
+ - spec/cassettes/Tests/GET/_tests/should_return_an_empty_array_if_no_test_is_found.yml
325
+ - spec/cassettes/Tests/GET/_tests/should_return_an_empty_array_if_not_build_is_given.yml
326
+ - spec/cassettes/VCSRoots/GET/_vcs_root_details/should_fetch_the_vcs_root_details.yml
327
+ - spec/cassettes/VCSRoots/GET/_vcs_roots/should_fetch_vcs_roots.yml
328
+ - spec/cassettes/VCSRoots/POST/_create_vcs_root/should_create_a_git_vcs_root_that_is_shared_with_the_project_and_sub-projects.yml
329
+ - spec/cassettes/VCSRoots/POST/_create_vcs_root/should_create_a_subversion_vcs_root_that_is_shared_with_the_project_and_sub-projects.yml
330
+ - spec/cassettes/VCSRoots/PUT/_set_vcs_root_field/should_set_a_vcs_modification_check_interval.yml
331
+ - spec/faraday/null_response_body_spec.rb
332
+ - spec/spec_helper.rb
333
+ - spec/support/vcr_setup.rb
334
+ - spec/teamcity/api_spec.rb
335
+ - spec/teamcity/client/builds_spec.rb
336
+ - spec/teamcity/client/buildtypes_spec.rb
337
+ - spec/teamcity/client/projects_spec.rb
338
+ - spec/teamcity/client/tests_spec.rb
339
+ - spec/teamcity/client/vcs_roots_spec.rb
340
+ - spec/teamcity/client_spec.rb
341
+ - spec/teamcity/element_builder_spec.rb
342
+ - spec/teamcity/headers_spec.rb
343
+ - spec/teamcity/version_spec.rb
344
+ - spec/teamcity_spec.rb