Skip to content

Commit

Permalink
[api] fix assignreview command
Browse files Browse the repository at this point in the history
do not accept reviews for other users
  • Loading branch information
adrianschroeter committed Jun 26, 2015
1 parent f96d11d commit 66296ca
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/api/app/models/bs_request.rb
Expand Up @@ -498,6 +498,7 @@ def assignreview(opts = {})

self.with_lock do
self.reviews.reverse.each do |review|
next if review.by_user
next if review.by_group && review.by_group != opts[:by_group]
next if review.by_project && review.by_project != opts[:by_project]
next if review.by_package && review.by_package != opts[:by_package]
Expand Down
10 changes: 10 additions & 0 deletions src/api/test/functional/request_controller_test.rb
Expand Up @@ -901,6 +901,8 @@ def test_create_request_and_multiple_reviews

# add reviewer group
login_Iggy
post "/request/#{id}?cmd=addreview&by_user=king"
assert_response :success
post "/request/#{id}?cmd=addreview&by_group=test_group"
assert_response :success
post "/request/#{id}?cmd=addreview&by_group=test_group_b"
Expand All @@ -911,10 +913,18 @@ def test_create_request_and_multiple_reviews

# adrian assigns to adrian_downloader
login_adrian
get "/request/#{id}"
assert_response :success
assert_no_xml_tag(:tag => 'review', :attributes => { state: 'new', by_user: 'adrian_downloader' })
assert_xml_tag(:tag => 'review', :attributes => { state: 'new', by_user: 'king' })
assert_xml_tag(:tag => 'review', :attributes => { state: 'new', by_group: 'test_group' })
post "/request/#{id}?by_group=test_group&cmd=assignreview&reviewer=adrian_downloader", 'adrian_downloader, please have a look'
assert_response :success
get "/request/#{id}"
assert_response :success
assert_xml_tag(:tag => 'review', :attributes => { state: 'new', by_user: 'adrian_downloader' })
assert_xml_tag(:tag => 'review', :attributes => { state: 'new', by_user: 'king' })
assert_xml_tag(:tag => 'review', :attributes => { state: 'accepted', by_group: 'test_group' })

login_adrian_downloader
post "/request/#{id}?cmd=changereviewstate&newstate=accepted&by_user=adrian_downloader"
Expand Down

0 comments on commit 66296ca

Please sign in to comment.