build_eval 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (31) hide show
  1. checksums.yaml +4 -4
  2. data/lib/build_eval/error.rb +11 -0
  3. data/lib/build_eval/http.rb +17 -3
  4. data/lib/build_eval/result/build_result.rb +2 -2
  5. data/lib/build_eval/result/status.rb +5 -4
  6. data/lib/build_eval/server/cruise_control_response.rb +22 -0
  7. data/lib/build_eval/server/decorator.rb +1 -1
  8. data/lib/build_eval/server/invalid_selector_error.rb +13 -0
  9. data/lib/build_eval/server/jenkins.rb +23 -0
  10. data/lib/build_eval/server/team_city.rb +2 -5
  11. data/lib/build_eval/server/travis.rb +3 -6
  12. data/lib/build_eval/version.rb +1 -1
  13. data/lib/build_eval.rb +7 -1
  14. data/spec/lib/build_eval/error_spec.rb +21 -0
  15. data/spec/lib/build_eval/http_shared_context.rb +7 -0
  16. data/spec/lib/build_eval/http_spec.rb +25 -5
  17. data/spec/lib/build_eval/result/build_result_spec.rb +4 -4
  18. data/spec/lib/build_eval/result/status_spec.rb +30 -11
  19. data/spec/lib/build_eval/server/cruise_control_response_spec.rb +115 -0
  20. data/spec/lib/build_eval/server/decorator_spec.rb +6 -6
  21. data/spec/lib/build_eval/server/invalid_selector_error_spec.rb +27 -0
  22. data/spec/lib/build_eval/server/jenkins_integration_spec.rb +52 -0
  23. data/spec/lib/build_eval/server/jenkins_spec.rb +70 -0
  24. data/spec/lib/build_eval/server/server_shared_examples.rb +15 -0
  25. data/spec/lib/build_eval/server/team_city_integration_spec.rb +85 -0
  26. data/spec/lib/build_eval/server/team_city_spec.rb +24 -88
  27. data/spec/lib/build_eval/server/travis_integration_spec.rb +53 -0
  28. data/spec/lib/build_eval/server/travis_spec.rb +33 -55
  29. data/spec/lib/build_eval_smoke_spec.rb +25 -0
  30. data/spec/spec_helper.rb +14 -6
  31. metadata +42 -4
@@ -0,0 +1,70 @@
1
+ describe BuildEval::Server::Jenkins do
2
+ include_context "stubbed http interactions"
3
+
4
+ let(:uri) { "https://some.jenkins.server" }
5
+ let(:constructor_args) { { uri: uri } }
6
+
7
+ let(:jenkins_server) { described_class.new(constructor_args) }
8
+
9
+ it_behaves_like "a continuous integration server" do
10
+
11
+ let(:server) { jenkins_server }
12
+
13
+ end
14
+
15
+ describe "#build_result" do
16
+
17
+ let(:build_name) { "some_build_name" }
18
+ let(:response) { instance_double(Net::HTTPResponse) }
19
+ let(:build_result) { instance_double(BuildEval::Result::BuildResult) }
20
+ let(:cruise_control_response) do
21
+ instance_double(BuildEval::Server::CruiseControlResponse, parse_result: build_result)
22
+ end
23
+
24
+ subject { jenkins_server.build_result(build_name) }
25
+
26
+ before(:example) do
27
+ allow(http).to receive(:get).and_return(response)
28
+ allow(BuildEval::Server::CruiseControlResponse).to receive(:new).and_return(cruise_control_response)
29
+ allow(cruise_control_response).to receive(:parse_result).and_return(build_result)
30
+ end
31
+
32
+ it "issues a GET request for the build" do
33
+ expect(http).to receive(:get).with("#{uri}/cc.xml")
34
+
35
+ subject
36
+ end
37
+
38
+ it "creates a Cruise Control response containing the GET request response" do
39
+ expect(BuildEval::Server::CruiseControlResponse).to receive(:new).with(response)
40
+
41
+ subject
42
+ end
43
+
44
+ it "parses the Cruise Control response to return the project with a matching build name" do
45
+ expect(cruise_control_response).to receive(:parse_result).with(a_string_including(build_name))
46
+
47
+ subject
48
+ end
49
+
50
+ it "returns the parsed build result" do
51
+ expect(subject).to eql(build_result)
52
+ end
53
+
54
+ end
55
+
56
+ describe "#to_s" do
57
+
58
+ subject { jenkins_server.to_s }
59
+
60
+ it "returns a string indicating it is a Jenkins server" do
61
+ expect(subject).to include("Jenkins server")
62
+ end
63
+
64
+ it "returns a string containing the username" do
65
+ expect(subject).to include(uri)
66
+ end
67
+
68
+ end
69
+
70
+ end
@@ -0,0 +1,15 @@
1
+ shared_examples_for "a continuous integration server" do
2
+
3
+ describe "constructor" do
4
+
5
+ subject { server }
6
+
7
+ it "creates a http object with any provided http configuration options" do
8
+ expect(BuildEval::Http).to receive(:new).with(constructor_args)
9
+
10
+ subject
11
+ end
12
+
13
+ end
14
+
15
+ end
@@ -0,0 +1,85 @@
1
+ describe BuildEval::Server::TeamCity, "integrating with a response parser", integration: true do
2
+ include_context "stubbed http interactions"
3
+
4
+ let(:uri) { "https://some.teamcity.server" }
5
+
6
+ let(:team_city_server) { described_class.new(uri: uri) }
7
+
8
+ describe "#build_result" do
9
+
10
+ let(:build_name) { "some_build_name" }
11
+ let(:response_message) { nil }
12
+ let(:response_body) { nil }
13
+ let(:response) { instance_double(Net::HTTPResponse, message: response_message, body: response_body) }
14
+
15
+ subject { team_city_server.build_result(build_name) }
16
+
17
+ before(:example) { allow(http).to receive(:get).and_return(response) }
18
+
19
+ context "when the server responds with build results" do
20
+
21
+ let(:latest_build_status) { "FAILED" }
22
+ let(:response_message) { "OK" }
23
+ let(:response_body) do
24
+ <<-RESPONSE
25
+ <builds count="3" href="/httpAuth/app/rest/buildTypes/#{build_name}/builds/" nextHref="/httpAuth/app/rest/buildTypes/#{build_name}/builds/?count=3&start=3">
26
+ <build id="87735" buildTypeId="#{build_name}" number="2062" status="#{latest_build_status}" state="finished" href="/httpAuth/app/rest/builds/id:87735" webUrl="#{uri}/viewLog.html?buildId=87735&buildTypeId=#{build_name}"/>
27
+ <build id="87723" buildTypeId="#{build_name}" number="2061" status="SUCCESS" state="finished" href="/httpAuth/app/rest/builds/id:87723" webUrl="#{uri}/viewLog.html?buildId=87723&buildTypeId=#{build_name}"/>
28
+ <build id="87658" buildTypeId="#{build_name}" number="2060" status="SUCCESS" state="finished" href="/httpAuth/app/rest/builds/id:87658" webUrl="#{uri}/viewLog.html?buildId=87658&buildTypeId=#{build_name}"/>
29
+ </builds>
30
+ RESPONSE
31
+ end
32
+
33
+ it "creates a build result containing the build name" do
34
+ expect(BuildEval::Result::BuildResult).to receive(:create).with(hash_including(build_name: build_name))
35
+
36
+ subject
37
+ end
38
+
39
+ it "creates a build result containing the latest build status" do
40
+ expect(BuildEval::Result::BuildResult).to(
41
+ receive(:create).with(hash_including(status_name: latest_build_status))
42
+ )
43
+
44
+ subject
45
+ end
46
+
47
+ it "returns the created result" do
48
+ build_result = instance_double(BuildEval::Result::BuildResult)
49
+ allow(BuildEval::Result::BuildResult).to receive(:create).and_return(build_result)
50
+
51
+ expect(subject).to eql(build_result)
52
+ end
53
+
54
+ end
55
+
56
+ context "when the server authentication request fails" do
57
+
58
+ let(:response_message) { "Unauthorized" }
59
+ let(:response_body) { "Incorrect username or password" }
60
+
61
+ it "raises an error" do
62
+ expect { subject }.to raise_error(/Unauthorized/)
63
+ end
64
+
65
+ end
66
+
67
+ context "when the build is not found" do
68
+
69
+ let(:response_message) { "Not Found" }
70
+ let(:response_body) do
71
+ <<-BODY
72
+ Error has occurred during request processing (Not Found).
73
+ Error: jetbrains.buildServer.server.rest.errors.NotFoundException: No build type nor template is found by id '#{build_name}'.
74
+ BODY
75
+ end
76
+
77
+ it "raises an error" do
78
+ expect { subject }.to raise_error(/Not Found/)
79
+ end
80
+
81
+ end
82
+
83
+ end
84
+
85
+ end
@@ -1,110 +1,46 @@
1
1
  describe BuildEval::Server::TeamCity do
2
+ include_context "stubbed http interactions"
2
3
 
3
- let(:uri) { "https://some.teamcity.server" }
4
- let(:username) { "some_username" }
5
- let(:password) { "some_password" }
4
+ let(:uri) { "https://some.teamcity.server" }
5
+ let(:username) { "some_username" }
6
+ let(:password) { "some_password" }
7
+ let(:constructor_args) { { uri: uri, username: username, password: password } }
6
8
 
7
- let(:team_city) { described_class.new(uri: uri, username: username, password: password) }
9
+ let(:team_city_server) { described_class.new(constructor_args) }
8
10
 
9
- describe "#build_result" do
10
-
11
- let(:build_name) { "some_build_name" }
12
- let(:response_code) { nil }
13
- let(:response_message) { nil }
14
- let(:response_body) { nil }
15
- let(:response) do
16
- instance_double(Net::HTTPResponse, code: response_code, message: response_message, body: response_body)
17
- end
18
-
19
- subject { team_city.build_result(build_name) }
20
-
21
- before(:example) { allow(BuildEval::Http).to receive(:get).and_return(response) }
22
-
23
- it "issues a get request for the build" do
24
- expected_uri = "#{uri}/httpAuth/app/rest/buildTypes/id:#{build_name}/builds"
25
- expect(BuildEval::Http).to receive(:get).with(expected_uri, anything)
26
-
27
- subject rescue Exception
28
- end
29
-
30
- it "issues a get request with the provided basic authentication credentials" do
31
- expect(BuildEval::Http).to receive(:get).with(anything, username: username, password: password)
32
-
33
- subject rescue Exception
34
- end
35
-
36
- context "when the server responds with build results" do
11
+ it_behaves_like "a continuous integration server" do
37
12
 
38
- let(:response_code) { "200" }
39
- let(:response_message) { "OK" }
40
- let(:latest_build_status) { "FAILED" }
41
- let(:response_body) do
42
- <<-RESPONSE
43
- <builds count="3" href="/httpAuth/app/rest/buildTypes/#{build_name}/builds/" nextHref="/httpAuth/app/rest/buildTypes/#{build_name}/builds/?count=3&start=3">
44
- <build id="87735" buildTypeId="#{build_name}" number="2062" status="#{latest_build_status}" state="finished" href="/httpAuth/app/rest/builds/id:87735" webUrl="#{uri}/viewLog.html?buildId=87735&buildTypeId=#{build_name}"/>
45
- <build id="87723" buildTypeId="#{build_name}" number="2061" status="SUCCESS" state="finished" href="/httpAuth/app/rest/builds/id:87723" webUrl="#{uri}/viewLog.html?buildId=87723&buildTypeId=#{build_name}"/>
46
- <build id="87658" buildTypeId="#{build_name}" number="2060" status="SUCCESS" state="finished" href="/httpAuth/app/rest/builds/id:87658" webUrl="#{uri}/viewLog.html?buildId=87658&buildTypeId=#{build_name}"/>
47
- </builds>
48
- RESPONSE
49
- end
13
+ let(:server) { team_city_server }
50
14
 
51
- it "creates a build result containing the build name" do
52
- expect(BuildEval::Result::BuildResult).to receive(:create).with(hash_including(build_name: build_name))
53
-
54
- subject
55
- end
56
-
57
- it "creates a build result containing the latest build status" do
58
- expect(BuildEval::Result::BuildResult).to(
59
- receive(:create).with(hash_including(status_name: latest_build_status))
60
- )
61
-
62
- subject
63
- end
64
-
65
- it "returns the created result" do
66
- build_result = instance_double(BuildEval::Result::BuildResult)
67
- allow(BuildEval::Result::BuildResult).to receive(:create).and_return(build_result)
68
-
69
- expect(subject).to eql(build_result)
70
- end
71
-
72
- end
73
-
74
- context "when the server authentication request fails" do
75
-
76
- let(:response_code) { "401" }
77
- let(:response_message) { "Unauthorized" }
78
- let(:response_body) { "Incorrect username or password" }
15
+ end
79
16
 
80
- it "raises an error" do
81
- expect { subject }.to raise_error(/Unauthorized/)
82
- end
17
+ describe "#build_result" do
83
18
 
19
+ let(:build_name) { "some_build_name" }
20
+ let(:response_body) do
21
+ <<-RESPONSE
22
+ <builds count="3" href="/httpAuth/app/rest/buildTypes/#{build_name}/builds/" nextHref="/httpAuth/app/rest/buildTypes/#{build_name}/builds/?count=3&start=3">
23
+ <build id="87735" buildTypeId="#{build_name}" number="2062" status="SUCCESS" state="finished" href="/httpAuth/app/rest/builds/id:87735" webUrl="#{uri}/viewLog.html?buildId=87735&buildTypeId=#{build_name}"/>
24
+ </builds>
25
+ RESPONSE
84
26
  end
27
+ let(:response) { instance_double(Net::HTTPResponse, body: response_body) }
85
28
 
86
- context "when the build is not found" do
29
+ subject { team_city_server.build_result(build_name) }
87
30
 
88
- let(:response_code) { "404" }
89
- let(:response_message) { "Not Found" }
90
- let(:response_body) do
91
- <<-BODY
92
- Error has occurred during request processing (Not Found).
93
- Error: jetbrains.buildServer.server.rest.errors.NotFoundException: No build type nor template is found by id '#{build_name}'.
94
- BODY
95
- end
31
+ before(:example) { allow(http).to receive(:get).and_return(response) }
96
32
 
97
- it "raises an error" do
98
- expect { subject }.to raise_error(/Not Found/)
99
- end
33
+ it "issues a GET request for the build" do
34
+ expect(http).to receive(:get).with("#{uri}/httpAuth/app/rest/buildTypes/id:#{build_name}/builds")
100
35
 
36
+ subject
101
37
  end
102
38
 
103
39
  end
104
40
 
105
41
  describe "#to_s" do
106
42
 
107
- subject { team_city.to_s }
43
+ subject { team_city_server.to_s }
108
44
 
109
45
  it "returns a string indicating it is a TeamCity server" do
110
46
  expect(subject).to include("TeamCity")
@@ -0,0 +1,53 @@
1
+ describe BuildEval::Server::Travis, "integrating with a response parser", integration: true do
2
+ include_context "stubbed http interactions"
3
+
4
+ let(:username) { "some_username" }
5
+
6
+ let(:travis) { described_class.new(username: username) }
7
+
8
+ describe "#build_result" do
9
+
10
+ let(:build_name) { "some_build_name" }
11
+ let(:response) { instance_double(Net::HTTPResponse, body: response_body) }
12
+
13
+ subject { travis.build_result(build_name) }
14
+
15
+ before(:example) { allow(http).to receive(:get).and_return(response) }
16
+
17
+ context "when the server responds successfully with build results" do
18
+
19
+ let(:latest_build_status) { "Success" }
20
+ let(:response_body) do
21
+ <<-RESPONSE
22
+ <Projects>
23
+ <Project name="#{username}/#{build_name}" activity="Sleeping" lastBuildStatus="#{latest_build_status}" lastBuildLabel="2" lastBuildTime="2015-08-13T08:31:27.000+0000" webUrl="https://travis-ci.org/#{username}/#{build_name}" />
24
+ </Projects>
25
+ RESPONSE
26
+ end
27
+
28
+ it "creates a build result containing the build name" do
29
+ expect(BuildEval::Result::BuildResult).to receive(:create).with(hash_including(build_name: build_name))
30
+
31
+ subject
32
+ end
33
+
34
+ it "creates a build result containing the latest build status" do
35
+ expect(BuildEval::Result::BuildResult).to(
36
+ receive(:create).with(hash_including(status_name: latest_build_status))
37
+ )
38
+
39
+ subject
40
+ end
41
+
42
+ it "returns the created result" do
43
+ build_result = instance_double(BuildEval::Result::BuildResult)
44
+ allow(BuildEval::Result::BuildResult).to receive(:create).and_return(build_result)
45
+
46
+ expect(subject).to eql(build_result)
47
+ end
48
+
49
+ end
50
+
51
+ end
52
+
53
+ end
@@ -1,83 +1,61 @@
1
1
  describe BuildEval::Server::Travis do
2
+ include_context "stubbed http interactions"
2
3
 
3
- let(:username) { "some_username" }
4
+ let(:username) { "some_username" }
5
+ let(:constructor_args) { { username: username } }
4
6
 
5
- let(:travis) { described_class.new(username: username) }
7
+ let(:travis_server) { described_class.new(constructor_args) }
6
8
 
7
- describe "#build_result" do
8
-
9
- let(:build_name) { "some_build_name" }
10
- let(:response_code) { nil }
11
- let(:response_message) { nil }
12
- let(:response_body) { nil }
13
- let(:response) do
14
- instance_double(Net::HTTPResponse, code: response_code, message: response_message, body: response_body)
15
- end
9
+ it_behaves_like "a continuous integration server" do
16
10
 
17
- subject { travis.build_result(build_name) }
11
+ let(:server) { travis_server }
18
12
 
19
- before(:example) { allow(BuildEval::Http).to receive(:get).and_return(response) }
13
+ end
20
14
 
21
- it "issues a get request for the build" do
22
- expected_uri = "https://api.travis-ci.org/repositories/#{username}/#{build_name}/cc.xml"
23
- expect(BuildEval::Http).to receive(:get).with(expected_uri)
15
+ describe "#build_result" do
24
16
 
25
- subject rescue Exception
17
+ let(:build_name) { "some_build_name" }
18
+ let(:response) { instance_double(Net::HTTPResponse) }
19
+ let(:build_result) { instance_double(BuildEval::Result::BuildResult) }
20
+ let(:cruise_control_response) do
21
+ instance_double(BuildEval::Server::CruiseControlResponse, parse_result: build_result)
26
22
  end
27
23
 
28
- context "when the server responds with build results" do
29
-
30
- let(:response_code) { "200" }
31
- let(:response_message) { "OK" }
32
- let(:latest_build_status) { "Success" }
33
- let(:response_body) do
34
- <<-RESPONSE
35
- <Projects>
36
- <Project name="#{username}/#{build_name}" activity="Sleeping" lastBuildStatus="#{latest_build_status}" lastBuildLabel="2" lastBuildTime="2015-08-13T08:31:27.000+0000" webUrl="https://travis-ci.org/#{username}/#{build_name}" />
37
- </Projects>
38
- RESPONSE
39
- end
24
+ subject { travis_server.build_result(build_name) }
40
25
 
41
- it "creates a build result containing the build name" do
42
- expect(BuildEval::Result::BuildResult).to receive(:create).with(hash_including(build_name: build_name))
43
-
44
- subject
45
- end
46
-
47
- it "creates a build result containing the latest build status" do
48
- expect(BuildEval::Result::BuildResult).to(
49
- receive(:create).with(hash_including(status_name: latest_build_status))
50
- )
26
+ before(:example) do
27
+ allow(http).to receive(:get).and_return(response)
28
+ allow(BuildEval::Server::CruiseControlResponse).to receive(:new).and_return(cruise_control_response)
29
+ allow(cruise_control_response).to receive(:parse_result).and_return(build_result)
30
+ end
51
31
 
52
- subject
53
- end
32
+ it "issues a GET request for the build" do
33
+ expect(http).to receive(:get).with("https://api.travis-ci.org/repositories/#{username}/#{build_name}/cc.xml")
54
34
 
55
- it "returns the created result" do
56
- build_result = instance_double(BuildEval::Result::BuildResult)
57
- allow(BuildEval::Result::BuildResult).to receive(:create).and_return(build_result)
35
+ subject rescue Exception
36
+ end
58
37
 
59
- expect(subject).to eql(build_result)
60
- end
38
+ it "creates a Cruise Control response containing the GET request response" do
39
+ expect(BuildEval::Server::CruiseControlResponse).to receive(:new).with(response)
61
40
 
41
+ subject
62
42
  end
63
43
 
64
- context "when the build is not found" do
65
-
66
- let(:response_code) { "404" }
67
- let(:response_message) { "Not Found" }
68
- let(:response_body) { { "file" => "not found" }.to_json }
44
+ it "parses the Cruise Control response to return the project" do
45
+ expect(cruise_control_response).to receive(:parse_result).with("//Project")
69
46
 
70
- it "raises an error" do
71
- expect { subject }.to raise_error(/Not Found/)
72
- end
47
+ subject
48
+ end
73
49
 
50
+ it "returns the parsed build result" do
51
+ expect(subject).to eql(build_result)
74
52
  end
75
53
 
76
54
  end
77
55
 
78
56
  describe "#to_s" do
79
57
 
80
- subject { travis.to_s }
58
+ subject { travis_server.to_s }
81
59
 
82
60
  it "returns a string indicating it uses the Travis CI service" do
83
61
  expect(subject).to include("Travis CI")
@@ -0,0 +1,25 @@
1
+ describe BuildEval, "integrating with a real CI server", smoke: true do
2
+
3
+ let(:server) { BuildEval.server(type: :Travis, username: "MYOB-Technology") }
4
+
5
+ let(:monitor) { server.monitor("build_eval") }
6
+
7
+ describe "the evaluated results from a build monitor for the server" do
8
+
9
+ let(:tolerated_statuses) do
10
+ [ BuildEval::Result::Status::SUCCESS, BuildEval::Result::Status::UNKNOWN, BuildEval::Result::Status::FAILURE ]
11
+ end
12
+
13
+ subject { monitor.evaluate }
14
+
15
+ it "indicate the builds status" do
16
+ expect(tolerated_statuses).to include(subject.status)
17
+ end
18
+
19
+ it "describe the build and it's status" do
20
+ expect(subject.to_s).to match(/build_eval: (#{tolerated_statuses.map(&:to_s).join("|")})/)
21
+ end
22
+
23
+ end
24
+
25
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,13 +1,21 @@
1
1
  require 'bundler'
2
2
  Bundler.require(:development)
3
3
 
4
- SimpleCov.start do
5
- coverage_dir "tmp/coverage"
4
+ if ENV["coverage"]
5
+ CodeClimate::TestReporter.start
6
6
 
7
- add_filter "/spec/"
7
+ SimpleCov.start do
8
+ coverage_dir "tmp/coverage"
8
9
 
9
- minimum_coverage 100
10
- refuse_coverage_drop
11
- end if ENV["coverage"]
10
+ add_filter "/spec/"
11
+
12
+ minimum_coverage 100
13
+ refuse_coverage_drop
14
+ end
15
+ end
12
16
 
13
17
  require_relative '../lib/build_eval'
18
+
19
+ %w{ shared_examples shared_context }.each do |file_type|
20
+ Dir[::File.expand_path("../**/*_#{file_type}.rb", __FILE__)].each { |file| require file }
21
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: build_eval
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Ueckerman
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-08-17 00:00:00.000000000 Z
12
+ date: 2015-12-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
@@ -73,14 +73,14 @@ dependencies:
73
73
  requirements:
74
74
  - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: '3.3'
76
+ version: '3.4'
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: '3.3'
83
+ version: '3.4'
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: fakeweb
86
86
  requirement: !ruby/object:Gem::Requirement
@@ -109,6 +109,20 @@ dependencies:
109
109
  - - "~>"
110
110
  - !ruby/object:Gem::Version
111
111
  version: '0.10'
112
+ - !ruby/object:Gem::Dependency
113
+ name: codeclimate-test-reporter
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - "~>"
117
+ - !ruby/object:Gem::Version
118
+ version: '0.4'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - "~>"
124
+ - !ruby/object:Gem::Version
125
+ version: '0.4'
112
126
  description: Evaluates the effective status of continuous integration builds. Useful
113
127
  for subsequent display on information radiators.
114
128
  email: matthew.ueckerman@myob.com
@@ -117,6 +131,7 @@ extensions: []
117
131
  extra_rdoc_files: []
118
132
  files:
119
133
  - "./lib/build_eval.rb"
134
+ - "./lib/build_eval/error.rb"
120
135
  - "./lib/build_eval/http.rb"
121
136
  - "./lib/build_eval/monitor/base.rb"
122
137
  - "./lib/build_eval/monitor/composite.rb"
@@ -125,10 +140,15 @@ files:
125
140
  - "./lib/build_eval/result/composite_result.rb"
126
141
  - "./lib/build_eval/result/server_result.rb"
127
142
  - "./lib/build_eval/result/status.rb"
143
+ - "./lib/build_eval/server/cruise_control_response.rb"
128
144
  - "./lib/build_eval/server/decorator.rb"
145
+ - "./lib/build_eval/server/invalid_selector_error.rb"
146
+ - "./lib/build_eval/server/jenkins.rb"
129
147
  - "./lib/build_eval/server/team_city.rb"
130
148
  - "./lib/build_eval/server/travis.rb"
131
149
  - "./lib/build_eval/version.rb"
150
+ - "./spec/lib/build_eval/error_spec.rb"
151
+ - "./spec/lib/build_eval/http_shared_context.rb"
132
152
  - "./spec/lib/build_eval/http_spec.rb"
133
153
  - "./spec/lib/build_eval/monitor/base_spec.rb"
134
154
  - "./spec/lib/build_eval/monitor/composite_spec.rb"
@@ -137,9 +157,17 @@ files:
137
157
  - "./spec/lib/build_eval/result/composite_result_spec.rb"
138
158
  - "./spec/lib/build_eval/result/server_result_spec.rb"
139
159
  - "./spec/lib/build_eval/result/status_spec.rb"
160
+ - "./spec/lib/build_eval/server/cruise_control_response_spec.rb"
140
161
  - "./spec/lib/build_eval/server/decorator_spec.rb"
162
+ - "./spec/lib/build_eval/server/invalid_selector_error_spec.rb"
163
+ - "./spec/lib/build_eval/server/jenkins_integration_spec.rb"
164
+ - "./spec/lib/build_eval/server/jenkins_spec.rb"
165
+ - "./spec/lib/build_eval/server/server_shared_examples.rb"
166
+ - "./spec/lib/build_eval/server/team_city_integration_spec.rb"
141
167
  - "./spec/lib/build_eval/server/team_city_spec.rb"
168
+ - "./spec/lib/build_eval/server/travis_integration_spec.rb"
142
169
  - "./spec/lib/build_eval/server/travis_spec.rb"
170
+ - "./spec/lib/build_eval_smoke_spec.rb"
143
171
  - "./spec/lib/build_eval_spec.rb"
144
172
  - "./spec/spec_helper.rb"
145
173
  homepage: http://github.com/MYOB-Technology/build_eval
@@ -167,6 +195,8 @@ signing_key:
167
195
  specification_version: 4
168
196
  summary: Evaluates the effective status of continuous integration builds
169
197
  test_files:
198
+ - "./spec/lib/build_eval/error_spec.rb"
199
+ - "./spec/lib/build_eval/http_shared_context.rb"
170
200
  - "./spec/lib/build_eval/http_spec.rb"
171
201
  - "./spec/lib/build_eval/monitor/base_spec.rb"
172
202
  - "./spec/lib/build_eval/monitor/composite_spec.rb"
@@ -175,8 +205,16 @@ test_files:
175
205
  - "./spec/lib/build_eval/result/composite_result_spec.rb"
176
206
  - "./spec/lib/build_eval/result/server_result_spec.rb"
177
207
  - "./spec/lib/build_eval/result/status_spec.rb"
208
+ - "./spec/lib/build_eval/server/cruise_control_response_spec.rb"
178
209
  - "./spec/lib/build_eval/server/decorator_spec.rb"
210
+ - "./spec/lib/build_eval/server/invalid_selector_error_spec.rb"
211
+ - "./spec/lib/build_eval/server/jenkins_integration_spec.rb"
212
+ - "./spec/lib/build_eval/server/jenkins_spec.rb"
213
+ - "./spec/lib/build_eval/server/server_shared_examples.rb"
214
+ - "./spec/lib/build_eval/server/team_city_integration_spec.rb"
179
215
  - "./spec/lib/build_eval/server/team_city_spec.rb"
216
+ - "./spec/lib/build_eval/server/travis_integration_spec.rb"
180
217
  - "./spec/lib/build_eval/server/travis_spec.rb"
218
+ - "./spec/lib/build_eval_smoke_spec.rb"
181
219
  - "./spec/lib/build_eval_spec.rb"
182
220
  - "./spec/spec_helper.rb"