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

can_housekeep_repository_shared_examples.rb « repositories « concerns « models « shared_examples « support « spec - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 2f0b95427d2c7a5f7f1b3045ea3c282453b6ad95 (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
# frozen_string_literal: true

RSpec.shared_examples 'can housekeep repository' do
  context 'with a clean redis state', :clean_gitlab_redis_shared_state do
    describe '#pushes_since_gc' do
      context 'without any pushes' do
        it 'returns 0' do
          expect(resource.pushes_since_gc).to eq(0)
        end
      end

      context 'with a number of pushes' do
        it 'returns the number of pushes' do
          3.times { resource.increment_pushes_since_gc }

          expect(resource.pushes_since_gc).to eq(3)
        end
      end
    end

    describe '#increment_pushes_since_gc' do
      it 'increments the number of pushes since the last GC' do
        3.times { resource.increment_pushes_since_gc }

        expect(resource.pushes_since_gc).to eq(3)
      end
    end

    describe '#reset_pushes_since_gc' do
      it 'resets the number of pushes since the last GC' do
        3.times { resource.increment_pushes_since_gc }

        resource.reset_pushes_since_gc

        expect(resource.pushes_since_gc).to eq(0)
      end
    end

    describe '#pushes_since_gc_redis_shared_state_key' do
      it 'returns the proper redis key format' do
        expect(resource.send(:pushes_since_gc_redis_shared_state_key)).to eq("#{resource_key}/#{resource.id}/pushes_since_gc")
      end
    end
  end
end