|
|
|
@ -168,10 +168,12 @@ RSpec.describe 'The /.well-known/webfinger endpoint' do
|
|
|
|
|
it 'returns avatar in response' do
|
|
|
|
|
perform_request!
|
|
|
|
|
|
|
|
|
|
avatar_link = get_avatar_link(response.parsed_body)
|
|
|
|
|
expect(avatar_link).to_not be_nil
|
|
|
|
|
expect(avatar_link[:type]).to eq alice.avatar.content_type
|
|
|
|
|
expect(avatar_link[:href]).to eq Addressable::URI.new(host: Rails.configuration.x.local_domain, path: alice.avatar.to_s, scheme: 'https').to_s
|
|
|
|
|
expect(response_avatar_link)
|
|
|
|
|
.to be_present
|
|
|
|
|
.and include(
|
|
|
|
|
type: eq(alice.avatar.content_type),
|
|
|
|
|
href: eq(Addressable::URI.new(host: Rails.configuration.x.local_domain, path: alice.avatar.to_s, scheme: 'https').to_s)
|
|
|
|
|
)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
context 'with limited federation mode' do
|
|
|
|
@ -182,8 +184,8 @@ RSpec.describe 'The /.well-known/webfinger endpoint' do
|
|
|
|
|
it 'does not return avatar in response' do
|
|
|
|
|
perform_request!
|
|
|
|
|
|
|
|
|
|
avatar_link = get_avatar_link(response.parsed_body)
|
|
|
|
|
expect(avatar_link).to be_nil
|
|
|
|
|
expect(response_avatar_link)
|
|
|
|
|
.to be_nil
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
@ -197,8 +199,8 @@ RSpec.describe 'The /.well-known/webfinger endpoint' do
|
|
|
|
|
it 'does not return avatar in response' do
|
|
|
|
|
perform_request!
|
|
|
|
|
|
|
|
|
|
avatar_link = get_avatar_link(response.parsed_body)
|
|
|
|
|
expect(avatar_link).to be_nil
|
|
|
|
|
expect(response_avatar_link)
|
|
|
|
|
.to be_nil
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
@ -212,8 +214,8 @@ RSpec.describe 'The /.well-known/webfinger endpoint' do
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
it 'does not return avatar in response' do
|
|
|
|
|
avatar_link = get_avatar_link(response.parsed_body)
|
|
|
|
|
expect(avatar_link).to be_nil
|
|
|
|
|
expect(response_avatar_link)
|
|
|
|
|
.to be_nil
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
@ -247,7 +249,9 @@ RSpec.describe 'The /.well-known/webfinger endpoint' do
|
|
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
|
|
def get_avatar_link(json)
|
|
|
|
|
json[:links].find { |link| link[:rel] == 'http://webfinger.net/rel/avatar' }
|
|
|
|
|
def response_avatar_link
|
|
|
|
|
response
|
|
|
|
|
.parsed_body[:links]
|
|
|
|
|
.find { |link| link[:rel] == 'http://webfinger.net/rel/avatar' }
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|