Rename ResolveRemoteAccountService to ResolveAccountService (#6327)

The service used to be named ResolveRemoteAccountService resolves local
accounts as well.
master
Akihiko Odaki 7 years ago committed by Eugen Rochko
parent 17cecd75ca
commit 613e7c7521
  1. 2
      app/controllers/activitypub/inboxes_controller.rb
  2. 2
      app/controllers/authorize_follows_controller.rb
  3. 2
      app/controllers/concerns/signature_verification.rb
  4. 2
      app/models/account.rb
  5. 2
      app/models/form/migration.rb
  6. 2
      app/services/account_search_service.rb
  7. 2
      app/services/concerns/author_extractor.rb
  8. 2
      app/services/follow_service.rb
  9. 6
      app/services/process_mentions_service.rb
  10. 2
      app/services/resolve_account_service.rb
  11. 2
      app/workers/import/relationship_worker.rb
  12. 4
      app/workers/resolve_account_worker.rb
  13. 4
      spec/controllers/authorize_follows_controller_spec.rb
  14. 4
      spec/controllers/settings/imports_controller_spec.rb
  15. 8
      spec/models/account_spec.rb
  16. 4
      spec/services/account_search_service_spec.rb
  17. 2
      spec/services/resolve_account_service_spec.rb

@ -28,7 +28,7 @@ class ActivityPub::InboxesController < Api::BaseController
def upgrade_account def upgrade_account
if signed_request_account.ostatus? if signed_request_account.ostatus?
signed_request_account.update(last_webfingered_at: nil) signed_request_account.update(last_webfingered_at: nil)
ResolveRemoteAccountWorker.perform_async(signed_request_account.acct) ResolveAccountWorker.perform_async(signed_request_account.acct)
end end
Pubsubhubbub::UnsubscribeWorker.perform_async(signed_request_account.id) if signed_request_account.subscribed? Pubsubhubbub::UnsubscribeWorker.perform_async(signed_request_account.id) if signed_request_account.subscribed?

@ -41,7 +41,7 @@ class AuthorizeFollowsController < ApplicationController
end end
def account_from_remote_follow def account_from_remote_follow
ResolveRemoteAccountService.new.call(acct_without_prefix) ResolveAccountService.new.call(acct_without_prefix)
end end
def acct_param_is_url? def acct_param_is_url?

@ -114,7 +114,7 @@ module SignatureVerification
def account_from_key_id(key_id) def account_from_key_id(key_id)
if key_id.start_with?('acct:') if key_id.start_with?('acct:')
ResolveRemoteAccountService.new.call(key_id.gsub(/\Aacct:/, '')) ResolveAccountService.new.call(key_id.gsub(/\Aacct:/, ''))
elsif !ActivityPub::TagManager.instance.local_uri?(key_id) elsif !ActivityPub::TagManager.instance.local_uri?(key_id)
account = ActivityPub::TagManager.instance.uri_to_resource(key_id, Account) account = ActivityPub::TagManager.instance.uri_to_resource(key_id, Account)
account ||= ActivityPub::FetchRemoteKeyService.new.call(key_id, id: false) account ||= ActivityPub::FetchRemoteKeyService.new.call(key_id, id: false)

@ -163,7 +163,7 @@ class Account < ApplicationRecord
def refresh! def refresh!
return if local? return if local?
ResolveRemoteAccountService.new.call(acct) ResolveAccountService.new.call(acct)
end end
def unsuspend! def unsuspend!

@ -20,6 +20,6 @@ class Form::Migration
private private
def set_account def set_account
self.account = (ResolveRemoteAccountService.new.call(acct) if account.nil? && acct.present?) self.account = (ResolveAccountService.new.call(acct) if account.nil? && acct.present?)
end end
end end

@ -18,7 +18,7 @@ class AccountSearchService < BaseService
return [] if query_blank_or_hashtag? || limit < 1 return [] if query_blank_or_hashtag? || limit < 1
if resolving_non_matching_remote_account? if resolving_non_matching_remote_account?
[ResolveRemoteAccountService.new.call("#{query_username}@#{query_domain}")].compact [ResolveAccountService.new.call("#{query_username}@#{query_domain}")].compact
else else
search_results_and_exact_match.compact.uniq.slice(0, limit) search_results_and_exact_match.compact.uniq.slice(0, limit)
end end

@ -18,6 +18,6 @@ module AuthorExtractor
acct = "#{username}@#{domain}" acct = "#{username}@#{domain}"
end end
ResolveRemoteAccountService.new.call(acct, update_profile) ResolveAccountService.new.call(acct, update_profile)
end end
end end

@ -9,7 +9,7 @@ class FollowService < BaseService
# @param [true, false, nil] reblogs Whether or not to show reblogs, defaults to true # @param [true, false, nil] reblogs Whether or not to show reblogs, defaults to true
def call(source_account, uri, reblogs: nil) def call(source_account, uri, reblogs: nil)
reblogs = true if reblogs.nil? reblogs = true if reblogs.nil?
target_account = uri.is_a?(Account) ? uri : ResolveRemoteAccountService.new.call(uri) target_account = uri.is_a?(Account) ? uri : ResolveAccountService.new.call(uri)
raise ActiveRecord::RecordNotFound if target_account.nil? || target_account.id == source_account.id || target_account.suspended? raise ActiveRecord::RecordNotFound if target_account.nil? || target_account.id == source_account.id || target_account.suspended?
raise Mastodon::NotPermittedError if target_account.blocking?(source_account) || source_account.blocking?(target_account) raise Mastodon::NotPermittedError if target_account.blocking?(source_account) || source_account.blocking?(target_account)

@ -16,7 +16,7 @@ class ProcessMentionsService < BaseService
if mention_undeliverable?(status, mentioned_account) if mention_undeliverable?(status, mentioned_account)
begin begin
mentioned_account = resolve_remote_account_service.call($1) mentioned_account = resolve_account_service.call($1)
rescue Goldfinger::Error, HTTP::Error rescue Goldfinger::Error, HTTP::Error
mentioned_account = nil mentioned_account = nil
end end
@ -63,7 +63,7 @@ class ProcessMentionsService < BaseService
).as_json).sign!(status.account)) ).as_json).sign!(status.account))
end end
def resolve_remote_account_service def resolve_account_service
ResolveRemoteAccountService.new ResolveAccountService.new
end end
end end

@ -1,6 +1,6 @@
# frozen_string_literal: true # frozen_string_literal: true
class ResolveRemoteAccountService < BaseService class ResolveAccountService < BaseService
include OStatus2::MagicKey include OStatus2::MagicKey
include JsonLdHelper include JsonLdHelper

@ -7,7 +7,7 @@ class Import::RelationshipWorker
def perform(account_id, target_account_uri, relationship) def perform(account_id, target_account_uri, relationship)
from_account = Account.find(account_id) from_account = Account.find(account_id)
target_account = ResolveRemoteAccountService.new.call(target_account_uri) target_account = ResolveAccountService.new.call(target_account_uri)
return if target_account.nil? return if target_account.nil?

@ -1,11 +1,11 @@
# frozen_string_literal: true # frozen_string_literal: true
class ResolveRemoteAccountWorker class ResolveAccountWorker
include Sidekiq::Worker include Sidekiq::Worker
sidekiq_options queue: 'pull', unique: :until_executed sidekiq_options queue: 'pull', unique: :until_executed
def perform(uri) def perform(uri)
ResolveRemoteAccountService.new.call(uri) ResolveAccountService.new.call(uri)
end end
end end

@ -30,7 +30,7 @@ describe AuthorizeFollowsController do
it 'renders error when account cant be found' do it 'renders error when account cant be found' do
service = double service = double
allow(ResolveRemoteAccountService).to receive(:new).and_return(service) allow(ResolveAccountService).to receive(:new).and_return(service)
allow(service).to receive(:call).with('missing@hostname').and_return(nil) allow(service).to receive(:call).with('missing@hostname').and_return(nil)
get :show, params: { acct: 'acct:missing@hostname' } get :show, params: { acct: 'acct:missing@hostname' }
@ -54,7 +54,7 @@ describe AuthorizeFollowsController do
it 'sets account from acct uri' do it 'sets account from acct uri' do
account = Account.new account = Account.new
service = double service = double
allow(ResolveRemoteAccountService).to receive(:new).and_return(service) allow(ResolveAccountService).to receive(:new).and_return(service)
allow(service).to receive(:call).with('found@hostname').and_return(account) allow(service).to receive(:call).with('found@hostname').and_return(account)
get :show, params: { acct: 'acct:found@hostname' } get :show, params: { acct: 'acct:found@hostname' }

@ -17,7 +17,7 @@ RSpec.describe Settings::ImportsController, type: :controller do
describe 'POST #create' do describe 'POST #create' do
it 'redirects to settings path with successful following import' do it 'redirects to settings path with successful following import' do
service = double(call: nil) service = double(call: nil)
allow(ResolveRemoteAccountService).to receive(:new).and_return(service) allow(ResolveAccountService).to receive(:new).and_return(service)
post :create, params: { post :create, params: {
import: { import: {
type: 'following', type: 'following',
@ -30,7 +30,7 @@ RSpec.describe Settings::ImportsController, type: :controller do
it 'redirects to settings path with successful blocking import' do it 'redirects to settings path with successful blocking import' do
service = double(call: nil) service = double(call: nil)
allow(ResolveRemoteAccountService).to receive(:new).and_return(service) allow(ResolveAccountService).to receive(:new).and_return(service)
post :create, params: { post :create, params: {
import: { import: {
type: 'blocking', type: 'blocking',

@ -185,8 +185,8 @@ RSpec.describe Account, type: :model do
expect(account.refresh!).to be_nil expect(account.refresh!).to be_nil
end end
it 'calls not ResolveRemoteAccountService#call' do it 'calls not ResolveAccountService#call' do
expect_any_instance_of(ResolveRemoteAccountService).not_to receive(:call).with(acct) expect_any_instance_of(ResolveAccountService).not_to receive(:call).with(acct)
account.refresh! account.refresh!
end end
end end
@ -194,8 +194,8 @@ RSpec.describe Account, type: :model do
context 'domain is present' do context 'domain is present' do
let(:domain) { 'example.com' } let(:domain) { 'example.com' }
it 'calls ResolveRemoteAccountService#call' do it 'calls ResolveAccountService#call' do
expect_any_instance_of(ResolveRemoteAccountService).to receive(:call).with(acct).once expect_any_instance_of(ResolveAccountService).to receive(:call).with(acct).once
account.refresh! account.refresh!
end end
end end

@ -123,7 +123,7 @@ describe AccountSearchService do
describe 'when there is a domain but no exact match' do describe 'when there is a domain but no exact match' do
it 'follows the remote account when resolve is true' do it 'follows the remote account when resolve is true' do
service = double(call: nil) service = double(call: nil)
allow(ResolveRemoteAccountService).to receive(:new).and_return(service) allow(ResolveAccountService).to receive(:new).and_return(service)
results = subject.call('newuser@remote.com', 10, nil, resolve: true) results = subject.call('newuser@remote.com', 10, nil, resolve: true)
expect(service).to have_received(:call).with('newuser@remote.com') expect(service).to have_received(:call).with('newuser@remote.com')
@ -131,7 +131,7 @@ describe AccountSearchService do
it 'does not follow the remote account when resolve is false' do it 'does not follow the remote account when resolve is false' do
service = double(call: nil) service = double(call: nil)
allow(ResolveRemoteAccountService).to receive(:new).and_return(service) allow(ResolveAccountService).to receive(:new).and_return(service)
results = subject.call('newuser@remote.com', 10, nil, resolve: false) results = subject.call('newuser@remote.com', 10, nil, resolve: false)
expect(service).not_to have_received(:call) expect(service).not_to have_received(:call)

@ -1,6 +1,6 @@
require 'rails_helper' require 'rails_helper'
RSpec.describe ResolveRemoteAccountService do RSpec.describe ResolveAccountService do
subject { described_class.new } subject { described_class.new }
before do before do
Loading…
Cancel
Save