diff options
Diffstat (limited to 'spec')
-rw-r--r-- | spec/fixtures/files/utf8-followers.txt | 1 | ||||
-rw-r--r-- | spec/services/import_service_spec.rb | 23 |
2 files changed, 24 insertions, 0 deletions
diff --git a/spec/fixtures/files/utf8-followers.txt b/spec/fixtures/files/utf8-followers.txt new file mode 100644 index 000000000..9d4fe3485 --- /dev/null +++ b/spec/fixtures/files/utf8-followers.txt @@ -0,0 +1 @@ +@nare@թութ.հայ diff --git a/spec/services/import_service_spec.rb b/spec/services/import_service_spec.rb index 764225aa7..e2d182920 100644 --- a/spec/services/import_service_spec.rb +++ b/spec/services/import_service_spec.rb @@ -172,6 +172,29 @@ RSpec.describe ImportService, type: :service do end end + # Based on the bug report 20571 where UTF-8 encoded domains were rejecting import of their users + # + # https://github.com/mastodon/mastodon/issues/20571 + context 'utf-8 encoded domains' do + subject { ImportService.new } + + let!(:nare) { Fabricate(:account, username: 'nare', domain: 'թութ.հայ', locked: false, protocol: :activitypub, inbox_url: 'https://թութ.հայ/inbox') } + + # Make sure to not actually go to the remote server + before do + stub_request(:post, "https://թութ.հայ/inbox").to_return(status: 200) + end + + let(:csv) { attachment_fixture('utf8-followers.txt') } + let(:import) { Import.create(account: account, type: 'following', data: csv) } + + it 'follows the listed account' do + expect(account.follow_requests.count).to eq 0 + subject.call(import) + expect(account.follow_requests.count).to eq 1 + end + end + context 'import bookmarks' do subject { ImportService.new } |