Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions common/.ruby-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.1.2
Comment thread
jeffwidman marked this conversation as resolved.
Outdated
9 changes: 8 additions & 1 deletion common/lib/dependabot/clients/bitbucket.rb
Original file line number Diff line number Diff line change
Expand Up @@ -143,8 +143,15 @@ def create_pull_request(repo, pr_name, source_branch, target_branch,
post(base_url + pr_path, content.to_json)
end
# rubocop:enable Metrics/ParameterLists

def current_user
base_url = "https://api.bitbucket.org/2.0/user?fields=uuid"
response = get(base_url)
JSON.parse(response.body).fetch("uuid")
end

def default_reviewers(repo)
current_uuid = current_user
path = "#{repo}/default-reviewers?pagelen=100&fields=values.uuid,next"
reviewers_url = base_url + path

Expand All @@ -153,7 +160,7 @@ def default_reviewers(repo)
reviewer_data = []

default_reviewers.each do |reviewer|
reviewer_data.append({ uuid: reviewer.fetch("uuid") })
reviewer_data.append({ uuid: reviewer.fetch("uuid") }) unless current_uuid == reviewer.fetch("uuid")
end

reviewer_data
Expand Down
16 changes: 16 additions & 0 deletions common/spec/dependabot/clients/bitbucket_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,13 @@
require "dependabot/clients/bitbucket"

RSpec.describe Dependabot::Clients::Bitbucket do
let(:current_user_url) { "https://api.bitbucket.org/2.0/user?fields=uuid" }

before(:each) do
stub_request(:get, current_user_url).
with(headers: { "Authorization" => "Bearer #{access_token}" }).
to_return(status: 200, body: fixture("bitbucket", "current_user.json"))
end
let(:access_token) { "access_token" }
let(:credentials) do
[{
Expand Down Expand Up @@ -84,4 +91,13 @@
specify { expect { subject }.to_not raise_error }
end
end

describe "#remove_current_user_from_default_reviewer" do
subject do
client.current_user
end
specify { expect { subject }.to_not raise_error }

it { is_expected.to eq("{11111111-6349-0000-aea6-111111111111}") }
end
end
3 changes: 3 additions & 0 deletions common/spec/fixtures/bitbucket/current_user.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"uuid": "{11111111-6349-0000-aea6-111111111111}"
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"values": [
{"uuid": "{00000000-0000-0000-0000-000000000001}", "is_project_reviewer": false}
]
"values": [
{ "uuid": "{00000000-0000-0000-0000-000000000001}", "is_project_reviewer": false },
{ "uuid": "{11111111-6349-0000-aea6-111111111111}", "is_project_reviewer": false }
]
}