stubbed_repository.rb
1.08 KB
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
require "repository"
require "project"
require "merge_request"
require "shell"
# Stubs out all Git repository access done by models so that specs can run
# against fake repositories without Grit complaining that they don't exist.
class Project
  def repository
    if path == "empty" || !path
      nil
    else
      GitLabTestRepo.new(path_with_namespace)
    end
  end
  def satellite
    FakeSatellite.new
  end
  class FakeSatellite
    def exists?
      true
    end
    def destroy
      true
    end
    def create
      true
    end
  end
end
class MergeRequest
  def check_if_can_be_merged
    true
  end
end
class GitLabTestRepo < Repository
  def repo
    @repo ||= Grit::Repo.new(Rails.root.join('tmp', 'repositories', 'gitlabhq'))
  end
  # patch repo size (in mb)
  def size
    12.45
  end
end
module Gitlab
  class Shell
    def add_repository name
      true
    end
    def mv_repository name, new_name
      true
    end
    def remove_repository name
      true
    end
    def add_key id, key
      true
    end
    def remove_key id, key
      true
    end
  end
end