diff options
Diffstat (limited to 'spec/lib/gitlab/metrics/subscribers/action_cable_spec.rb')
-rw-r--r-- | spec/lib/gitlab/metrics/subscribers/action_cable_spec.rb | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/spec/lib/gitlab/metrics/subscribers/action_cable_spec.rb b/spec/lib/gitlab/metrics/subscribers/action_cable_spec.rb index 153cf43be0a..0516091a8ec 100644 --- a/spec/lib/gitlab/metrics/subscribers/action_cable_spec.rb +++ b/spec/lib/gitlab/metrics/subscribers/action_cable_spec.rb @@ -5,7 +5,7 @@ require 'spec_helper' RSpec.describe Gitlab::Metrics::Subscribers::ActionCable, :request_store do let(:subscriber) { described_class.new } let(:counter) { double(:counter) } - let(:data) { { data: { event: 'updated' } } } + let(:data) { { 'result' => { 'data' => { 'event' => 'updated' } } } } let(:channel_class) { 'IssuesChannel' } let(:event) do double( @@ -35,6 +35,17 @@ RSpec.describe Gitlab::Metrics::Subscribers::ActionCable, :request_store do subscriber.transmit(event) end + + it 'tracks size of payload as JSON' do + allow(::Gitlab::Metrics).to receive(:histogram).with( + :action_cable_transmitted_bytes, /transmit/ + ).and_return(counter) + message_size = ::ActiveSupport::JSON.encode(data).bytesize + + expect(counter).to receive(:observe).with({ channel: channel_class, operation: 'event' }, message_size) + + subscriber.transmit(event) + end end describe '#broadcast' do |