From 92b723db956e2b75b4bdcfb4d94c3c3cff8bf639 Mon Sep 17 00:00:00 2001 From: Jeremy Jackson Date: Mon, 26 Aug 2019 22:16:23 +0000 Subject: Revert "Merge branch 'user-tracking-settings' into 'master'" This reverts merge request !31826 --- spec/lib/gitlab/snowplow_tracker_spec.rb | 45 ++++++++++++++++ spec/lib/gitlab/tracking_spec.rb | 88 -------------------------------- 2 files changed, 45 insertions(+), 88 deletions(-) create mode 100644 spec/lib/gitlab/snowplow_tracker_spec.rb delete mode 100644 spec/lib/gitlab/tracking_spec.rb (limited to 'spec/lib/gitlab') diff --git a/spec/lib/gitlab/snowplow_tracker_spec.rb b/spec/lib/gitlab/snowplow_tracker_spec.rb new file mode 100644 index 00000000000..073a33e5973 --- /dev/null +++ b/spec/lib/gitlab/snowplow_tracker_spec.rb @@ -0,0 +1,45 @@ +# frozen_string_literal: true +require 'spec_helper' + +describe Gitlab::SnowplowTracker do + let(:timestamp) { Time.utc(2017, 3, 22) } + + around do |example| + Timecop.freeze(timestamp) { example.run } + end + + subject { described_class.track_event('epics', 'action', property: 'what', value: 'doit') } + + context '.track_event' do + context 'when Snowplow tracker is disabled' do + it 'does not track the event' do + expect(SnowplowTracker::Tracker).not_to receive(:new) + + subject + end + end + + context 'when Snowplow tracker is enabled' do + before do + stub_application_setting(snowplow_enabled: true) + stub_application_setting(snowplow_site_id: 'awesome gitlab') + stub_application_setting(snowplow_collector_hostname: 'url.com') + end + + it 'tracks the event' do + tracker = double + + expect(::SnowplowTracker::Tracker).to receive(:new) + .with( + an_instance_of(::SnowplowTracker::Emitter), + an_instance_of(::SnowplowTracker::Subject), + 'cf', 'awesome gitlab' + ).and_return(tracker) + expect(tracker).to receive(:track_struct_event) + .with('epics', 'action', nil, 'what', 'doit', nil, timestamp.to_i) + + subject + end + end + end +end diff --git a/spec/lib/gitlab/tracking_spec.rb b/spec/lib/gitlab/tracking_spec.rb deleted file mode 100644 index f14e74427e1..00000000000 --- a/spec/lib/gitlab/tracking_spec.rb +++ /dev/null @@ -1,88 +0,0 @@ -# frozen_string_literal: true -require 'spec_helper' - -describe Gitlab::Tracking do - let(:timestamp) { Time.utc(2017, 3, 22) } - - before do - stub_application_setting(snowplow_enabled: true) - stub_application_setting(snowplow_collector_hostname: 'gitfoo.com') - stub_application_setting(snowplow_cookie_domain: '.gitfoo.com') - stub_application_setting(snowplow_site_id: '_abc123_') - end - - describe '.snowplow_options' do - subject(&method(:described_class)) - - it 'returns useful client options' do - expect(subject.snowplow_options(nil)).to eq( - namespace: 'gl', - hostname: 'gitfoo.com', - cookieDomain: '.gitfoo.com', - appId: '_abc123_', - pageTrackingEnabled: true, - activityTrackingEnabled: true - ) - end - - it 'enables features using feature flags' do - stub_feature_flags(additional_snowplow_tracking: true) - allow(Feature).to receive(:enabled?).with( - :additional_snowplow_tracking, - '_group_' - ).and_return(false) - - expect(subject.snowplow_options('_group_')).to include( - pageTrackingEnabled: false, - activityTrackingEnabled: false - ) - end - end - - describe '.event' do - subject(&method(:described_class)) - - around do |example| - Timecop.freeze(timestamp) { example.run } - end - - it 'can track events' do - tracker = double - - expect(SnowplowTracker::Emitter).to receive(:new).with( - 'gitfoo.com' - ).and_return('_emitter_') - - expect(SnowplowTracker::Tracker).to receive(:new).with( - '_emitter_', - an_instance_of(SnowplowTracker::Subject), - 'gl', - '_abc123_' - ).and_return(tracker) - - expect(tracker).to receive(:track_struct_event).with( - 'category', - 'action', - '_label_', - '_property_', - '_value_', - '_context_', - timestamp.to_i - ) - - subject.event('category', 'action', - label: '_label_', - property: '_property_', - value: '_value_', - context: '_context_' - ) - end - - it 'does not track when not enabled' do - stub_application_setting(snowplow_enabled: false) - expect(SnowplowTracker::Tracker).not_to receive(:new) - - subject.event('epics', 'action', property: 'what', value: 'doit') - end - end -end -- cgit v1.2.3