Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-06-20 13:43:29 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-06-20 13:43:29 +0300
commit3b1af5cc7ed2666ff18b718ce5d30fa5a2756674 (patch)
tree3bc4a40e0ee51ec27eabf917c537033c0c5b14d4 /spec/lib/gitlab/email
parent9bba14be3f2c211bf79e15769cd9b77bc73a13bc (diff)
Add latest changes from gitlab-org/gitlab@16-1-stable-eev16.1.0-rc42
Diffstat (limited to 'spec/lib/gitlab/email')
-rw-r--r--spec/lib/gitlab/email/handler/service_desk_handler_spec.rb18
-rw-r--r--spec/lib/gitlab/email/reply_parser_spec.rb34
2 files changed, 51 insertions, 1 deletions
diff --git a/spec/lib/gitlab/email/handler/service_desk_handler_spec.rb b/spec/lib/gitlab/email/handler/service_desk_handler_spec.rb
index 7bba0775668..ef2acc9ec92 100644
--- a/spec/lib/gitlab/email/handler/service_desk_handler_spec.rb
+++ b/spec/lib/gitlab/email/handler/service_desk_handler_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe Gitlab::Email::Handler::ServiceDeskHandler do
+RSpec.describe Gitlab::Email::Handler::ServiceDeskHandler, feature_category: :service_desk do
include ServiceDeskHelper
include_context 'email shared context'
@@ -67,6 +67,22 @@ RSpec.describe Gitlab::Email::Handler::ServiceDeskHandler do
end
end
+ context 'when encoding of an email is iso-8859-2' do
+ let(:email_raw) { email_fixture('emails/service_desk_encoding.eml') }
+ let(:expected_description) do
+ "Body of encoding iso-8859-2 test: ťžščľžťťč"
+ end
+
+ it 'creates a new issue with readable subject and body' do
+ expect { receiver.execute }.to change { Issue.count }.by(1)
+
+ new_issue = Issue.last
+
+ expect(new_issue.title).to eq("Testing encoding iso-8859-2 ťžščľžťťč")
+ expect(new_issue.description).to eq(expected_description.strip)
+ end
+ end
+
context 'when everything is fine' do
it_behaves_like 'a new issue request'
diff --git a/spec/lib/gitlab/email/reply_parser_spec.rb b/spec/lib/gitlab/email/reply_parser_spec.rb
index 35065b74eff..05c8559e30f 100644
--- a/spec/lib/gitlab/email/reply_parser_spec.rb
+++ b/spec/lib/gitlab/email/reply_parser_spec.rb
@@ -380,5 +380,39 @@ RSpec.describe Gitlab::Email::ReplyParser, feature_category: :team_planning do
end
end
end
+
+ context 'iso-8859-2 content' do
+ let(:raw_content) do
+ <<-BODY.strip_heredoc.chomp
+ From: Jake the Dog <jake@adventuretime.ooo>
+ To: <incoming+email-test-project_id-issue-@appmail.adventuretime.ooo>
+ Subject: =?iso-8859-2?B?VGVzdGluZyBlbmNvZGluZyBpc28tODg1OS0yILu+uei1vru76A==?=
+ Date: Wed, 31 May 2023 18:43:32 +0200
+ Message-ID: <CADkmRc+rNGAGGbV2iE5p918UVy4UyJqVcXRO2=otppgzduJSg@mail.gmail.com>
+ MIME-Version: 1.0
+ Content-Type: multipart/alternative;
+ boundary="----=_NextPart_000_0001_01D993EF.CDD81EA0"
+ X-Mailer: Microsoft Outlook 16.0
+ Thread-Index: AdmT3ur1lfLfsfGgRM699GyWkjowfg==
+ Content-Language: en-us
+
+ This is a multipart message in MIME format.
+
+ ------=_NextPart_000_0001_01D993EF.CDD81EA0
+ Content-Type: text/plain;
+ charset="iso-8859-2"
+ Content-Transfer-Encoding: base64
+
+ Qm9keSBvZiBlbmNvZGluZyBpc28tODg1OS0yIHRlc3Q6ILu+uei1vru76A0KDQo=
+ BODY
+ end
+
+ it "parses body under UTF-8 encoding" do
+ expect(test_parse_body(raw_content, { trim_reply: false }))
+ .to eq(<<-BODY.strip_heredoc.chomp)
+ Body of encoding iso-8859-2 test: ťžščľžťťč\r\n\r\n
+ BODY
+ end
+ end
end
end