Skip to content
This repository was archived by the owner on Jul 19, 2025. It is now read-only.

Commit dc920a3

Browse files
committed
Ensure statsd keys do not have slashes in them
1 parent 44f51a7 commit dc920a3

File tree

4 files changed

+23
-1
lines changed

4 files changed

+23
-1
lines changed

codeclimate-services.gemspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,5 @@ Gem::Specification.new do |spec|
2424
spec.add_development_dependency "bundler", ">= 1.6.2"
2525
spec.add_development_dependency "rake"
2626
spec.add_development_dependency "test-unit"
27+
spec.add_development_dependency "mocha"
2728
end

lib/cc/service/invocation/with_metrics.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ def timing_key
3030
end
3131

3232
def error_key(ex)
33-
["services.errors", @prefix, "#{ex.class.name.underscore}"].compact.join('.')
33+
error_string = ex.class.name.underscore.gsub("/", "-")
34+
["services.errors", @prefix, error_string].compact.join('.')
3435
end
3536
end
3637
end

test/helper.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
require 'test/unit'
2+
require 'mocha/test_unit'
23
require 'pp'
34

45
require "codeclimate-test-reporter"

test/with_metrics_test.rb

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# encoding: UTF-8
2+
3+
require File.expand_path('../helper', __FILE__)
4+
5+
class WithMetrics < CC::Service::TestCase
6+
7+
class FakeInvocation
8+
def call
9+
raise CC::Service::HTTPError.new("Whoa", {})
10+
end
11+
end
12+
13+
def test_statsd_error_key
14+
statsd = Object.new
15+
statsd.stubs(:timing)
16+
statsd.expects("increment").with("services.errors.githubpullrequests.cc-service-http_error")
17+
CC::Service::Invocation::WithMetrics.new(FakeInvocation.new, statsd, "githubpullrequests").call rescue CC::Service::HTTPError
18+
end
19+
end

0 commit comments

Comments
 (0)