codeclimate-services 1.6.1 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rspec +2 -0
- data/.rubocop.yml +1 -0
- data/Gemfile +1 -2
- data/Rakefile +4 -7
- data/base_rubocop.yml +152 -0
- data/bin/bundler +5 -5
- data/bin/coderay +5 -5
- data/bin/nokogiri +5 -5
- data/bin/pry +5 -5
- data/bin/rake +5 -5
- data/codeclimate-services.gemspec +15 -15
- data/config/load.rb +2 -2
- data/lib/cc/formatters/linked_formatter.rb +2 -2
- data/lib/cc/formatters/snapshot_formatter.rb +10 -10
- data/lib/cc/formatters/ticket_formatter.rb +0 -2
- data/lib/cc/helpers/quality_helper.rb +2 -2
- data/lib/cc/helpers/vulnerability_helper.rb +0 -2
- data/lib/cc/presenters/pull_requests_presenter.rb +1 -5
- data/lib/cc/pull_requests.rb +7 -3
- data/lib/cc/service.rb +9 -10
- data/lib/cc/service/formatter.rb +3 -3
- data/lib/cc/service/helper.rb +2 -3
- data/lib/cc/service/http.rb +9 -9
- data/lib/cc/service/invocation.rb +6 -6
- data/lib/cc/service/invocation/with_error_handling.rb +9 -8
- data/lib/cc/service/invocation/with_metrics.rb +4 -4
- data/lib/cc/service/invocation/with_return_values.rb +0 -1
- data/lib/cc/service/response_check.rb +4 -5
- data/lib/cc/services.rb +2 -2
- data/lib/cc/services/asana.rb +8 -9
- data/lib/cc/services/campfire.rb +2 -3
- data/lib/cc/services/flowdock.rb +5 -5
- data/lib/cc/services/github_issues.rb +6 -7
- data/lib/cc/services/github_pull_requests.rb +42 -5
- data/lib/cc/services/gitlab_merge_requests.rb +6 -2
- data/lib/cc/services/hipchat.rb +3 -4
- data/lib/cc/services/jira.rb +8 -9
- data/lib/cc/services/lighthouse.rb +4 -5
- data/lib/cc/services/pivotal_tracker.rb +6 -7
- data/lib/cc/services/slack.rb +8 -8
- data/lib/cc/services/stash_pull_requests.rb +2 -2
- data/lib/cc/services/version.rb +1 -1
- data/pull_request_test.rb +11 -10
- data/service_test.rb +5 -5
- data/spec/axiom/types/password_spec.rb +14 -0
- data/spec/cc/formatters/snapshot_formatter_spec.rb +44 -0
- data/spec/cc/presenters/pull_requests_presenter_spec.rb +45 -0
- data/{test/asana_test.rb → spec/cc/service/asana_spec.rb} +27 -29
- data/{test/campfire_test.rb → spec/cc/service/campfire_spec.rb} +40 -44
- data/{test/flowdock_test.rb → spec/cc/service/flowdock_spec.rb} +46 -48
- data/{test/github_issues_test.rb → spec/cc/service/github_issues_spec.rb} +33 -35
- data/spec/cc/service/github_pull_requests_spec.rb +223 -0
- data/{test/gitlab_merge_requests_test.rb → spec/cc/service/gitlab_merge_requests_spec.rb} +30 -35
- data/{test/hipchat_test.rb → spec/cc/service/hipchat_spec.rb} +38 -40
- data/spec/cc/service/invocation/error_handling_spec.rb +49 -0
- data/spec/cc/service/invocation/return_values_spec.rb +19 -0
- data/spec/cc/service/invocation/with_metrics_spec.rb +18 -0
- data/{test/invocation_test.rb → spec/cc/service/invocation_spec.rb} +31 -34
- data/{test/jira_test.rb → spec/cc/service/jira_spec.rb} +25 -27
- data/{test/lighthouse_test.rb → spec/cc/service/lighthouse_spec.rb} +23 -26
- data/spec/cc/service/pivotal_tracker_spec.rb +70 -0
- data/{test/slack_test.rb → spec/cc/service/slack_spec.rb} +66 -77
- data/spec/cc/service/stash_pull_requests_spec.rb +132 -0
- data/spec/cc/service_spec.rb +78 -0
- data/{test → spec}/fixtures.rb +3 -4
- data/spec/spec_helper.rb +37 -0
- data/{test → spec}/support/fake_logger.rb +0 -0
- data/spec/support/service_context.rb +42 -0
- metadata +57 -52
- data/test/axiom/types/password_test.rb +0 -22
- data/test/formatters/snapshot_formatter_test.rb +0 -47
- data/test/github_pull_requests_test.rb +0 -217
- data/test/helper.rb +0 -58
- data/test/invocation_error_handling_test.rb +0 -51
- data/test/invocation_return_values_test.rb +0 -21
- data/test/pivotal_tracker_test.rb +0 -73
- data/test/presenters/pull_requests_presenter_test.rb +0 -70
- data/test/service_test.rb +0 -84
- data/test/stash_pull_requests_test.rb +0 -146
- data/test/with_metrics_test.rb +0 -19
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
describe CC::Service::StashPullRequests, type: :service do
|
|
2
|
+
it "receive test" do
|
|
3
|
+
http_stubs.get "/rest/api/1.0/users" do
|
|
4
|
+
[200, {}, "{ 'values': [] }"]
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
response = receive_test
|
|
8
|
+
|
|
9
|
+
expect({ ok: true, message: "Test succeeded" }).to eq(response)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
it "failed receive test" do
|
|
13
|
+
http_stubs.get "/rest/api/1.0/users" do
|
|
14
|
+
[401, {}, ""]
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
response = receive_test
|
|
18
|
+
|
|
19
|
+
expect({ ok: false, message: "API request unsuccessful (401)" }).to eq(response)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
it "pull request status pending" do
|
|
23
|
+
expect_status_update("abc123", "state" => "INPROGRESS",
|
|
24
|
+
"description" => /is analyzing/)
|
|
25
|
+
|
|
26
|
+
receive_pull_request(
|
|
27
|
+
commit_sha: "abc123",
|
|
28
|
+
state: "pending",
|
|
29
|
+
)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
it "pull request status success detailed" do
|
|
33
|
+
expect_status_update("abc123", "state" => "SUCCESSFUL",
|
|
34
|
+
"description" => "Code Climate found 2 new issues and 1 fixed issue.")
|
|
35
|
+
|
|
36
|
+
receive_pull_request(
|
|
37
|
+
commit_sha: "abc123",
|
|
38
|
+
state: "success",
|
|
39
|
+
)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
it "pull request status failure" do
|
|
43
|
+
expect_status_update("abc123", "state" => "FAILED",
|
|
44
|
+
"description" => "Code Climate found 2 new issues and 1 fixed issue.")
|
|
45
|
+
|
|
46
|
+
receive_pull_request(
|
|
47
|
+
commit_sha: "abc123",
|
|
48
|
+
state: "failure",
|
|
49
|
+
)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
it "pull request status error" do
|
|
53
|
+
expect_status_update("abc123", "state" => "FAILED",
|
|
54
|
+
"description" => "Code Climate encountered an error attempting to analyze this pull request.")
|
|
55
|
+
|
|
56
|
+
receive_pull_request(
|
|
57
|
+
commit_sha: "abc123",
|
|
58
|
+
state: "error",
|
|
59
|
+
)
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
it "pull request status error message provided" do
|
|
63
|
+
message = "Everything broke."
|
|
64
|
+
|
|
65
|
+
expect_status_update("abc123", "state" => "FAILED",
|
|
66
|
+
"description" => message)
|
|
67
|
+
|
|
68
|
+
receive_pull_request(
|
|
69
|
+
commit_sha: "abc123",
|
|
70
|
+
message: message,
|
|
71
|
+
state: "error",
|
|
72
|
+
)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
it "pull request status skipped" do
|
|
76
|
+
expect_status_update("abc123", "state" => "SUCCESSFUL",
|
|
77
|
+
"description" => "Code Climate has skipped analysis of this commit.")
|
|
78
|
+
|
|
79
|
+
receive_pull_request(
|
|
80
|
+
commit_sha: "abc123",
|
|
81
|
+
state: "skipped",
|
|
82
|
+
)
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
it "failed receive pull request" do
|
|
86
|
+
commit_sha = "abc123"
|
|
87
|
+
|
|
88
|
+
http_stubs.post("/rest/build-status/1.0/commits/#{commit_sha}") do
|
|
89
|
+
[401, {}, ""]
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
expect do
|
|
94
|
+
receive_pull_request(
|
|
95
|
+
commit_sha: "abc123",
|
|
96
|
+
state: "success",
|
|
97
|
+
)
|
|
98
|
+
end.to raise_error(CC::Service::HTTPError)
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
private
|
|
102
|
+
|
|
103
|
+
def expect_status_update(commit_sha, params)
|
|
104
|
+
http_stubs.post("/rest/build-status/1.0/commits/#{commit_sha}") do |env|
|
|
105
|
+
body = JSON.parse(env[:body])
|
|
106
|
+
|
|
107
|
+
params.each do |k, v|
|
|
108
|
+
expect(v).to match(body[k])
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
def default_config
|
|
114
|
+
{ domain: "example.com", username: "zaphod", password: "g4rgl3bl4st3r" }
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
def receive_pull_request(event_data, config = {})
|
|
118
|
+
service_receive(
|
|
119
|
+
CC::Service::StashPullRequests,
|
|
120
|
+
default_config.merge(config),
|
|
121
|
+
{ name: "pull_request", issue_comparison_counts: { "fixed" => 1, "new" => 2 } }.merge(event_data),
|
|
122
|
+
)
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
def receive_test(config = {}, event_data = {})
|
|
126
|
+
service_receive(
|
|
127
|
+
CC::Service::StashPullRequests,
|
|
128
|
+
default_config.merge(config),
|
|
129
|
+
{ name: "test" }.merge(event_data),
|
|
130
|
+
)
|
|
131
|
+
end
|
|
132
|
+
end
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
describe CC::Service, type: :service do
|
|
2
|
+
it "validates events" do
|
|
3
|
+
expect { CC::Service.new(:foo, {}, {}, {}) }.to raise_error(ArgumentError)
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
it "default path to ca file" do
|
|
7
|
+
s = CC::Service.new({}, name: "test")
|
|
8
|
+
expect(File.expand_path("../../../config/cacert.pem", __FILE__)).to eq(s.ca_file)
|
|
9
|
+
expect(File.exist?(s.ca_file)).to eq(true)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
it "custom path to ca file" do
|
|
13
|
+
begin
|
|
14
|
+
ENV["CODECLIMATE_CA_FILE"] = "/tmp/cacert.pem"
|
|
15
|
+
s = CC::Service.new({}, name: "test")
|
|
16
|
+
expect("/tmp/cacert.pem").to eq(s.ca_file)
|
|
17
|
+
ensure
|
|
18
|
+
ENV.delete("CODECLIMATE_CA_FILE")
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
it "nothing has a handler" do
|
|
23
|
+
service = CC::Service.new({}, name: "test")
|
|
24
|
+
|
|
25
|
+
result = service.receive
|
|
26
|
+
|
|
27
|
+
expect(result[:ok]).to eq(false)
|
|
28
|
+
expect(result[:ignored]).to eq(true)
|
|
29
|
+
expect(result[:message]).to eq("No service handler found")
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
it "post success" do
|
|
33
|
+
stub_http("/my/test/url", [200, {}, '{"ok": true, "thing": "123"}'])
|
|
34
|
+
|
|
35
|
+
response = service_post("/my/test/url", { token: "1234" }.to_json, {}) do |inner_response|
|
|
36
|
+
body = JSON.parse(inner_response.body)
|
|
37
|
+
{ thing: body["thing"] }
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
expect(response[:ok]).to eq(true)
|
|
41
|
+
expect(response[:params]).to eq('{"token":"1234"}')
|
|
42
|
+
expect(response[:endpoint_url]).to eq("/my/test/url")
|
|
43
|
+
expect(response[:status]).to eq(200)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
it "post redirect success" do
|
|
47
|
+
stub_http("/my/test/url", [307, { "Location" => "/my/redirect/url" }, '{"ok": false, "redirect": true}'])
|
|
48
|
+
stub_http("/my/redirect/url", [200, {}, '{"ok": true, "thing": "123"}'])
|
|
49
|
+
|
|
50
|
+
response = service_post_with_redirects("/my/test/url", { token: "1234" }.to_json, {}) do |inner_response|
|
|
51
|
+
body = JSON.parse(inner_response.body)
|
|
52
|
+
{ thing: body["thing"] }
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
expect(response[:ok]).to eq(true)
|
|
56
|
+
expect(response[:params]).to eq('{"token":"1234"}')
|
|
57
|
+
expect(response[:endpoint_url]).to eq("/my/test/url")
|
|
58
|
+
expect(response[:status]).to eq(200)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
it "post http failure" do
|
|
62
|
+
stub_http("/my/wrong/url", [404, {}, ""])
|
|
63
|
+
|
|
64
|
+
expect { service_post("/my/wrong/url", { token: "1234" }.to_json, {}) }.to raise_error(CC::Service::HTTPError)
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
it "post some other failure" do
|
|
68
|
+
stub_http("/my/wrong/url") { raise ArgumentError, "lol" }
|
|
69
|
+
|
|
70
|
+
expect { service_post("/my/wrong/url", { token: "1234" }.to_json, {}) }.to raise_error(ArgumentError)
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
it "services" do
|
|
74
|
+
services = CC::Service.services
|
|
75
|
+
|
|
76
|
+
expect(services.include?(CC::PullRequests)).not_to eq(true)
|
|
77
|
+
end
|
|
78
|
+
end
|
data/{test → spec}/fixtures.rb
RENAMED
|
@@ -7,7 +7,7 @@ class EventFixtures
|
|
|
7
7
|
"C" => 15,
|
|
8
8
|
"D" => 20,
|
|
9
9
|
"F" => 25,
|
|
10
|
-
}
|
|
10
|
+
}.freeze
|
|
11
11
|
|
|
12
12
|
def initialize(options)
|
|
13
13
|
@options = {
|
|
@@ -27,7 +27,7 @@ class EventFixtures
|
|
|
27
27
|
name: "coverage",
|
|
28
28
|
covered_percent: to,
|
|
29
29
|
previous_covered_percent: from,
|
|
30
|
-
covered_percent_delta: delta
|
|
30
|
+
covered_percent_delta: delta,
|
|
31
31
|
)
|
|
32
32
|
end
|
|
33
33
|
|
|
@@ -42,7 +42,7 @@ class EventFixtures
|
|
|
42
42
|
rating: to,
|
|
43
43
|
previous_rating: from,
|
|
44
44
|
remediation_cost: REMEDIATIONS[to],
|
|
45
|
-
previous_remediation_cost: REMEDIATIONS[from]
|
|
45
|
+
previous_remediation_cost: REMEDIATIONS[from],
|
|
46
46
|
)
|
|
47
47
|
end
|
|
48
48
|
|
|
@@ -54,7 +54,6 @@ class EventFixtures
|
|
|
54
54
|
def issue
|
|
55
55
|
options.merge(name: "issue")
|
|
56
56
|
end
|
|
57
|
-
|
|
58
57
|
end
|
|
59
58
|
|
|
60
59
|
def event(name, options = {})
|
data/spec/spec_helper.rb
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
require "codeclimate-test-reporter"
|
|
2
|
+
CodeClimate::TestReporter.start
|
|
3
|
+
|
|
4
|
+
cwd = File.expand_path(File.dirname(__FILE__))
|
|
5
|
+
require "#{cwd}/../config/load"
|
|
6
|
+
require "#{cwd}/fixtures"
|
|
7
|
+
Dir["#{cwd}/support/*.rb"].sort.each do |helper|
|
|
8
|
+
require helper
|
|
9
|
+
end
|
|
10
|
+
CC::Service.load_services
|
|
11
|
+
|
|
12
|
+
require "#{cwd}/support/service_context"
|
|
13
|
+
|
|
14
|
+
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
|
15
|
+
RSpec.configure do |config|
|
|
16
|
+
config.expect_with :rspec do |expectations|
|
|
17
|
+
# This option will default to `true` in RSpec 4. It makes the `description`
|
|
18
|
+
# and `failure_message` of custom matchers include text for helper methods
|
|
19
|
+
# defined using `chain`, e.g.:
|
|
20
|
+
# be_bigger_than(2).and_smaller_than(4).description
|
|
21
|
+
# # => "be bigger than 2 and smaller than 4"
|
|
22
|
+
# ...rather than:
|
|
23
|
+
# # => "be bigger than 2"
|
|
24
|
+
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
config.mock_with :rspec do |mocks|
|
|
28
|
+
# Prevents you from mocking or stubbing a method that does not exist on
|
|
29
|
+
# a real object. This is generally recommended, and will default to
|
|
30
|
+
# `true` in RSpec 4.
|
|
31
|
+
mocks.verify_partial_doubles = true
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# This setting enables warnings. It's recommended, but in some cases may
|
|
35
|
+
# be too noisy due to issues in dependencies.
|
|
36
|
+
config.warnings = true
|
|
37
|
+
end
|
|
File without changes
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
RSpec.shared_examples "Service Context", type: :service do
|
|
2
|
+
let!(:http_stubs) { Faraday::Adapter::Test::Stubs.new }
|
|
3
|
+
|
|
4
|
+
before do
|
|
5
|
+
I18n.enforce_available_locales = true
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
after do
|
|
9
|
+
http_stubs.verify_stubbed_calls
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def service(klass, data, payload)
|
|
13
|
+
service = klass.new(data, payload)
|
|
14
|
+
service.http adapter: [:test, http_stubs]
|
|
15
|
+
service
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def service_receive(*args)
|
|
19
|
+
service(*args).receive
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def service_post(*args)
|
|
23
|
+
service(
|
|
24
|
+
CC::Service,
|
|
25
|
+
{ data: "my data" },
|
|
26
|
+
event(:quality, to: "D", from: "C"),
|
|
27
|
+
).service_post(*args)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def service_post_with_redirects(*args)
|
|
31
|
+
service(
|
|
32
|
+
CC::Service,
|
|
33
|
+
{ data: "my data" },
|
|
34
|
+
event(:quality, to: "D", from: "C"),
|
|
35
|
+
).service_post_with_redirects(*args)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def stub_http(url, response = nil, &block)
|
|
39
|
+
block ||= ->(*_args) { response }
|
|
40
|
+
http_stubs.post(url, &block)
|
|
41
|
+
end
|
|
42
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: codeclimate-services
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.7.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Bryan Helmkamp
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-
|
|
11
|
+
date: 2016-09-15 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: faraday
|
|
@@ -95,7 +95,7 @@ dependencies:
|
|
|
95
95
|
- !ruby/object:Gem::Version
|
|
96
96
|
version: 1.6.2
|
|
97
97
|
- !ruby/object:Gem::Dependency
|
|
98
|
-
name:
|
|
98
|
+
name: codeclimate-test-reporter
|
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
|
100
100
|
requirements:
|
|
101
101
|
- - ">="
|
|
@@ -109,7 +109,7 @@ dependencies:
|
|
|
109
109
|
- !ruby/object:Gem::Version
|
|
110
110
|
version: '0'
|
|
111
111
|
- !ruby/object:Gem::Dependency
|
|
112
|
-
name:
|
|
112
|
+
name: rake
|
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
|
114
114
|
requirements:
|
|
115
115
|
- - ">="
|
|
@@ -123,7 +123,7 @@ dependencies:
|
|
|
123
123
|
- !ruby/object:Gem::Version
|
|
124
124
|
version: '0'
|
|
125
125
|
- !ruby/object:Gem::Dependency
|
|
126
|
-
name:
|
|
126
|
+
name: rspec
|
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
|
128
128
|
requirements:
|
|
129
129
|
- - ">="
|
|
@@ -144,11 +144,14 @@ extensions: []
|
|
|
144
144
|
extra_rdoc_files: []
|
|
145
145
|
files:
|
|
146
146
|
- ".gitignore"
|
|
147
|
+
- ".rspec"
|
|
148
|
+
- ".rubocop.yml"
|
|
147
149
|
- ".ruby-version"
|
|
148
150
|
- Gemfile
|
|
149
151
|
- LICENSE.txt
|
|
150
152
|
- README.md
|
|
151
153
|
- Rakefile
|
|
154
|
+
- base_rubocop.yml
|
|
152
155
|
- bin/bundler
|
|
153
156
|
- bin/coderay
|
|
154
157
|
- bin/nokogiri
|
|
@@ -196,29 +199,30 @@ files:
|
|
|
196
199
|
- lib/cc/services/version.rb
|
|
197
200
|
- pull_request_test.rb
|
|
198
201
|
- service_test.rb
|
|
199
|
-
-
|
|
200
|
-
-
|
|
201
|
-
-
|
|
202
|
-
-
|
|
203
|
-
-
|
|
204
|
-
-
|
|
205
|
-
-
|
|
206
|
-
-
|
|
207
|
-
-
|
|
208
|
-
-
|
|
209
|
-
-
|
|
210
|
-
-
|
|
211
|
-
-
|
|
212
|
-
-
|
|
213
|
-
-
|
|
214
|
-
-
|
|
215
|
-
-
|
|
216
|
-
-
|
|
217
|
-
-
|
|
218
|
-
-
|
|
219
|
-
-
|
|
220
|
-
-
|
|
221
|
-
-
|
|
202
|
+
- spec/axiom/types/password_spec.rb
|
|
203
|
+
- spec/cc/formatters/snapshot_formatter_spec.rb
|
|
204
|
+
- spec/cc/presenters/pull_requests_presenter_spec.rb
|
|
205
|
+
- spec/cc/service/asana_spec.rb
|
|
206
|
+
- spec/cc/service/campfire_spec.rb
|
|
207
|
+
- spec/cc/service/flowdock_spec.rb
|
|
208
|
+
- spec/cc/service/github_issues_spec.rb
|
|
209
|
+
- spec/cc/service/github_pull_requests_spec.rb
|
|
210
|
+
- spec/cc/service/gitlab_merge_requests_spec.rb
|
|
211
|
+
- spec/cc/service/hipchat_spec.rb
|
|
212
|
+
- spec/cc/service/invocation/error_handling_spec.rb
|
|
213
|
+
- spec/cc/service/invocation/return_values_spec.rb
|
|
214
|
+
- spec/cc/service/invocation/with_metrics_spec.rb
|
|
215
|
+
- spec/cc/service/invocation_spec.rb
|
|
216
|
+
- spec/cc/service/jira_spec.rb
|
|
217
|
+
- spec/cc/service/lighthouse_spec.rb
|
|
218
|
+
- spec/cc/service/pivotal_tracker_spec.rb
|
|
219
|
+
- spec/cc/service/slack_spec.rb
|
|
220
|
+
- spec/cc/service/stash_pull_requests_spec.rb
|
|
221
|
+
- spec/cc/service_spec.rb
|
|
222
|
+
- spec/fixtures.rb
|
|
223
|
+
- spec/spec_helper.rb
|
|
224
|
+
- spec/support/fake_logger.rb
|
|
225
|
+
- spec/support/service_context.rb
|
|
222
226
|
homepage: ''
|
|
223
227
|
licenses:
|
|
224
228
|
- MIT
|
|
@@ -239,31 +243,32 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
239
243
|
version: '0'
|
|
240
244
|
requirements: []
|
|
241
245
|
rubyforge_project:
|
|
242
|
-
rubygems_version: 2.
|
|
246
|
+
rubygems_version: 2.5.1
|
|
243
247
|
signing_key:
|
|
244
248
|
specification_version: 4
|
|
245
249
|
summary: Service classes for Code Climate
|
|
246
250
|
test_files:
|
|
247
|
-
-
|
|
248
|
-
-
|
|
249
|
-
-
|
|
250
|
-
-
|
|
251
|
-
-
|
|
252
|
-
-
|
|
253
|
-
-
|
|
254
|
-
-
|
|
255
|
-
-
|
|
256
|
-
-
|
|
257
|
-
-
|
|
258
|
-
-
|
|
259
|
-
-
|
|
260
|
-
-
|
|
261
|
-
-
|
|
262
|
-
-
|
|
263
|
-
-
|
|
264
|
-
-
|
|
265
|
-
-
|
|
266
|
-
-
|
|
267
|
-
-
|
|
268
|
-
-
|
|
269
|
-
-
|
|
251
|
+
- spec/axiom/types/password_spec.rb
|
|
252
|
+
- spec/cc/formatters/snapshot_formatter_spec.rb
|
|
253
|
+
- spec/cc/presenters/pull_requests_presenter_spec.rb
|
|
254
|
+
- spec/cc/service/asana_spec.rb
|
|
255
|
+
- spec/cc/service/campfire_spec.rb
|
|
256
|
+
- spec/cc/service/flowdock_spec.rb
|
|
257
|
+
- spec/cc/service/github_issues_spec.rb
|
|
258
|
+
- spec/cc/service/github_pull_requests_spec.rb
|
|
259
|
+
- spec/cc/service/gitlab_merge_requests_spec.rb
|
|
260
|
+
- spec/cc/service/hipchat_spec.rb
|
|
261
|
+
- spec/cc/service/invocation/error_handling_spec.rb
|
|
262
|
+
- spec/cc/service/invocation/return_values_spec.rb
|
|
263
|
+
- spec/cc/service/invocation/with_metrics_spec.rb
|
|
264
|
+
- spec/cc/service/invocation_spec.rb
|
|
265
|
+
- spec/cc/service/jira_spec.rb
|
|
266
|
+
- spec/cc/service/lighthouse_spec.rb
|
|
267
|
+
- spec/cc/service/pivotal_tracker_spec.rb
|
|
268
|
+
- spec/cc/service/slack_spec.rb
|
|
269
|
+
- spec/cc/service/stash_pull_requests_spec.rb
|
|
270
|
+
- spec/cc/service_spec.rb
|
|
271
|
+
- spec/fixtures.rb
|
|
272
|
+
- spec/spec_helper.rb
|
|
273
|
+
- spec/support/fake_logger.rb
|
|
274
|
+
- spec/support/service_context.rb
|