summaryrefslogtreecommitdiff
path: root/spec/support/stub_snowplow.rb
blob: a21ce2399d7a91cf0d623fcfeae99fc39e1382a5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# frozen_string_literal: true

module StubSnowplow
  def stub_snowplow
    # Using a high buffer size to not cause early flushes
    buffer_size = 100
    # WebMock is set up to allow requests to `localhost`
    host = 'localhost'

    # rubocop:disable RSpec/AnyInstanceOf
    allow_any_instance_of(Gitlab::Tracking::Destinations::ProductAnalytics).to receive(:event)

    allow_any_instance_of(Gitlab::Tracking::Destinations::Snowplow)
      .to receive(:emitter)
      .and_return(SnowplowTracker::Emitter.new(host, buffer_size: buffer_size))
    # rubocop:enable RSpec/AnyInstanceOf

    stub_application_setting(snowplow_enabled: true)

    allow(SnowplowTracker::SelfDescribingJson).to receive(:new).and_call_original
    allow(Gitlab::Tracking).to receive(:event).and_call_original # rubocop:disable RSpec/ExpectGitlabTracking
  end
end