hudson-remote-api 0.7.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +4 -0
  3. data/Gemfile +9 -0
  4. data/Gemfile.lock +20 -0
  5. data/README.md +11 -9
  6. data/Rakefile +10 -0
  7. data/fixtures/vcr_cassettes/TestHudsonBuildQueue_test_list.yml +38 -0
  8. data/fixtures/vcr_cassettes/TestHudsonBuild_setup.yml +407 -0
  9. data/fixtures/vcr_cassettes/TestHudsonBuild_test_build_info.yml +222 -0
  10. data/fixtures/vcr_cassettes/TestHudsonClient_test_build_job_.yml +52 -0
  11. data/fixtures/vcr_cassettes/TestHudsonClient_test_build_job_with_parameters_.yml +52 -0
  12. data/fixtures/vcr_cassettes/TestHudsonClient_test_build_queue_info.yml +38 -0
  13. data/fixtures/vcr_cassettes/TestHudsonClient_test_create_item_.yml +52 -0
  14. data/fixtures/vcr_cassettes/TestHudsonClient_test_delete_job_.yml +52 -0
  15. data/fixtures/vcr_cassettes/TestHudsonClient_test_job_build_info.yml +39 -0
  16. data/fixtures/vcr_cassettes/TestHudsonClient_test_job_config_info.yml +48 -0
  17. data/fixtures/vcr_cassettes/TestHudsonJob_test_build.yml +409 -0
  18. data/fixtures/vcr_cassettes/TestHudsonJob_test_build_with_params.yml +189 -0
  19. data/fixtures/vcr_cassettes/TestHudsonJob_test_builds_list.yml +192 -0
  20. data/fixtures/vcr_cassettes/TestHudsonJob_test_copy.yml +410 -0
  21. data/fixtures/vcr_cassettes/TestHudsonJob_test_create.yml +257 -0
  22. data/fixtures/vcr_cassettes/TestHudsonJob_test_desc_update.yml +281 -0
  23. data/fixtures/vcr_cassettes/TestHudsonJob_test_get.yml +191 -0
  24. data/fixtures/vcr_cassettes/TestHudsonJob_test_job_with_spaces.yml +260 -0
  25. data/fixtures/vcr_cassettes/TestHudsonJob_test_list.yml +39 -0
  26. data/fixtures/vcr_cassettes/TestHudsonJob_test_list_active.yml +39 -0
  27. data/fixtures/vcr_cassettes/TestHudsonJob_test_new.yml +561 -0
  28. data/fixtures/vcr_cassettes/TestHudsonJob_test_scm_url.yml +728 -0
  29. data/fixtures/vcr_cassettes/TestHudsonJob_test_triggers_delete.yml +588 -0
  30. data/fixtures/vcr_cassettes/TestHudsonJob_test_triggers_set.yml +346 -0
  31. data/fixtures/vcr_cassettes/TestHudsonJob_test_triggers_set_using_shortcut.yml +346 -0
  32. data/fixtures/vcr_cassettes/TestHudsonJob_test_url.yml +156 -0
  33. data/fixtures/vcr_cassettes/TestHudsonJob_test_wipe_out_workspace.yml +685 -0
  34. data/hudson-remote-api.gemspec +23 -0
  35. data/lib/hudson-remote-api.rb +3 -128
  36. data/lib/hudson-remote-api/build.rb +18 -35
  37. data/lib/hudson-remote-api/build_queue.rb +13 -20
  38. data/lib/hudson-remote-api/client.rb +179 -0
  39. data/lib/hudson-remote-api/hudson_xml_api.rb +61 -0
  40. data/lib/hudson-remote-api/job.rb +207 -345
  41. data/lib/hudson-remote-api/parser/build_info.rb +37 -0
  42. data/lib/hudson-remote-api/parser/build_queue_info.rb +19 -0
  43. data/lib/hudson-remote-api/parser/job_config_info.rb +99 -0
  44. data/lib/hudson-remote-api/parser/job_info.rb +62 -0
  45. data/lib/hudson-remote-api/parser/multicast.rb +28 -0
  46. data/lib/hudson-remote-api/parser/server_info.rb +49 -0
  47. data/lib/hudson-remote-api/settings.rb +31 -0
  48. data/lib/hudson-remote-api/version.rb +3 -0
  49. data/lib/hudson-remote-api/xml_writer/job_config_info.rb +113 -0
  50. data/test/test_helper.rb +10 -0
  51. data/test/test_hudson_build.rb +28 -0
  52. data/test/test_hudson_build_queue.rb +11 -0
  53. data/test/test_hudson_client.rb +65 -0
  54. data/test/test_hudson_job.rb +162 -0
  55. data/test/test_hudson_multicast.rb +9 -0
  56. data/test/test_hudson_settings.rb +70 -0
  57. metadata +71 -53
  58. data/lib/hudson-remote-api/config.rb +0 -46
@@ -0,0 +1,10 @@
1
+ require 'rubygems'
2
+ require 'test/unit'
3
+ require 'vcr'
4
+ require './lib/hudson-remote-api.rb'
5
+
6
+ VCR.configure do |c|
7
+ c.cassette_library_dir = 'fixtures/vcr_cassettes'
8
+ c.hook_into :webmock # or :fakeweb
9
+ c.allow_http_connections_when_no_cassette = true
10
+ end
@@ -0,0 +1,28 @@
1
+ require 'test_helper.rb'
2
+
3
+ class TestHudsonBuild < Test::Unit::TestCase
4
+
5
+ def setup
6
+ VCR.use_cassette("#{self.class}_#{__method__}", :record => :new_episodes) do
7
+ assert Hudson::Job.new('test_job').build
8
+ assert Hudson::Build.new('test_job')
9
+ end
10
+ end
11
+
12
+ def test_build_info
13
+ VCR.use_cassette("#{self.class}_#{__method__}", :record => :new_episodes) do
14
+ build = Hudson::Build.new('test_job')
15
+ assert_equal 'test_job', build.job.name
16
+
17
+ assert build.number.to_i > 0, "build number test failed"
18
+
19
+ assert build.revisions, "build revisions test failed"
20
+ assert build.revisions.kind_of?(Hash), "build revisions is not an Hash"
21
+
22
+ assert_equal "SUCCESS", build.result, "build result test failed"
23
+
24
+ assert_nil build.culprit, "build culprit test failed"
25
+ end
26
+ end
27
+
28
+ end
@@ -0,0 +1,11 @@
1
+ require 'test_helper.rb'
2
+
3
+ class TestHudsonBuildQueue < Test::Unit::TestCase
4
+
5
+ def test_list
6
+ VCR.use_cassette("#{self.class}_#{__method__}") do
7
+ assert Hudson::BuildQueue.list
8
+ end
9
+ end
10
+
11
+ end
@@ -0,0 +1,65 @@
1
+ require 'test_helper.rb'
2
+
3
+ class TestHudsonClient < Test::Unit::TestCase
4
+
5
+ def setup
6
+ @client = Hudson.client
7
+ end
8
+
9
+ def config
10
+ File.open(File.dirname(__FILE__) + '/../lib/hudson-remote-api/new_job_config.xml').read
11
+ end
12
+
13
+ def test_initialization
14
+ Hudson::Client.new
15
+ end
16
+
17
+ def test_job_build_info
18
+ VCR.use_cassette("#{self.class}_#{__method__}") do
19
+ assert @client.job_build_info('test_job', 1)
20
+ end
21
+ end
22
+
23
+ def test_build_queue_info
24
+ VCR.use_cassette("#{self.class}_#{__method__}") do
25
+ response = @client.build_queue_info
26
+ assert_kind_of(String, response)
27
+ assert(!response.empty?)
28
+ end
29
+ end
30
+
31
+ def test_build_job!
32
+ VCR.use_cassette("#{self.class}_#{__method__}") do
33
+ response = @client.build_job!('test_job')
34
+ assert response
35
+ end
36
+ end
37
+
38
+ def test_build_job_with_parameters!
39
+ VCR.use_cassette("#{self.class}_#{__method__}") do
40
+ response = @client.build_job_with_parameters!('test_job', {})
41
+ assert response
42
+ end
43
+ end
44
+
45
+ def test_job_config_info
46
+ VCR.use_cassette("#{self.class}_#{__method__}") do
47
+ response = @client.job_config_info('test_job')
48
+ assert response
49
+ end
50
+ end
51
+
52
+ def test_create_item!
53
+ VCR.use_cassette("#{self.class}_#{__method__}") do
54
+ response = @client.create_item!({:name=>"new_test_job", :mode=>"hudson.model.FreeStyleProject", :config=>config})
55
+ assert response
56
+ end
57
+ end
58
+
59
+ def test_delete_job!
60
+ VCR.use_cassette("#{self.class}_#{__method__}") do
61
+ response = @client.delete_job!('new_test_job')
62
+ end
63
+ end
64
+
65
+ end
@@ -0,0 +1,162 @@
1
+ require 'test_helper.rb'
2
+
3
+ class TestHudsonJob < Test::Unit::TestCase
4
+ TEST_SVN_REPO_URL = "http://svn.apache.org/repos/asf/subversion/trunk/doc/user/"
5
+
6
+ def setup
7
+ Hudson.client.configuration.host = "http://localhost:8080"
8
+ end
9
+
10
+ def test_list
11
+ VCR.use_cassette("#{self.class}_#{__method__}") do
12
+ assert Hudson::Job.list
13
+ end
14
+ end
15
+
16
+ def test_list_active
17
+ VCR.use_cassette("#{self.class}_#{__method__}") do
18
+ assert Hudson::Job.list_active
19
+ end
20
+ end
21
+
22
+ def test_create
23
+ VCR.use_cassette("#{self.class}_#{__method__}") do
24
+ new_job_name = 'new_test_job'
25
+ new_job = Hudson::Job.create(new_job_name)
26
+ assert new_job
27
+ assert_equal(new_job_name, new_job.name)
28
+ assert_equal(true, new_job.triggers.empty?, "New job should have empty triggers")
29
+ assert new_job.delete
30
+ end
31
+ end
32
+
33
+ def test_get
34
+ VCR.use_cassette("#{self.class}_#{__method__}") do
35
+ job = Hudson::Job.get('test_job')
36
+ assert job
37
+ assert_equal 'test_job', job.name, "failed to get job name"
38
+ end
39
+ end
40
+
41
+ def test_desc_update
42
+ VCR.use_cassette("#{self.class}_#{__method__}", :record => :new_episodes) do
43
+ job = Hudson::Job.new('test_job')
44
+ assert job.description = "test"
45
+ assert job.description != nil, "Job description should not be nil"
46
+ end
47
+ end
48
+
49
+ def test_scm_url
50
+ VCR.use_cassette("#{self.class}_#{__method__}", :record => :new_episodes) do
51
+ job = Hudson::Job.new('test_svn_job')
52
+ job.build
53
+ assert job.repository_url = TEST_SVN_REPO_URL
54
+
55
+ job = Hudson::Job.new('test_svn_job')
56
+ assert_equal TEST_SVN_REPO_URL, job.repository_url
57
+ end
58
+ end
59
+
60
+ def test_new
61
+ VCR.use_cassette("#{self.class}_#{__method__}") do
62
+ job = Hudson::Job.new('test_job')
63
+ assert job
64
+ assert_equal('test_job', job.name)
65
+
66
+ new_job = Hudson::Job.new('test_job2')
67
+ assert new_job
68
+ assert_equal(new_job.name, 'test_job2')
69
+ assert new_job.delete
70
+ end
71
+ end
72
+
73
+ def test_copy
74
+ VCR.use_cassette("#{self.class}_#{__method__}") do
75
+ job = Hudson::Job.get('test_job')
76
+ new_job = job.copy
77
+ assert new_job
78
+ assert_equal('copy_of_test_job', new_job.name)
79
+ assert new_job.delete
80
+ end
81
+ end
82
+
83
+ def test_job_with_spaces
84
+ VCR.use_cassette("#{self.class}_#{__method__}") do
85
+ job = Hudson::Job.create('test job with spaces')
86
+ assert job
87
+ assert job.name
88
+ assert job.delete
89
+ end
90
+ end
91
+
92
+ def test_builds_list
93
+ VCR.use_cassette("#{self.class}_#{__method__}") do
94
+ job = Hudson::Job.get("test_job")
95
+ assert job.builds_list.kind_of?(Array)
96
+ end
97
+ end
98
+
99
+ def test_build
100
+ VCR.use_cassette("#{self.class}_#{__method__}") do
101
+ job_name = 'test_job'
102
+ job = Hudson::Job.new(job_name)
103
+
104
+ assert job.build
105
+ end
106
+ end
107
+
108
+ def test_build_with_params
109
+ VCR.use_cassette("#{self.class}_#{__method__}") do
110
+ job_name = 'test_job'
111
+ job = Hudson::Job.new(job_name)
112
+
113
+ assert job.build
114
+ end
115
+ end
116
+
117
+ def test_triggers_set
118
+ VCR.use_cassette("#{self.class}_#{__method__}", :record => :new_episodes) do
119
+ job_name = 'build_triggers'
120
+ job = Hudson::Job.create(job_name)
121
+
122
+ job.triggers = { "hudson.triggers.SCMTrigger" => '* * * * *' }
123
+ assert_equal(1, job.triggers.size, "Failed to set triggers with 1 trigger.")
124
+ assert_equal({"hudson.triggers.SCMTrigger" => '* * * * *'}, job.triggers, "Failed to set triggers with 1 trigger.")
125
+
126
+ assert job.delete
127
+ end
128
+ end
129
+
130
+ def test_triggers_set_using_shortcut
131
+ VCR.use_cassette("#{self.class}_#{__method__}", :record => :new_episodes) do
132
+ job_name = 'build_triggers'
133
+ job = Hudson::Job.create(job_name)
134
+
135
+ job.triggers = { "SCMTrigger" => '* * * * *', 'TimerTrigger' => '0 22 * * *' }
136
+ assert_equal(2, job.triggers.size, "Failed to set triggers using shortcut.")
137
+ assert_equal({"hudson.triggers.SCMTrigger"=>"* * * * *", "hudson.triggers.TimerTrigger"=>"0 22 * * *"}, job.triggers, "Failed to set triggers using shortcut.")
138
+
139
+ assert job.delete
140
+ end
141
+ end
142
+
143
+ def test_triggers_delete
144
+ VCR.use_cassette("#{self.class}_#{__method__}", :record => :new_episodes) do
145
+ job_name = 'build_triggers'
146
+ job = Hudson::Job.create(job_name)
147
+
148
+ job.triggers = { "SCMTrigger" => '* * * * *', 'TimerTrigger' => '0 22 * * *' }
149
+ job.triggers = {}
150
+ assert_equal(true, job.triggers.empty?, "Failed to delete triggers.")
151
+
152
+ assert job.delete
153
+ end
154
+ end
155
+
156
+ def test_wipe_out_workspace
157
+ VCR.use_cassette("#{self.class}_#{__method__}", :record => :new_episodes) do
158
+ job = Hudson::Job.create('test_wipe_out_workspace')
159
+ assert job.wipe_out_workspace
160
+ end
161
+ end
162
+ end
@@ -0,0 +1,9 @@
1
+ require 'test_helper.rb'
2
+
3
+ class TestHudsonMulticast < Test::Unit::TestCase
4
+
5
+ def test_multicast
6
+ assert_nothing_thrown{ Hudson.discover }
7
+ end
8
+
9
+ end
@@ -0,0 +1,70 @@
1
+ require 'test_helper.rb'
2
+
3
+ class TestHudsonBuild < Test::Unit::TestCase
4
+
5
+ def setup
6
+
7
+ end
8
+
9
+ def test_initialization
10
+ settings_hash = {
11
+ :host => 'http://localhost:8080',
12
+ :user => 'test_user',
13
+ :password => 'test_password',
14
+ :version => 'test_version',
15
+ :crumb => 'test_crumb',
16
+ :proxy_host => 'test_proxy_host',
17
+ :proxy_port => 'test_proxy_port'
18
+ }
19
+ settings = Hudson::Settings.new(settings_hash)
20
+ assert_equal 'http://localhost:8080', settings.configuration.host
21
+ assert_equal 'test_user', settings.configuration.user
22
+ assert_equal 'test_password', settings.configuration.password
23
+ assert_equal 'test_version', settings.configuration.version
24
+ assert_equal 'test_crumb', settings.configuration.crumb
25
+ assert_equal 'test_proxy_host', settings.configuration.proxy_host
26
+ assert_equal 'test_proxy_port', settings.configuration.proxy_port
27
+ end
28
+
29
+ def test_host_assignment
30
+ settings = Hudson::Settings.new({})
31
+ settings.configuration.host = "http://test.com"
32
+ assert_equal "http://test.com", settings.configuration.host
33
+ end
34
+
35
+ def test_user_assignment
36
+ settings = Hudson::Settings.new({})
37
+ settings.configuration.user = "test_user"
38
+ assert_equal "test_user", settings.configuration.user
39
+ end
40
+
41
+ def test_password_assignment
42
+ settings = Hudson::Settings.new({})
43
+ settings.configuration.password = "test_password"
44
+ assert_equal "test_password", settings.configuration.password
45
+ end
46
+
47
+ def test_version_assignment
48
+ settings = Hudson::Settings.new({})
49
+ settings.configuration.version = "test_version"
50
+ assert_equal "test_version", settings.configuration.version
51
+ end
52
+
53
+ def test_crumb_assignment
54
+ settings = Hudson::Settings.new({})
55
+ settings.configuration.crumb = "test_crumb"
56
+ assert_equal "test_crumb", settings.configuration.crumb
57
+ end
58
+
59
+ def test_proxy_host_assignment
60
+ settings = Hudson::Settings.new({})
61
+ settings.configuration.proxy_host = "http://test.com"
62
+ assert_equal "http://test.com", settings.configuration.proxy_host
63
+ end
64
+
65
+ def test_url_assignment
66
+ settings = Hudson::Settings.new({})
67
+ settings.configuration.proxy_port = "12345"
68
+ assert_equal "12345", settings.configuration.proxy_port
69
+ end
70
+ end
metadata CHANGED
@@ -1,91 +1,109 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hudson-remote-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
5
- prerelease:
4
+ version: 1.0.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Dru Ibarra
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-06-29 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: rake
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: '0'
22
- type: :runtime
23
- prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: '0'
30
- - !ruby/object:Gem::Dependency
31
- name: jeweler
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: '0'
38
- type: :development
39
- prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
11
+ date: 2014-11-18 00:00:00.000000000 Z
12
+ dependencies: []
46
13
  description: Connect to Hudson's remote web API
47
- email: Druwerd@gmail.com
14
+ email:
15
+ - Druwerd@gmail.com
48
16
  executables: []
49
17
  extensions: []
50
- extra_rdoc_files:
18
+ extra_rdoc_files: []
19
+ files:
20
+ - ".gitignore"
21
+ - Gemfile
22
+ - Gemfile.lock
51
23
  - LICENSE
52
24
  - README.md
53
- files:
25
+ - Rakefile
26
+ - fixtures/vcr_cassettes/TestHudsonBuildQueue_test_list.yml
27
+ - fixtures/vcr_cassettes/TestHudsonBuild_setup.yml
28
+ - fixtures/vcr_cassettes/TestHudsonBuild_test_build_info.yml
29
+ - fixtures/vcr_cassettes/TestHudsonClient_test_build_job_.yml
30
+ - fixtures/vcr_cassettes/TestHudsonClient_test_build_job_with_parameters_.yml
31
+ - fixtures/vcr_cassettes/TestHudsonClient_test_build_queue_info.yml
32
+ - fixtures/vcr_cassettes/TestHudsonClient_test_create_item_.yml
33
+ - fixtures/vcr_cassettes/TestHudsonClient_test_delete_job_.yml
34
+ - fixtures/vcr_cassettes/TestHudsonClient_test_job_build_info.yml
35
+ - fixtures/vcr_cassettes/TestHudsonClient_test_job_config_info.yml
36
+ - fixtures/vcr_cassettes/TestHudsonJob_test_build.yml
37
+ - fixtures/vcr_cassettes/TestHudsonJob_test_build_with_params.yml
38
+ - fixtures/vcr_cassettes/TestHudsonJob_test_builds_list.yml
39
+ - fixtures/vcr_cassettes/TestHudsonJob_test_copy.yml
40
+ - fixtures/vcr_cassettes/TestHudsonJob_test_create.yml
41
+ - fixtures/vcr_cassettes/TestHudsonJob_test_desc_update.yml
42
+ - fixtures/vcr_cassettes/TestHudsonJob_test_get.yml
43
+ - fixtures/vcr_cassettes/TestHudsonJob_test_job_with_spaces.yml
44
+ - fixtures/vcr_cassettes/TestHudsonJob_test_list.yml
45
+ - fixtures/vcr_cassettes/TestHudsonJob_test_list_active.yml
46
+ - fixtures/vcr_cassettes/TestHudsonJob_test_new.yml
47
+ - fixtures/vcr_cassettes/TestHudsonJob_test_scm_url.yml
48
+ - fixtures/vcr_cassettes/TestHudsonJob_test_triggers_delete.yml
49
+ - fixtures/vcr_cassettes/TestHudsonJob_test_triggers_set.yml
50
+ - fixtures/vcr_cassettes/TestHudsonJob_test_triggers_set_using_shortcut.yml
51
+ - fixtures/vcr_cassettes/TestHudsonJob_test_url.yml
52
+ - fixtures/vcr_cassettes/TestHudsonJob_test_wipe_out_workspace.yml
53
+ - hudson-remote-api.gemspec
54
54
  - lib/hudson-remote-api.rb
55
55
  - lib/hudson-remote-api/build.rb
56
56
  - lib/hudson-remote-api/build_queue.rb
57
- - lib/hudson-remote-api/config.rb
57
+ - lib/hudson-remote-api/client.rb
58
58
  - lib/hudson-remote-api/errors.rb
59
+ - lib/hudson-remote-api/hudson_xml_api.rb
59
60
  - lib/hudson-remote-api/job.rb
60
61
  - lib/hudson-remote-api/multicast.rb
61
62
  - lib/hudson-remote-api/new_job_config.xml
62
- - LICENSE
63
- - README.md
64
- homepage: http://github.com/Druwerd/hudson-remote-api
63
+ - lib/hudson-remote-api/parser/build_info.rb
64
+ - lib/hudson-remote-api/parser/build_queue_info.rb
65
+ - lib/hudson-remote-api/parser/job_config_info.rb
66
+ - lib/hudson-remote-api/parser/job_info.rb
67
+ - lib/hudson-remote-api/parser/multicast.rb
68
+ - lib/hudson-remote-api/parser/server_info.rb
69
+ - lib/hudson-remote-api/settings.rb
70
+ - lib/hudson-remote-api/version.rb
71
+ - lib/hudson-remote-api/xml_writer/job_config_info.rb
72
+ - test/test_helper.rb
73
+ - test/test_hudson_build.rb
74
+ - test/test_hudson_build_queue.rb
75
+ - test/test_hudson_client.rb
76
+ - test/test_hudson_job.rb
77
+ - test/test_hudson_multicast.rb
78
+ - test/test_hudson_settings.rb
79
+ homepage: ''
65
80
  licenses: []
81
+ metadata: {}
66
82
  post_install_message:
67
83
  rdoc_options: []
68
84
  require_paths:
69
85
  - lib
70
86
  required_ruby_version: !ruby/object:Gem::Requirement
71
- none: false
72
87
  requirements:
73
- - - ! '>='
88
+ - - ">="
74
89
  - !ruby/object:Gem::Version
75
90
  version: '0'
76
- segments:
77
- - 0
78
- hash: 651736009942463285
79
91
  required_rubygems_version: !ruby/object:Gem::Requirement
80
- none: false
81
92
  requirements:
82
- - - ! '>='
93
+ - - ">="
83
94
  - !ruby/object:Gem::Version
84
95
  version: '0'
85
96
  requirements: []
86
97
  rubyforge_project: hudson-remote-api
87
- rubygems_version: 1.8.25
98
+ rubygems_version: 2.4.2
88
99
  signing_key:
89
- specification_version: 3
100
+ specification_version: 4
90
101
  summary: Connect to Hudson's remote web API
91
- test_files: []
102
+ test_files:
103
+ - test/test_helper.rb
104
+ - test/test_hudson_build.rb
105
+ - test/test_hudson_build_queue.rb
106
+ - test/test_hudson_client.rb
107
+ - test/test_hudson_job.rb
108
+ - test/test_hudson_multicast.rb
109
+ - test/test_hudson_settings.rb