Force source and target branch to binary mode
This commit is contained in:
parent
1edf1807c5
commit
df650eaae5
|
@ -65,8 +65,8 @@ module Gitlab
|
|||
our_commit_oid: @our_commit_oid,
|
||||
target_repository: target_repository.gitaly_repository,
|
||||
their_commit_oid: @their_commit_oid,
|
||||
source_branch: source_branch,
|
||||
target_branch: target_branch,
|
||||
source_branch: encode_binary(source_branch),
|
||||
target_branch: encode_binary(target_branch),
|
||||
commit_message: encode_binary(resolution.commit_message),
|
||||
user: Gitlab::Git::User.from_gitlab(resolution.user).to_gitaly
|
||||
)
|
||||
|
|
|
@ -51,17 +51,24 @@ describe Gitlab::GitalyClient::ConflictsService do
|
|||
subject
|
||||
end
|
||||
|
||||
context 'with branches with UTF-8 characters' do
|
||||
let(:source_branch) { 'testòbranch' }
|
||||
let(:target_branch) { 'ábranch' }
|
||||
|
||||
it 'handles commit messages with UTF-8 characters' do
|
||||
allow(::Gitlab::GitalyClient).to receive(:call).and_call_original
|
||||
expect(::Gitlab::GitalyClient).to receive(:call).with(anything, :conflicts_service, :resolve_conflicts, any_args) do |*args|
|
||||
# Force the generation of request messages by iterating through the enumerator
|
||||
args[3].to_a
|
||||
message = args[3].to_a.first
|
||||
params = [message.header.commit_message, message.header.source_branch, message.header.target_branch]
|
||||
expect(params.map(&:encoding).uniq).to eq([Encoding::ASCII_8BIT])
|
||||
|
||||
double(resolution_error: nil)
|
||||
end
|
||||
|
||||
subject
|
||||
end
|
||||
end
|
||||
|
||||
it 'raises a relevant exception if resolution_error is present' do
|
||||
expect_any_instance_of(Gitaly::ConflictsService::Stub).to receive(:resolve_conflicts)
|
||||
|
|
Loading…
Reference in New Issue