Commit d2cec12632079e07ff40876e7c6ecd4c21418dc3
1 parent
9c2a6e20
Exists in
master
and in
4 other branches
block user should not be able to push
Showing
2 changed files
with
52 additions
and
28 deletions
Show diff stats
lib/api/internal.rb
spec/requests/api/internal_spec.rb
... | ... | @@ -34,13 +34,7 @@ describe Gitlab::API do |
34 | 34 | |
35 | 35 | context "git pull" do |
36 | 36 | it do |
37 | - get( | |
38 | - api("/internal/allowed"), | |
39 | - ref: 'master', | |
40 | - key_id: key.id, | |
41 | - project: project.path_with_namespace, | |
42 | - action: 'git-upload-pack' | |
43 | - ) | |
37 | + pull(key, project) | |
44 | 38 | |
45 | 39 | response.status.should == 200 |
46 | 40 | response.body.should == 'true' |
... | ... | @@ -49,13 +43,7 @@ describe Gitlab::API do |
49 | 43 | |
50 | 44 | context "git push" do |
51 | 45 | it do |
52 | - get( | |
53 | - api("/internal/allowed"), | |
54 | - ref: 'master', | |
55 | - key_id: key.id, | |
56 | - project: project.path_with_namespace, | |
57 | - action: 'git-receive-pack' | |
58 | - ) | |
46 | + push(key, project) | |
59 | 47 | |
60 | 48 | response.status.should == 200 |
61 | 49 | response.body.should == 'true' |
... | ... | @@ -70,13 +58,7 @@ describe Gitlab::API do |
70 | 58 | |
71 | 59 | context "git pull" do |
72 | 60 | it do |
73 | - get( | |
74 | - api("/internal/allowed"), | |
75 | - ref: 'master', | |
76 | - key_id: key.id, | |
77 | - project: project.path_with_namespace, | |
78 | - action: 'git-upload-pack' | |
79 | - ) | |
61 | + pull(key, project) | |
80 | 62 | |
81 | 63 | response.status.should == 200 |
82 | 64 | response.body.should == 'false' |
... | ... | @@ -85,13 +67,7 @@ describe Gitlab::API do |
85 | 67 | |
86 | 68 | context "git push" do |
87 | 69 | it do |
88 | - get( | |
89 | - api("/internal/allowed"), | |
90 | - ref: 'master', | |
91 | - key_id: key.id, | |
92 | - project: project.path_with_namespace, | |
93 | - action: 'git-receive-pack' | |
94 | - ) | |
70 | + push(key, project) | |
95 | 71 | |
96 | 72 | response.status.should == 200 |
97 | 73 | response.body.should == 'false' |
... | ... | @@ -99,5 +75,50 @@ describe Gitlab::API do |
99 | 75 | end |
100 | 76 | end |
101 | 77 | |
78 | + context "blocked user" do | |
79 | + let(:personal_project) { create(:project, namespace: user.namespace) } | |
80 | + | |
81 | + before do | |
82 | + user.block | |
83 | + end | |
84 | + | |
85 | + context "git pull" do | |
86 | + it do | |
87 | + pull(key, personal_project) | |
88 | + | |
89 | + response.status.should == 200 | |
90 | + response.body.should == 'false' | |
91 | + end | |
92 | + end | |
93 | + | |
94 | + context "git push" do | |
95 | + it do | |
96 | + push(key, personal_project) | |
97 | + | |
98 | + response.status.should == 200 | |
99 | + response.body.should == 'false' | |
100 | + end | |
101 | + end | |
102 | + end | |
103 | + end | |
104 | + | |
105 | + def pull(key, project) | |
106 | + get( | |
107 | + api("/internal/allowed"), | |
108 | + ref: 'master', | |
109 | + key_id: key.id, | |
110 | + project: project.path_with_namespace, | |
111 | + action: 'git-upload-pack' | |
112 | + ) | |
113 | + end | |
114 | + | |
115 | + def push(key, project) | |
116 | + get( | |
117 | + api("/internal/allowed"), | |
118 | + ref: 'master', | |
119 | + key_id: key.id, | |
120 | + project: project.path_with_namespace, | |
121 | + action: 'git-receive-pack' | |
122 | + ) | |
102 | 123 | end |
103 | 124 | end | ... | ... |