Welcome to mirror list, hosted at ThFree Co, Russian Federation.

event_spec.rb « packages « models « spec - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 58c1c1e6e921d1c6d2e44ec9af21f93cbb9ed235 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# frozen_string_literal: true

require 'spec_helper'

RSpec.describe Packages::Event, feature_category: :package_registry do
  let(:event_type) { :push_package }
  let(:event_scope) { :npm }
  let(:originator_type) { :deploy_token }

  shared_examples 'handle forbidden event type' do |result: []|
    let(:event_type) { :search }

    it { is_expected.to eq(result) }
  end

  describe '.event_allowed?' do
    subject { described_class.event_allowed?(event_type) }

    it { is_expected.to eq(true) }

    it_behaves_like 'handle forbidden event type', result: false
  end

  describe '.unique_counters_for' do
    subject { described_class.unique_counters_for(event_scope, event_type, originator_type) }

    it { is_expected.to contain_exactly('i_package_npm_deploy_token') }

    it_behaves_like 'handle forbidden event type'

    context 'when an originator type is quest' do
      let(:originator_type) { :guest }

      it { is_expected.to eq([]) }
    end
  end

  describe '.counters_for' do
    subject { described_class.counters_for(event_scope, event_type, originator_type) }

    it do
      is_expected.to contain_exactly(
        'i_package_push_package',
        'i_package_push_package_by_deploy_token',
        'i_package_npm_push_package'
      )
    end

    it_behaves_like 'handle forbidden event type'
  end
end