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
S
Sean McGivern 已提交
20
        hostname
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
      ))
    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
36
        ci_pipeline_schedules
37 38 39 40 41 42 43 44 45 46 47 48
        deploy_keys
        deployments
        environments
        groups
        issues
        keys
        labels
        lfs_objects
        merge_requests
        milestones
        notes
        projects
49
        projects_prometheus_active
50 51 52 53 54
        pages_domains
        protected_branches
        releases
        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