OSDN Git Service

Tests to validate that invalid keys are rejected
[wvm/gitlab.git] / spec / factories.rb
1 FactoryGirl.define do
2   sequence :sentence, aliases: [:title, :content] do
3     Faker::Lorem.sentence
4   end
5
6   sequence :name, aliases: [:file_name] do
7     Faker::Name.name
8   end
9
10   sequence(:url) { Faker::Internet.uri('http') }
11
12   factory :user, aliases: [:author, :assignee, :owner, :creator] do
13     email { Faker::Internet.email }
14     name
15     sequence(:username) { |n| "#{Faker::Internet.user_name}#{n}" }
16     password "123456"
17     password_confirmation { password }
18
19     trait :admin do
20       admin true
21     end
22
23     factory :admin, traits: [:admin]
24   end
25
26   factory :project do
27     sequence(:name) { |n| "project#{n}" }
28     path { name.downcase.gsub(/\s/, '_') }
29     creator
30   end
31
32   factory :group do
33     sequence(:name) { |n| "group#{n}" }
34     path { name.downcase.gsub(/\s/, '_') }
35     owner
36     type 'Group'
37   end
38
39   factory :namespace do
40     sequence(:name) { |n| "namespace#{n}" }
41     path { name.downcase.gsub(/\s/, '_') }
42     owner
43   end
44
45   factory :users_project do
46     user
47     project
48     project_access { UsersProject::MASTER }
49   end
50
51   factory :issue do
52     title
53     author
54     project
55
56     trait :closed do
57       closed true
58     end
59
60     factory :closed_issue, traits: [:closed]
61   end
62
63   factory :merge_request do
64     title
65     author
66     project
67     source_branch "master"
68     target_branch "stable"
69
70     trait :closed do
71       closed true
72     end
73
74     # pick 3 commits "at random" (from bcf03b5d~3 to bcf03b5d)
75     trait :with_diffs do
76       target_branch "master" # pretend bcf03b5d~3
77       source_branch "stable" # pretend bcf03b5d
78       st_commits do
79         [Commit.new(project.repo.commit('bcf03b5d')),
80          Commit.new(project.repo.commit('bcf03b5d~1')),
81          Commit.new(project.repo.commit('bcf03b5d~2'))]
82       end
83       st_diffs do
84         project.repo.diff("bcf03b5d~3", "bcf03b5d")
85       end
86     end
87
88     factory :closed_merge_request, traits: [:closed]
89     factory :merge_request_with_diffs, traits: [:with_diffs]
90   end
91
92   factory :note do
93     project
94     note "Note"
95     author
96
97     factory :note_on_commit, traits: [:on_commit]
98     factory :note_on_commit_diff, traits: [:on_commit, :on_diff]
99     factory :note_on_issue, traits: [:on_issue], aliases: [:votable_note]
100     factory :note_on_merge_request, traits: [:on_merge_request]
101     factory :note_on_merge_request_diff, traits: [:on_merge_request, :on_diff]
102
103     trait :on_commit do
104       commit_id     "bcf03b5de6c33f3869ef70d68cf06e679d1d7f9a"
105       noteable_type "Commit"
106     end
107
108     trait :on_diff do
109       line_code "0_184_184"
110     end
111
112     trait :on_merge_request do
113       noteable_id   1
114       noteable_type "MergeRequest"
115     end
116
117     trait :on_issue do
118       noteable_id   1
119       noteable_type "Issue"
120     end
121   end
122
123   factory :event do
124     factory :closed_issue_event do
125       project
126       action { Event::CLOSED }
127       target factory: :closed_issue
128       author factory: :user
129     end
130   end
131
132   factory :key do
133     title
134     key do
135       "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0="
136     end
137
138     factory :deploy_key do
139       project
140     end
141
142     factory :personal_key do
143       user
144     end
145
146     factory :key_with_a_space_in_the_middle do
147       key do
148         "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa ++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0="
149       end
150     end
151
152     factory :invalid_key do
153       key do
154         "ssh-rsa this_is_invalid_key=="
155       end
156     end
157   end
158
159   factory :milestone do
160     title
161     project
162   end
163
164   factory :system_hook do
165     url
166   end
167
168   factory :project_hook do
169     url
170   end
171
172   factory :wiki do
173     title
174     content
175     user
176   end
177
178   factory :snippet do
179     project
180     author
181     title
182     content
183     file_name
184   end
185
186   factory :protected_branch do
187     name
188     project
189   end
190
191   factory :service do
192     type ""
193     title "GitLab CI"
194     token "x56olispAND34ng"
195     project
196   end
197
198   factory :service_hook do
199     url
200     service
201   end
202 end