diff options
author | Bob Van Landuyt <bob@vanlanduyt.co> | 2018-05-15 13:25:51 +0300 |
---|---|---|
committer | Bob Van Landuyt <bob@vanlanduyt.co> | 2018-06-11 18:35:13 +0300 |
commit | 698515313fe38fb3f85fdeec1efa15e2c8b54cfd (patch) | |
tree | f48e87c94ddbd458319168056596e993f38e76b2 /spec/models | |
parent | 75797ac3d2b534a1deda48c8450027055a7c721b (diff) |
Fixes rejected pushes from maintainers
Before the push git would make a call to
`/:namespace/:project/git-receive-pack`. This would perform an access
check without a ref. So the `Project#branch_allows_maintainer_push?`
would return false.
This adjusts `Project#branch_allows_maintainer_push?` to return true
when passing no branch name if there are merge requests open that
would allow the user to push.
The actual check then happens when a call to
`/api/v4/internal/allowed` is made from a git hook.
Diffstat (limited to 'spec/models')
-rw-r--r-- | spec/models/project_spec.rb | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index b9a9c4ebf42..58928465f95 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -3658,6 +3658,11 @@ describe Project do .to be_truthy end + it 'allows access when there are merge requests open but no branch name is given' do + expect(project.branch_allows_collaboration?(user, nil)) + .to be_truthy + end + it 'does not allow guest users access' do guest = create(:user) target_project.add_guest(guest) |