Skip to content

Commit 141092d

Browse files
author
root
committed
Refactor tests (a little)
1 parent 489e7af commit 141092d

23 files changed

+101
-157
lines changed

Diff for: spec/factories/gitolite_public_key.rb

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
FactoryGirl.define do
22

3-
factory :gitolite_public_key do |gitolite_public_key|
4-
gitolite_public_key.key_type 0
5-
gitolite_public_key.title 'test-key'
6-
gitolite_public_key.key 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDpqFJzsx3wTi3t3X/eOizU6rdtNQoqg5uSjL89F+Ojjm2/sah3ouzx+3E461FDYaoJL58Qs9eRhL+ev0BY7khYXph8nIVDzNEjhLqjevX+YhpaW9Ll7V807CwAyvMNm08aup/NrrlI/jO+At348/ivJrfO7ClcPhq4+Id9RZfvbrKaitGOURD7q6Bd7xjUjELUN8wmYxu5zvx/2n/5woVdBUMXamTPxOY5y6DxTNJ+EYzrCr+bNb7459rWUvBHUQGI2fXDGmFpGiv6ShKRhRtwob1JHI8QC9OtxonrIUesa2dW6RFneUaM7tfRfffC704Uo7yuSswb7YK+p1A9QIt5 nicolas@tchoum'
3+
factory :gitolite_public_key do |f|
4+
f.key_type 0
5+
f.title 'test-key'
6+
f.key 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDpqFJzsx3wTi3t3X/eOizU6rdtNQoqg5uSjL89F+Ojjm2/sah3ouzx+3E461FDYaoJL58Qs9eRhL+ev0BY7khYXph8nIVDzNEjhLqjevX+YhpaW9Ll7V807CwAyvMNm08aup/NrrlI/jO+At348/ivJrfO7ClcPhq4+Id9RZfvbrKaitGOURD7q6Bd7xjUjELUN8wmYxu5zvx/2n/5woVdBUMXamTPxOY5y6DxTNJ+EYzrCr+bNb7459rWUvBHUQGI2fXDGmFpGiv6ShKRhRtwob1JHI8QC9OtxonrIUesa2dW6RFneUaM7tfRfffC704Uo7yuSswb7YK+p1A9QIt5 nicolas@tchoum'
7+
f.association :user
78
end
89

910
end

Diff for: spec/factories/project.rb

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
FactoryGirl.define do
22

3-
factory :project do |project|
4-
project.sequence(:identifier) { |n| "project#{n}"}
5-
project.sequence(:name) { |n| "Project#{n}"}
3+
factory :project do |f|
4+
f.sequence(:identifier) { |n| "project#{n}"}
5+
f.sequence(:name) { |n| "Project#{n}"}
66
end
77

88
end

Diff for: spec/factories/repository_deployment_credential.rb

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
FactoryGirl.define do
22

3-
factory :repository_deployment_credential do |deployment_credential|
4-
deployment_credential.perm "RW+"
3+
factory :repository_deployment_credential do |f|
4+
f.perm "RW+"
5+
f.association :repository, :factory => :repository_git
6+
f.association :user
7+
f.association :gitolite_public_key
58
end
69

710
end

Diff for: spec/factories/repository_git.rb

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
FactoryGirl.define do
22

3-
factory :repository_git, :class => 'Repository::Git' do |repository|
4-
repository.is_default false
3+
factory :repository_git, :class => 'Repository::Git' do |f|
4+
f.is_default false
5+
f.association :project
56
end
67

78
end

Diff for: spec/factories/repository_git_config_key.rb

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
FactoryGirl.define do
22

3-
factory :repository_git_config_key do |git_config_key|
4-
git_config_key.sequence(:key) { |n| "hookfoo.foo#{n}" }
5-
git_config_key.value 'bar'
3+
factory :repository_git_config_key do |f|
4+
f.sequence(:key) { |n| "hookfoo.foo#{n}" }
5+
f.value 'bar'
6+
f.association :repository, :factory => :repository_git
67
end
78

89
end

Diff for: spec/factories/repository_git_extra.rb

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
FactoryGirl.define do
22

3-
factory :repository_git_extra do |git_extra|
4-
git_extra.git_http 0
5-
git_extra.default_branch "master"
3+
factory :repository_git_extra do |f|
4+
f.git_http 0
5+
f.default_branch "master"
6+
f.association :repository, :factory => :repository_git
67
end
78

89
end

Diff for: spec/factories/repository_git_notification.rb

+6-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
FactoryGirl.define do
22

3-
factory :repository_git_notification do |git_notification|
4-
git_notification.prefix '[TEST PROJECT]'
5-
git_notification.sender_address '[email protected]'
6-
git_notification.include_list [ '[email protected]', '[email protected]']
7-
git_notification.exclude_list [ '[email protected]', '[email protected]']
3+
factory :repository_git_notification do |f|
4+
f.prefix '[TEST PROJECT]'
5+
f.sender_address '[email protected]'
6+
f.include_list [ '[email protected]', '[email protected]']
7+
f.exclude_list [ '[email protected]', '[email protected]']
8+
f.association :repository, :factory => :repository_git
89
end
910

1011
end

Diff for: spec/factories/repository_mirror.rb

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
FactoryGirl.define do
22

3-
factory :repository_mirror do |mirror|
4-
mirror.sequence(:url) { |n| "ssh://host.xz/path/to/repo#{n}.git" }
5-
mirror.push_mode 0
3+
factory :repository_mirror do |f|
4+
f.sequence(:url) { |n| "ssh://host.xz/path/to/repo#{n}.git" }
5+
f.push_mode 0
6+
f.association :repository, :factory => :repository_git
67
end
78

89
end

Diff for: spec/factories/repository_post_receive_url.rb

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
FactoryGirl.define do
22

3-
factory :repository_post_receive_url do |post_receive_url|
4-
post_receive_url.sequence(:url) { |n| "http://example.com/toto#{n}.php" }
3+
factory :repository_post_receive_url do |f|
4+
f.sequence(:url) { |n| "http://example.com/toto#{n}.php" }
5+
f.association :repository, :factory => :repository_git
56
end
67

78
end

Diff for: spec/factories/repository_protected_branche.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
FactoryGirl.define do
22

3-
factory :repository_protected_branche do |protected_branch|
4-
3+
factory :repository_protected_branche do |f|
4+
f.association :repository, :factory => :repository_git
55
end
66

77
end

Diff for: spec/factories/repository_svn.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
FactoryGirl.define do
22

3-
factory :repository_svn, :class => 'Repository::Subversion' do |repository|
4-
repository.is_default false
3+
factory :repository_svn, :class => 'Repository::Subversion' do |f|
4+
f.is_default false
55
end
66

77
end

Diff for: spec/factories/role.rb

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
FactoryGirl.define do
22

3-
factory :role do |role|
4-
role.name "Manager"
5-
role.builtin 0
6-
role.issues_visibility "all"
7-
role.position 1
8-
role.permissions [
3+
factory :role do |f|
4+
f.name "Manager"
5+
f.builtin 0
6+
f.issues_visibility "all"
7+
f.position 1
8+
f.permissions [
99
:add_project,
1010
:edit_project,
1111
:close_project,

Diff for: spec/factories/user.rb

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
FactoryGirl.define do
22

3-
factory :user do |user|
4-
user.sequence(:login) { |n| "user#{n}" }
5-
user.sequence(:firstname) { |n| "User#{n}" }
6-
user.sequence(:lastname) { |n| "Test#{n}" }
7-
user.sequence(:mail) { |n| "user#{n}@awesome.com" }
8-
user.language "fr"
9-
user.hashed_password "66eb4812e268747f89ec309178e2ea50410653fb"
10-
user.salt "5abd4e59ac0d483daf2f68d3b6544ff3"
3+
factory :user do |f|
4+
f.sequence(:login) { |n| "user#{n}" }
5+
f.sequence(:firstname) { |n| "User#{n}" }
6+
f.sequence(:lastname) { |n| "Test#{n}" }
7+
f.sequence(:mail) { |n| "user#{n}@awesome.com" }
8+
f.language "fr"
9+
f.hashed_password "66eb4812e268747f89ec309178e2ea50410653fb"
10+
f.salt "5abd4e59ac0d483daf2f68d3b6544ff3"
1111
end
1212

1313
end

Diff for: spec/models/gitolite_public_key_spec.rb

+7-7
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ def create_ssh_key(opts = {})
3030

3131

3232
describe "Valid SSH key build" do
33-
before do
34-
@ssh_key = build_ssh_key(:user_id => @user1.id)
33+
before(:each) do
34+
@ssh_key = build(:gitolite_public_key)
3535
end
3636

3737
subject { @ssh_key }
@@ -208,7 +208,7 @@ def create_ssh_key(opts = {})
208208

209209
ssh_keys.each do |valid_key|
210210
it "should be valid" do
211-
expect(build_ssh_key(:user_id => @user1.id, :key => valid_key)).to be_valid
211+
expect(build(:gitolite_public_key, :key => valid_key)).to be_valid
212212
end
213213
end
214214
end
@@ -258,10 +258,10 @@ def create_ssh_key(opts = {})
258258

259259
context "when many keys are saved" do
260260
before do
261-
create_ssh_key(:user_id => @user1.id, :title => 'active1', key: SSH_KEY_1, :key_type => 1)
262-
create_ssh_key(:user_id => @user1.id, :title => 'active2', key: SSH_KEY_2, :key_type => 1)
263-
create_ssh_key(:user_id => @user2.id, :title => 'active3', key: SSH_KEY_3)
264-
create_ssh_key(:user_id => @user2.id, :title => 'active4', key: SSH_KEY_4)
261+
create_ssh_key(:user => @user1, :title => 'active1', key: SSH_KEY_1, :key_type => 1)
262+
create_ssh_key(:user => @user1, :title => 'active2', key: SSH_KEY_2, :key_type => 1)
263+
create_ssh_key(:user => @user2, :title => 'active3', key: SSH_KEY_3)
264+
create_ssh_key(:user => @user2, :title => 'active4', key: SSH_KEY_4)
265265
end
266266

267267
it "should have 8 keys" do

Diff for: spec/models/project_spec.rb

+6-6
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
describe Project do
44

55
before(:all) do
6-
@project = FactoryGirl.create(:project)
6+
@project = create(:project)
77

8-
@git_repo_1 = FactoryGirl.create(:repository_git, :project_id => @project.id, :is_default => true)
9-
@git_repo_2 = FactoryGirl.create(:repository_git, :project_id => @project.id, :identifier => 'git-repo-test')
8+
@git_repo_1 = create(:repository_git, :project => @project, :is_default => true)
9+
@git_repo_2 = create(:repository_git, :project => @project, :identifier => 'git-repo-test')
1010

11-
@svn_repo_1 = FactoryGirl.create(:repository_svn, :project_id => @project.id, :identifier => 'svn-repo-test', :url => 'http://svn-repo-test')
11+
@svn_repo_1 = create(:repository_svn, :project => @project, :identifier => 'svn-repo-test', :url => 'http://svn-repo-test')
1212
end
1313

1414
subject { @project }
@@ -26,11 +26,11 @@
2626
end
2727

2828
it "should not match existing repository identifier" do
29-
expect(FactoryGirl.build(:project, :identifier => 'git-repo-test')).to be_invalid
29+
expect(build(:project, :identifier => 'git-repo-test')).to be_invalid
3030
end
3131

3232
it "should not match Gitolite Admin repository identifier" do
33-
expect(FactoryGirl.build(:project, :identifier => 'gitolite-admin')).to be_invalid
33+
expect(build(:project, :identifier => 'gitolite-admin')).to be_invalid
3434
end
3535

3636
end

Diff for: spec/models/repository_deployment_credential_spec.rb

+8-12
Original file line numberDiff line numberDiff line change
@@ -6,27 +6,23 @@
66
USER_KEY = 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5+JfM82k03J98GWL6ghJ4TYM8DbvDnVh1s1rUDNlM/1U5rwbgXHOR4xV3lulgYEYRtYeMoL3rt4ZpEyXWkOreOVsUlkW66SZJR5aGVTNJOLX7HruEDqj7RWlt0u0MH6DgBVAJimQrxYN50jYD4XnDUjb/qv55EhPvbJ3jcAb3zuyRXMKZYGNVzVFLUagbvVaOwR23csWSLDTsAEI9JzaxMKvCNRwk3jFepiCovXbw+g0iyvJdp0+AJpC57ZupyxHeX9J2oz7im2UaHHqLa2qUZL6c4PNV/D2p0Bts4Tcnn3OFPL90RF/ao0tjiUFxM3ti8pRHOqRcZHcOgIhKiaLX nicolas@tchoum'
77

88
before(:all) do
9-
@project = FactoryGirl.create(:project)
10-
@repository = FactoryGirl.create(:repository_git, :project_id => @project.id)
11-
12-
users = FactoryGirl.create_list(:user, 2)
9+
users = create_list(:user, 2)
1310
@user1 = users[0]
1411
@user2 = users[1]
1512

16-
@deploy_key = FactoryGirl.create(:gitolite_public_key, :user_id => @user1.id, :key_type => 1, :title => 'foo1', :key => DEPLOY_KEY)
17-
@user_key = FactoryGirl.create(:gitolite_public_key, :user_id => @user1.id, :key_type => 0, :title => 'foo2', :key => USER_KEY)
13+
@deploy_key = create(:gitolite_public_key, :user => @user1, :key_type => 1, :title => 'foo1', :key => DEPLOY_KEY)
14+
@user_key = create(:gitolite_public_key, :user => @user1, :key_type => 0, :title => 'foo2', :key => USER_KEY)
1815
end
1916

2017

2118
def build_deployment_credential(opts = {})
22-
opts = opts.merge(:repository_id => @repository.id)
23-
FactoryGirl.build(:repository_deployment_credential, opts)
19+
build(:repository_deployment_credential, opts)
2420
end
2521

2622

2723
describe "Valid RepositoryDeploymentCredential creation" do
28-
before do
29-
@deployment_credential = build_deployment_credential(:user_id => @user1.id, :gitolite_public_key_id => @deploy_key.id)
24+
before(:each) do
25+
@deployment_credential = build_deployment_credential(:user => @user1, :gitolite_public_key => @deploy_key)
3026
end
3127

3228
subject { @deployment_credential }
@@ -68,13 +64,13 @@ def build_deployment_credential(opts = {})
6864

6965
context "when key is not a deployment key" do
7066
it 'should not be valid' do
71-
expect(build_deployment_credential(:user_id => @user1.id, :gitolite_public_key_id => @user_key.id)).not_to be_valid
67+
expect(build_deployment_credential(:user => @user1, :gitolite_public_key => @user_key)).not_to be_valid
7268
end
7369
end
7470

7571
context "when user id is not the owner of deployment key" do
7672
it 'should not be valid' do
77-
expect(build_deployment_credential(:user_id => @user2.id, :gitolite_public_key_id => @user_key.id)).not_to be_valid
73+
expect(build_deployment_credential(:user => @user2, :gitolite_public_key => @user_key)).not_to be_valid
7874
end
7975
end
8076

Diff for: spec/models/repository_git_config_key_spec.rb

+2-14
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,9 @@
22

33
describe RepositoryGitConfigKey do
44

5-
before(:all) do
6-
@project = FactoryGirl.create(:project)
7-
@repository = FactoryGirl.create(:repository_git, :project_id => @project.id)
8-
end
9-
10-
11-
def build_git_config_key(opts = {})
12-
opts = opts.merge(:repository_id => @repository.id)
13-
FactoryGirl.build(:repository_git_config_key, opts)
14-
end
15-
16-
175
describe "Valid RepositoryGitConfigKey creation" do
18-
before do
19-
@git_config_key = build_git_config_key
6+
before(:each) do
7+
@git_config_key = build(:repository_git_config_key)
208
end
219

2210
subject { @git_config_key }

Diff for: spec/models/repository_git_extra_spec.rb

+3-7
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,9 @@
22

33
describe RepositoryGitExtra do
44

5-
def build_git_extra(opts = {})
6-
FactoryGirl.build(:repository_git_extra, opts)
7-
end
8-
95
describe "Valid RepositoryGitExtra creation" do
106
before do
11-
@git_extra = build_git_extra
7+
@git_extra = build(:repository_git_extra)
128
end
139

1410
subject { @git_extra }
@@ -24,14 +20,14 @@ def build_git_extra(opts = {})
2420
it { should belong_to(:repository) }
2521

2622
## Validations
27-
it { should_not be_valid }
23+
it { should be_valid }
2824

2925
it { should validate_presence_of(:repository_id) }
3026
it { should validate_presence_of(:git_http) }
3127
it { should validate_presence_of(:default_branch) }
3228
it { should validate_presence_of(:key) }
3329

34-
# it { should validate_uniqueness_of(:repository_id) }
30+
it { should validate_uniqueness_of(:repository_id) }
3531

3632
it { should validate_numericality_of(:git_http) }
3733

Diff for: spec/models/repository_git_notification_spec.rb

+2-12
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,13 @@
22

33
describe RepositoryGitNotification do
44

5-
before(:all) do
6-
@project = FactoryGirl.create(:project)
7-
@repository = FactoryGirl.create(:repository_git, :project_id => @project.id)
8-
end
9-
105
116
INVALID_MAIL = [ 'user@foo,com', 'user_at_foo.org', 'example.user@foo.', 'foo@bar_baz.com', 'foo@bar+baz.com', '[email protected]' ]
127

13-
def build_git_notification(opts = {})
14-
opts = opts.merge(:repository_id => @repository.id)
15-
FactoryGirl.build(:repository_git_notification, opts)
16-
end
17-
188

199
describe "Valid RepositoryGitNotification creation" do
20-
before do
21-
@git_notification = build_git_notification
10+
before(:each) do
11+
@git_notification = build(:repository_git_notification)
2212
end
2313

2414
subject { @git_notification }

0 commit comments

Comments
 (0)