71 lines
1.8 KiB
Ruby
71 lines
1.8 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'spec_helper'
|
|
|
|
RSpec.describe Gitlab::Tracking::Destinations::SnowplowMicro do
|
|
include StubENV
|
|
|
|
before do
|
|
stub_application_setting(snowplow_enabled: true)
|
|
stub_env('SNOWPLOW_MICRO_ENABLE', '1')
|
|
allow(Rails.env).to receive(:development?).and_return(true)
|
|
end
|
|
|
|
describe '#hostname' do
|
|
context 'when SNOWPLOW_MICRO_URI is set' do
|
|
before do
|
|
stub_env('SNOWPLOW_MICRO_URI', 'http://gdk.test:9091')
|
|
end
|
|
|
|
it 'returns hostname URI part' do
|
|
expect(subject.hostname).to eq('gdk.test:9091')
|
|
end
|
|
end
|
|
|
|
context 'when SNOWPLOW_MICRO_URI is without protocol' do
|
|
before do
|
|
stub_env('SNOWPLOW_MICRO_URI', 'gdk.test:9091')
|
|
end
|
|
|
|
it 'returns hostname URI part' do
|
|
expect(subject.hostname).to eq('gdk.test:9091')
|
|
end
|
|
end
|
|
|
|
context 'when SNOWPLOW_MICRO_URI is hostname only' do
|
|
before do
|
|
stub_env('SNOWPLOW_MICRO_URI', 'uriwithoutport')
|
|
end
|
|
|
|
it 'returns hostname URI with default HTTP port' do
|
|
expect(subject.hostname).to eq('uriwithoutport:80')
|
|
end
|
|
end
|
|
|
|
context 'when SNOWPLOW_MICRO_URI is not set' do
|
|
it 'returns localhost hostname' do
|
|
expect(subject.hostname).to eq('localhost:9090')
|
|
end
|
|
end
|
|
end
|
|
|
|
describe '#options' do
|
|
let_it_be(:group) { create :group }
|
|
|
|
before do
|
|
stub_env('SNOWPLOW_MICRO_URI', 'http://gdk.test:9091')
|
|
end
|
|
|
|
it 'includes protocol with the correct value' do
|
|
expect(subject.options(group)[:protocol]).to eq 'http'
|
|
end
|
|
|
|
it 'includes port with the correct value' do
|
|
expect(subject.options(group)[:port]).to eq 9091
|
|
end
|
|
|
|
it 'includes forceSecureTracker with value false' do
|
|
expect(subject.options(group)[:forceSecureTracker]).to eq false
|
|
end
|
|
end
|
|
end
|