summaryrefslogtreecommitdiff
path: root/spec/support/gitolite_stub.rb
blob: 037b09cd5555332e7e7134653bc8f660bc63cce5 (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
module GitoliteStub
  def stub_gitolite!
    stub_gitlab_gitolite
    stub_gitolite_admin
  end

  def stub_gitolite_admin
    gitolite_repo = mock(
      clean_permissions: true,
      add_permission: true
    )

    gitolite_config = mock(
      add_repo: true,
      get_repo: gitolite_repo,
      has_repo?: true
    )

    gitolite_admin = double(
      'Gitolite::GitoliteAdmin',
      config: gitolite_config,
      save: true,
    )

    Gitolite::GitoliteAdmin.stub(new: gitolite_admin)

  end

  def stub_gitlab_gitolite
    gitolite_config = double('Gitlab::GitoliteConfig')
    gitolite_config.stub(
      apply: ->() { yield(self) },
      write_key: true,
      rm_key: true,
      update_projects: true,
      update_project: true,
      update_project!: true,
      destroy_project: true,
      destroy_project!: true,
      admin_all_repo: true,
      admin_all_repo!: true,

    )

    Gitlab::GitoliteConfig.stub(new: gitolite_config)
  end
end