Change summary
lib/statsd.rb | 3 +++
test/test_registration.rb | 39 +++++++++++++++++++++++++++++++++++++++
2 files changed, 42 insertions(+)
Detailed changes
@@ -17,6 +17,9 @@ Registration::Activation.statsd_count :write, "registration.activation"
Registration::Payment::Bitcoin.extend StatsD::Instrument
Registration::Payment::Bitcoin.statsd_count :write, "registration.payment.bitcoin"
+Registration::Payment::BCH.extend StatsD::Instrument
+Registration::Payment::BCH.statsd_count :write, "registration.payment.bch"
+
Registration::Payment::CreditCard.extend StatsD::Instrument
Registration::Payment::CreditCard.statsd_count :write, "registration.payment.credit_card"
@@ -6,6 +6,7 @@ require "registration"
require "bwmsgsv2_repo"
require "transaction"
require "sim_order"
+require "statsd"
BandwidthTnReservationRepo::REDIS = FakeRedis.new
@@ -912,6 +913,44 @@ class RegistrationTest < Minitest::Test
assert_mock blather
end
em :test_write
+
+ def test_write_emits_statsd_count
+ CustomerFinancials::REDIS.expect(
+ :smembers,
+ EMPromise.resolve([]),
+ ["jmp_customer_bch_addresses-test"]
+ )
+ blather = Minitest::Mock.new
+ Command::COMMAND_MANAGER.expect(
+ :write,
+ EMPromise.reject(SessionManager::Timeout.new),
+ [Matching.new do |reply|
+ assert_equal :canceled, reply.status
+ true
+ end]
+ )
+ Registration::Payment::BCH::BCH_SELL_PRICES.expect(
+ :usd,
+ EMPromise.resolve(BigDecimal(1))
+ )
+ statsd_capture = []
+ StatsD.singleton_client.stub(
+ :increment,
+ ->(*args, **kwargs) { statsd_capture << [args, kwargs] }
+ ) do
+ @bch.stub(:save, EMPromise.resolve(nil)) do
+ execute_command(blather: blather) do
+ @bch.write
+ end
+ end
+ end
+ assert_includes(
+ statsd_capture.map { |args, _| args.first },
+ "registration.payment.bch"
+ )
+ assert_mock blather
+ end
+ em :test_write_emits_statsd_count
end
class CreditCardTest < Minitest::Test