usage_data_spec.rb 1.6 KB
Newer Older
1 2 3 4 5 6 7 8
require 'spec_helper'

describe Gitlab::UsageData do
  let!(:project) { create(:empty_project) }
  let!(:project2) { create(:empty_project) }
  let!(:board) { create(:board, project: project) }

  describe '#data' do
9
    subject { described_class.data }
10 11 12 13 14 15

    it "gathers usage data" do
      expect(subject.keys).to match_array(%i(
        active_user_count
        counts
        recorded_at
Z
Z.J. van de Weg 已提交
16
        mattermost_enabled
S
Sean McGivern 已提交
17
        edition
18 19
        version
        uuid
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
      ))
    end

    it "gathers usage counts" do
      count_data = subject[:counts]

      expect(count_data[:boards]).to eq(1)
      expect(count_data[:projects]).to eq(2)

      expect(count_data.keys).to match_array(%i(
        boards
        ci_builds
        ci_pipelines
        ci_runners
        ci_triggers
35
        ci_pipeline_schedules
36 37 38 39 40 41 42 43 44 45 46 47
        deploy_keys
        deployments
        environments
        groups
        issues
        keys
        labels
        lfs_objects
        merge_requests
        milestones
        notes
        projects
48
        projects_prometheus_active
49 50 51 52 53 54
        pages_domains
        protected_branches
        releases
        services
        snippets
        todos
R
Robert Speicher 已提交
55
        uploads
56 57 58 59 60 61
        web_hooks
      ))
    end
  end

  describe '#license_usage_data' do
62
    subject { described_class.license_usage_data }
63 64

    it "gathers license data" do
65
      expect(subject[:uuid]).to eq(current_application_settings.uuid)
66 67 68 69 70 71
      expect(subject[:version]).to eq(Gitlab::VERSION)
      expect(subject[:active_user_count]).to eq(User.active.count)
      expect(subject[:recorded_at]).to be_a(Time)
    end
  end
end