Run rubocop formatting except line length (#23632)

This commit is contained in:
Nick Schonning 2023-02-17 16:56:20 -05:00 committed by GitHub
parent 593bb8ce99
commit 669f6d2c0a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
71 changed files with 269 additions and 566 deletions

View file

@ -35,12 +35,12 @@ describe Rack::Attack do
let(:request) { ->() { post path, {}, 'REMOTE_ADDR' => remote_ip } }
context 'for exact path' do
let(:path) { '/auth' }
let(:path) { '/auth' }
it_behaves_like 'throttled endpoint'
end
context 'for path with format' do
let(:path) { '/auth.html' }
let(:path) { '/auth.html' }
it_behaves_like 'throttled endpoint'
end
end
@ -50,7 +50,7 @@ describe Rack::Attack do
let(:request) { ->() { post path, {}, 'REMOTE_ADDR' => remote_ip } }
context 'for exact path' do
let(:path) { '/api/v1/accounts' }
let(:path) { '/api/v1/accounts' }
it_behaves_like 'throttled endpoint'
end
@ -70,12 +70,12 @@ describe Rack::Attack do
let(:request) { ->() { post path, {}, 'REMOTE_ADDR' => remote_ip } }
context 'for exact path' do
let(:path) { '/auth/sign_in' }
let(:path) { '/auth/sign_in' }
it_behaves_like 'throttled endpoint'
end
context 'for path with format' do
let(:path) { '/auth/sign_in.html' }
let(:path) { '/auth/sign_in.html' }
it_behaves_like 'throttled endpoint'
end
end

View file

@ -8,10 +8,10 @@ describe Admin::DashboardController, type: :controller do
describe 'GET #index' do
before do
allow(Admin::SystemCheck).to receive(:perform).and_return([
Admin::SystemCheck::Message.new(:database_schema_check),
Admin::SystemCheck::Message.new(:rules_check, nil, admin_rules_path),
Admin::SystemCheck::Message.new(:sidekiq_process_check, 'foo, bar'),
])
Admin::SystemCheck::Message.new(:database_schema_check),
Admin::SystemCheck::Message.new(:rules_check, nil, admin_rules_path),
Admin::SystemCheck::Message.new(:sidekiq_process_check, 'foo, bar'),
])
sign_in Fabricate(:user, role: UserRole.find_by(name: 'Admin'))
end

View file

@ -70,7 +70,7 @@ describe Api::V1::Accounts::CredentialsController do
it 'returns http success' do
expect(response).to have_http_status(200)
end
end
end
describe 'with invalid data' do
before do

View file

@ -20,7 +20,7 @@ RSpec.describe Api::V1::ReportsController, type: :controller do
let(:target_account) { status.account }
let(:category) { nil }
let(:forward) { nil }
let(:rule_ids){ nil }
let(:rule_ids) { nil }
before do
allow(AdminMailer).to receive(:new_report).and_return(double('email', deliver_later: nil))

View file

@ -31,7 +31,7 @@ RSpec.describe Api::V1::Statuses::FavouritedByAccountsController, type: :control
it 'returns accounts who favorited the status' do
get :index, params: { status_id: status.id, limit: 2 }
expect(body_as_json.size).to eq 2
expect([body_as_json[0][:id], body_as_json[1][:id]]).to match_array([alice.id.to_s, bob.id.to_s])
expect([body_as_json[0][:id], body_as_json[1][:id]]).to match_array([alice.id.to_s, bob.id.to_s])
end
it 'does not return blocked users' do

View file

@ -31,7 +31,7 @@ RSpec.describe Api::V1::Statuses::RebloggedByAccountsController, type: :controll
it 'returns accounts who reblogged the status' do
get :index, params: { status_id: status.id, limit: 2 }
expect(body_as_json.size).to eq 2
expect([body_as_json[0][:id], body_as_json[1][:id]]).to match_array([alice.id.to_s, bob.id.to_s])
expect([body_as_json[0][:id], body_as_json[1][:id]]).to match_array([alice.id.to_s, bob.id.to_s])
end
it 'does not return blocked users' do

View file

@ -64,7 +64,7 @@ RSpec.describe Api::V2::Filters::StatusesController, type: :controller do
end
describe 'GET #show' do
let(:scopes) { 'read:filters' }
let(:scopes) { 'read:filters' }
let!(:status_filter) { Fabricate(:custom_filter_status, custom_filter: filter) }
before do
@ -90,7 +90,7 @@ RSpec.describe Api::V2::Filters::StatusesController, type: :controller do
end
describe 'DELETE #destroy' do
let(:scopes) { 'write:filters' }
let(:scopes) { 'write:filters' }
let(:status_filter) { Fabricate(:custom_filter_status, custom_filter: filter) }
before do

View file

@ -339,11 +339,11 @@ RSpec.describe Auth::SessionsController, type: :controller do
external_id: public_key_credential.id,
public_key: public_key_credential.public_key,
sign_count: '1000'
)
)
user.webauthn_credentials.take
end
let(:domain) { "#{Rails.configuration.x.use_https ? 'https' : 'http' }://#{Rails.configuration.x.web_domain}" }
let(:domain) { "#{Rails.configuration.x.use_https ? 'https' : 'http'}://#{Rails.configuration.x.web_domain}" }
let(:fake_client) { WebAuthn::FakeClient.new(domain) }
@ -400,7 +400,7 @@ RSpec.describe Auth::SessionsController, type: :controller do
describe 'GET #webauthn_options' do
context 'with WebAuthn and OTP enabled as second factor' do
let(:domain) { "#{Rails.configuration.x.use_https ? 'https' : 'http' }://#{Rails.configuration.x.web_domain}" }
let(:domain) { "#{Rails.configuration.x.use_https ? 'https' : 'http'}://#{Rails.configuration.x.web_domain}" }
let(:fake_client) { WebAuthn::FakeClient.new(domain) }

View file

@ -99,7 +99,6 @@ describe AuthorizeInteractionsController do
allow(ResolveAccountService).to receive(:new).and_return(service)
allow(service).to receive(:call).with('user@hostname').and_return(target_account)
post :create, params: { acct: 'acct:user@hostname' }
expect(account.following?(target_account)).to be true

View file

@ -73,7 +73,7 @@ describe Settings::ApplicationsController do
name: 'My New App',
redirect_uri: 'urn:ietf:wg:oauth:2.0:oob',
website: 'http://google.com',
scopes: [ 'read', 'write', 'follow' ]
scopes: ['read', 'write', 'follow']
}
}
response

View file

@ -5,7 +5,6 @@ require 'rails_helper'
describe Settings::TwoFactorAuthentication::ConfirmationsController do
render_views
shared_examples 'renders :new' do
it 'renders the new view' do
subject

View file

@ -7,7 +7,7 @@ describe Settings::TwoFactorAuthentication::WebauthnCredentialsController do
render_views
let(:user) { Fabricate(:user) }
let(:domain) { "#{Rails.configuration.x.use_https ? 'https' : 'http' }://#{Rails.configuration.x.web_domain}" }
let(:domain) { "#{Rails.configuration.x.use_https ? 'https' : 'http'}://#{Rails.configuration.x.web_domain}" }
let(:fake_client) { WebAuthn::FakeClient.new(domain) }
def add_webauthn_credential(user)

View file

@ -9,12 +9,12 @@ describe WellKnown::HostMetaController, type: :controller do
expect(response).to have_http_status(200)
expect(response.media_type).to eq 'application/xrd+xml'
expect(response.body).to eq <<XML
<?xml version="1.0" encoding="UTF-8"?>
<XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0">
<Link rel="lrdd" template="https://cb6e6126.ngrok.io/.well-known/webfinger?resource={uri}"/>
</XRD>
XML
expect(response.body).to eq <<~XML
<?xml version="1.0" encoding="UTF-8"?>
<XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0">
<Link rel="lrdd" template="https://cb6e6126.ngrok.io/.well-known/webfinger?resource={uri}"/>
</XRD>
XML
end
end
end

View file

@ -1,4 +1,4 @@
Fabricator(:custom_filter_keyword) do
custom_filter
keyword 'discourse'
keyword 'discourse'
end

View file

@ -3,4 +3,4 @@ Fabricator(:ip_block) do
severity ""
expires_at "2020-10-08 22:20:37"
comment "MyText"
end
end

View file

@ -1,5 +1,5 @@
Fabricator(:poll_vote) do
account
poll
choice 0
choice 0
end

View file

@ -4,4 +4,4 @@ Fabricator(:status_edit) do
text "MyText"
spoiler_text "MyText"
media_attachments_changed false
end
end

View file

@ -1,3 +1,2 @@
Fabricator(:system_key) do
end

View file

@ -408,7 +408,6 @@ RSpec.describe ActivityPub::Activity::Create do
end
end
context 'with media attachments with long description' do
let(:object_json) do
{

View file

@ -20,7 +20,7 @@ describe Extractor do
text = '@screen_name'
extracted = Extractor.extract_mentions_or_lists_with_indices(text)
expect(extracted).to eq [
{ screen_name: 'screen_name', indices: [ 0, 12 ] }
{ screen_name: 'screen_name', indices: [0, 12] }
]
end
@ -44,19 +44,19 @@ describe Extractor do
it 'does not exclude normal hash text before ://' do
text = '#hashtag://'
extracted = Extractor.extract_hashtags_with_indices(text)
expect(extracted).to eq [ { hashtag: 'hashtag', indices: [ 0, 8 ] } ]
expect(extracted).to eq [{ hashtag: 'hashtag', indices: [0, 8] }]
end
it 'excludes http://' do
text = '#hashtaghttp://'
extracted = Extractor.extract_hashtags_with_indices(text)
expect(extracted).to eq [ { hashtag: 'hashtag', indices: [ 0, 8 ] } ]
expect(extracted).to eq [{ hashtag: 'hashtag', indices: [0, 8] }]
end
it 'excludes https://' do
text = '#hashtaghttps://'
extracted = Extractor.extract_hashtags_with_indices(text)
expect(extracted).to eq [ { hashtag: 'hashtag', indices: [ 0, 8 ] } ]
expect(extracted).to eq [{ hashtag: 'hashtag', indices: [0, 8] }]
end
it 'yields hashtags if a block is given' do

View file

@ -4,7 +4,7 @@ require 'rails_helper'
describe FastIpMap do
describe '#include?' do
subject { described_class.new([IPAddr.new('20.4.0.0/16'), IPAddr.new('145.22.30.0/24'), IPAddr.new('189.45.86.3')])}
subject { described_class.new([IPAddr.new('20.4.0.0/16'), IPAddr.new('145.22.30.0/24'), IPAddr.new('189.45.86.3')]) }
it 'returns true for an exact match' do
expect(subject.include?(IPAddr.new('189.45.86.3'))).to be true

View file

@ -39,17 +39,17 @@ RSpec.describe LinkDetailsExtractor do
let(:original_url) { 'https://example.com/page.html' }
context 'and is wrapped in CDATA tags' do
let(:html) { <<-HTML }
<!doctype html>
<html>
<head>
<script type="application/ld+json">
//<![CDATA[
{"@context":"http://schema.org","@type":"NewsArticle","mainEntityOfPage":"https://example.com/page.html","headline":"Foo","datePublished":"2022-01-31T19:53:00+00:00","url":"https://example.com/page.html","description":"Bar","author":{"@type":"Person","name":"Hoge"},"publisher":{"@type":"Organization","name":"Baz"}}
//]]>
</script>
</head>
</html>
let(:html) { <<~HTML }
<!doctype html>
<html>
<head>
<script type="application/ld+json">
//<![CDATA[
{"@context":"http://schema.org","@type":"NewsArticle","mainEntityOfPage":"https://example.com/page.html","headline":"Foo","datePublished":"2022-01-31T19:53:00+00:00","url":"https://example.com/page.html","description":"Bar","author":{"@type":"Person","name":"Hoge"},"publisher":{"@type":"Organization","name":"Baz"}}
//]]>
</script>
</head>
</html>
HTML
describe '#title' do
@ -78,57 +78,57 @@ RSpec.describe LinkDetailsExtractor do
end
context 'but the first tag is invalid JSON' do
let(:html) { <<-HTML }
<!doctype html>
<html>
<body>
<script type="application/ld+json">
{
"@context":"https://schema.org",
"@type":"ItemList",
"url":"https://example.com/page.html",
"name":"Foo",
"description":"Bar"
},
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement":[
{
"@type":"ListItem",
"position":1,
"item":{
"@id":"https://www.example.com",
"name":"Baz"
}
}
]
}
</script>
<script type="application/ld+json">
{
"@context":"https://schema.org",
"@type":"NewsArticle",
"mainEntityOfPage": {
"@type":"WebPage",
"@id": "http://example.com/page.html"
},
"headline": "Foo",
"description": "Bar",
"datePublished": "2022-01-31T19:46:00+00:00",
"author": {
"@type": "Organization",
"name": "Hoge"
},
"publisher": {
"@type": "NewsMediaOrganization",
"name":"Baz",
"url":"https://example.com/"
}
}
</script>
</body>
</html>
let(:html) { <<~HTML }
<!doctype html>
<html>
<body>
<script type="application/ld+json">
{
"@context":"https://schema.org",
"@type":"ItemList",
"url":"https://example.com/page.html",
"name":"Foo",
"description":"Bar"
},
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement":[
{
"@type":"ListItem",
"position":1,
"item":{
"@id":"https://www.example.com",
"name":"Baz"
}
}
]
}
</script>
<script type="application/ld+json">
{
"@context":"https://schema.org",
"@type":"NewsArticle",
"mainEntityOfPage": {
"@type":"WebPage",
"@id": "http://example.com/page.html"
},
"headline": "Foo",
"description": "Bar",
"datePublished": "2022-01-31T19:46:00+00:00",
"author": {
"@type": "Organization",
"name": "Hoge"
},
"publisher": {
"@type": "NewsMediaOrganization",
"name":"Baz",
"url":"https://example.com/"
}
}
</script>
</body>
</html>
HTML
describe '#title' do

View file

@ -97,7 +97,7 @@ RSpec.describe Account::Field, type: :model do
expect(subject.verifiable?).to be false
end
end
context 'for text which is blank' do
let(:value) { '' }
@ -149,7 +149,7 @@ RSpec.describe Account::Field, type: :model do
expect(subject.verifiable?).to be false
end
end
context 'for text which is blank' do
let(:value) { '' }

View file

@ -1,5 +1,4 @@
require 'rails_helper'
RSpec.describe AccountAlias, type: :model do
end

View file

@ -16,16 +16,15 @@ RSpec.describe AccountStatusesCleanupPolicy, type: :model do
context 'when widening a policy' do
let!(:account_statuses_cleanup_policy) do
Fabricate(:account_statuses_cleanup_policy,
account: account,
keep_direct: true,
keep_pinned: true,
keep_polls: true,
keep_media: true,
keep_self_fav: true,
keep_self_bookmark: true,
min_favs: 1,
min_reblogs: 1
)
account: account,
keep_direct: true,
keep_pinned: true,
keep_polls: true,
keep_media: true,
keep_self_fav: true,
keep_self_bookmark: true,
min_favs: 1,
min_reblogs: 1)
end
before do
@ -96,16 +95,15 @@ RSpec.describe AccountStatusesCleanupPolicy, type: :model do
context 'when narrowing a policy' do
let!(:account_statuses_cleanup_policy) do
Fabricate(:account_statuses_cleanup_policy,
account: account,
keep_direct: false,
keep_pinned: false,
keep_polls: false,
keep_media: false,
keep_self_fav: false,
keep_self_bookmark: false,
min_favs: nil,
min_reblogs: nil
)
account: account,
keep_direct: false,
keep_pinned: false,
keep_polls: false,
keep_media: false,
keep_self_fav: false,
keep_self_bookmark: false,
min_favs: nil,
min_reblogs: nil)
end
it 'does not unnecessarily invalidate last_inspected' do
@ -232,7 +230,7 @@ RSpec.describe AccountStatusesCleanupPolicy, type: :model do
end
describe '#compute_cutoff_id' do
let!(:unrelated_status) { Fabricate(:status, created_at: 3.years.ago) }
let!(:unrelated_status) { Fabricate(:status, created_at: 3.years.ago) }
let(:account_statuses_cleanup_policy) { Fabricate(:account_statuses_cleanup_policy, account: account) }
subject { account_statuses_cleanup_policy.compute_cutoff_id }

View file

@ -400,7 +400,7 @@ describe AccountInteractions do
subject { account.domain_blocking?(domain) }
context 'blocking the domain' do
it' returns true' do
it ' returns true' do
account_domain_block = Fabricate(:account_domain_block, domain: domain)
account.domain_blocks << account_domain_block
is_expected.to be true

View file

@ -1,5 +1,4 @@
require 'rails_helper'
RSpec.describe Device, type: :model do
end

View file

@ -1,5 +1,4 @@
require 'rails_helper'
RSpec.describe EncryptedMessage, type: :model do
end

View file

@ -3,7 +3,7 @@ require 'rails_helper'
describe Export do
let(:account) { Fabricate(:account) }
let(:target_accounts) do
[ {}, { username: 'one', domain: 'local.host' } ].map(&method(:Fabricate).curry(2).call(:account))
[{}, { username: 'one', domain: 'local.host' }].map(&method(:Fabricate).curry(2).call(:account))
end
describe 'to_csv' do

View file

@ -1,5 +1,4 @@
require 'rails_helper'
RSpec.describe LoginActivity, type: :model do
end

View file

@ -1,5 +1,4 @@
require 'rails_helper'
RSpec.describe OneTimeKey, type: :model do
end

View file

@ -1,5 +1,4 @@
require 'rails_helper'
RSpec.describe SystemKey, type: :model do
end

View file

@ -76,7 +76,7 @@ RSpec.describe Trends::Statuses do
before do
13.times { reblog(status1, today) }
13.times { reblog(status2, today) }
4.times { reblog(status3, today) }
4.times { reblog(status3, today) }
end
context do

View file

@ -58,7 +58,7 @@ RSpec.describe UserRole, type: :model do
end
describe '#permissions_as_keys=' do
let(:input) { }
let(:input) {}
before do
subject.permissions_as_keys = input

View file

@ -5,99 +5,99 @@ require 'rails_helper'
describe 'API routes' do
describe 'Credentials routes' do
it 'routes to verify credentials' do
expect(get('/api/v1/accounts/verify_credentials')).
to route_to('api/v1/accounts/credentials#show')
expect(get('/api/v1/accounts/verify_credentials'))
.to route_to('api/v1/accounts/credentials#show')
end
it 'routes to update credentials' do
expect(patch('/api/v1/accounts/update_credentials')).
to route_to('api/v1/accounts/credentials#update')
expect(patch('/api/v1/accounts/update_credentials'))
.to route_to('api/v1/accounts/credentials#update')
end
end
describe 'Account routes' do
it 'routes to statuses' do
expect(get('/api/v1/accounts/user/statuses')).
to route_to('api/v1/accounts/statuses#index', account_id: 'user')
expect(get('/api/v1/accounts/user/statuses'))
.to route_to('api/v1/accounts/statuses#index', account_id: 'user')
end
it 'routes to followers' do
expect(get('/api/v1/accounts/user/followers')).
to route_to('api/v1/accounts/follower_accounts#index', account_id: 'user')
expect(get('/api/v1/accounts/user/followers'))
.to route_to('api/v1/accounts/follower_accounts#index', account_id: 'user')
end
it 'routes to following' do
expect(get('/api/v1/accounts/user/following')).
to route_to('api/v1/accounts/following_accounts#index', account_id: 'user')
expect(get('/api/v1/accounts/user/following'))
.to route_to('api/v1/accounts/following_accounts#index', account_id: 'user')
end
it 'routes to search' do
expect(get('/api/v1/accounts/search')).
to route_to('api/v1/accounts/search#show')
expect(get('/api/v1/accounts/search'))
.to route_to('api/v1/accounts/search#show')
end
it 'routes to relationships' do
expect(get('/api/v1/accounts/relationships')).
to route_to('api/v1/accounts/relationships#index')
expect(get('/api/v1/accounts/relationships'))
.to route_to('api/v1/accounts/relationships#index')
end
end
describe 'Statuses routes' do
it 'routes reblogged_by' do
expect(get('/api/v1/statuses/123/reblogged_by')).
to route_to('api/v1/statuses/reblogged_by_accounts#index', status_id: '123')
expect(get('/api/v1/statuses/123/reblogged_by'))
.to route_to('api/v1/statuses/reblogged_by_accounts#index', status_id: '123')
end
it 'routes favourited_by' do
expect(get('/api/v1/statuses/123/favourited_by')).
to route_to('api/v1/statuses/favourited_by_accounts#index', status_id: '123')
expect(get('/api/v1/statuses/123/favourited_by'))
.to route_to('api/v1/statuses/favourited_by_accounts#index', status_id: '123')
end
it 'routes reblog' do
expect(post('/api/v1/statuses/123/reblog')).
to route_to('api/v1/statuses/reblogs#create', status_id: '123')
expect(post('/api/v1/statuses/123/reblog'))
.to route_to('api/v1/statuses/reblogs#create', status_id: '123')
end
it 'routes unreblog' do
expect(post('/api/v1/statuses/123/unreblog')).
to route_to('api/v1/statuses/reblogs#destroy', status_id: '123')
expect(post('/api/v1/statuses/123/unreblog'))
.to route_to('api/v1/statuses/reblogs#destroy', status_id: '123')
end
it 'routes favourite' do
expect(post('/api/v1/statuses/123/favourite')).
to route_to('api/v1/statuses/favourites#create', status_id: '123')
expect(post('/api/v1/statuses/123/favourite'))
.to route_to('api/v1/statuses/favourites#create', status_id: '123')
end
it 'routes unfavourite' do
expect(post('/api/v1/statuses/123/unfavourite')).
to route_to('api/v1/statuses/favourites#destroy', status_id: '123')
expect(post('/api/v1/statuses/123/unfavourite'))
.to route_to('api/v1/statuses/favourites#destroy', status_id: '123')
end
it 'routes mute' do
expect(post('/api/v1/statuses/123/mute')).
to route_to('api/v1/statuses/mutes#create', status_id: '123')
expect(post('/api/v1/statuses/123/mute'))
.to route_to('api/v1/statuses/mutes#create', status_id: '123')
end
it 'routes unmute' do
expect(post('/api/v1/statuses/123/unmute')).
to route_to('api/v1/statuses/mutes#destroy', status_id: '123')
expect(post('/api/v1/statuses/123/unmute'))
.to route_to('api/v1/statuses/mutes#destroy', status_id: '123')
end
end
describe 'Timeline routes' do
it 'routes to home timeline' do
expect(get('/api/v1/timelines/home')).
to route_to('api/v1/timelines/home#show')
expect(get('/api/v1/timelines/home'))
.to route_to('api/v1/timelines/home#show')
end
it 'routes to public timeline' do
expect(get('/api/v1/timelines/public')).
to route_to('api/v1/timelines/public#show')
expect(get('/api/v1/timelines/public'))
.to route_to('api/v1/timelines/public#show')
end
it 'routes to tag timeline' do
expect(get('/api/v1/timelines/tag/test')).
to route_to('api/v1/timelines/tag#show', id: 'test')
expect(get('/api/v1/timelines/tag/test'))
.to route_to('api/v1/timelines/tag#show', id: 'test')
end
end
end

View file

@ -2,14 +2,14 @@ require 'rails_helper'
describe 'the host-meta route' do
it 'routes to correct place with xml format' do
expect(get('/.well-known/host-meta')).
to route_to('well_known/host_meta#show', format: 'xml')
expect(get('/.well-known/host-meta'))
.to route_to('well_known/host_meta#show', format: 'xml')
end
end
describe 'the webfinger route' do
it 'routes to correct place with json format' do
expect(get('/.well-known/webfinger')).
to route_to('well_known/webfinger#show')
expect(get('/.well-known/webfinger'))
.to route_to('well_known/webfinger#show')
end
end

View file

@ -5,7 +5,7 @@ require 'rails_helper'
describe REST::AccountSerializer do
let(:role) { Fabricate(:user_role, name: 'Role', highlighted: true) }
let(:user) { Fabricate(:user, role: role) }
let(:account) { user.account}
let(:account) { user.account }
subject { JSON.parse(ActiveModelSerializers::SerializableResource.new(account, serializer: REST::AccountSerializer).to_json) }

View file

@ -42,8 +42,8 @@ describe AccountStatusesCleanupService, type: :service do
context 'when called repeatedly with a budget of 2' do
it 'reports 2 then 1 deleted statuses' do
expect(subject.call(account_policy, 2)).to eq 2
expect(subject.call(account_policy, 2)).to eq 1
expect(subject.call(account_policy, 2)).to eq 2
expect(subject.call(account_policy, 2)).to eq 1
end
it 'actually deletes the statuses in the expected order' do

View file

@ -298,7 +298,7 @@ RSpec.describe ActivityPub::FetchRemoteStatusService, type: :service do
first: {
type: 'CollectionPage',
partOf: "https://foo.bar/@foo/#{i}/replies",
items: ["https://foo.bar/@foo/#{i+1}"],
items: ["https://foo.bar/@foo/#{i + 1}"],
},
},
attributedTo: ActivityPub::TagManager.instance.uri_for(sender),

View file

@ -172,10 +172,10 @@ RSpec.describe ActivityPub::ProcessAccountService, type: :service do
{
type: 'Mention',
href: "https://foo.test/users/#{i + 1}",
name: "@user#{i + 1 }",
name: "@user#{i + 1}",
}
],
to: [ 'as:Public', "https://foo.test/users/#{i + 1}" ]
to: ['as:Public', "https://foo.test/users/#{i + 1}"]
}.with_indifferent_access
featured_json = {
'@context': ['https://www.w3.org/ns/activitystreams'],

View file

@ -95,11 +95,11 @@ RSpec.describe ActivityPub::ProcessCollectionService, type: :service do
context 'when receiving a fabricated status' do
let!(:actor) do
Fabricate(:account,
username: 'bob',
domain: 'example.com',
uri: 'https://example.com/users/bob',
public_key: "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuuYyoyfsRkYnXRotMsId\nW3euBDDfiv9oVqOxUVC7bhel8KednIMrMCRWFAkgJhbrlzbIkjVr68o1MP9qLcn7\nCmH/BXHp7yhuFTr4byjdJKpwB+/i2jNEsvDH5jR8WTAeTCe0x/QHg21V3F7dSI5m\nCCZ/1dSIyOXLRTWVlfDlm3rE4ntlCo+US3/7oSWbg/4/4qEnt1HC32kvklgScxua\n4LR5ATdoXa5bFoopPWhul7MJ6NyWCyQyScUuGdlj8EN4kmKQJvphKHrI9fvhgOuG\nTvhTR1S5InA4azSSchY0tXEEw/VNxraeX0KPjbgr6DPcwhPd/m0nhVDq0zVyVBBD\nMwIDAQAB\n-----END PUBLIC KEY-----\n",
private_key: nil)
username: 'bob',
domain: 'example.com',
uri: 'https://example.com/users/bob',
public_key: "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuuYyoyfsRkYnXRotMsId\nW3euBDDfiv9oVqOxUVC7bhel8KednIMrMCRWFAkgJhbrlzbIkjVr68o1MP9qLcn7\nCmH/BXHp7yhuFTr4byjdJKpwB+/i2jNEsvDH5jR8WTAeTCe0x/QHg21V3F7dSI5m\nCCZ/1dSIyOXLRTWVlfDlm3rE4ntlCo+US3/7oSWbg/4/4qEnt1HC32kvklgScxua\n4LR5ATdoXa5bFoopPWhul7MJ6NyWCyQyScUuGdlj8EN4kmKQJvphKHrI9fvhgOuG\nTvhTR1S5InA4azSSchY0tXEEw/VNxraeX0KPjbgr6DPcwhPd/m0nhVDq0zVyVBBD\nMwIDAQAB\n-----END PUBLIC KEY-----\n",
private_key: nil)
end
let(:payload) do
@ -107,7 +107,7 @@ RSpec.describe ActivityPub::ProcessCollectionService, type: :service do
'@context': [
'https://www.w3.org/ns/activitystreams',
nil,
{'object': 'https://www.w3.org/ns/activitystreams#object'}
{ 'object': 'https://www.w3.org/ns/activitystreams#object' }
],
'id': 'https://example.com/users/bob/fake-status/activity',
'type': 'Create',

View file

@ -104,20 +104,19 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do
end
context 'when the status has not been explicitly edited and features a poll' do
let(:account) { Fabricate(:account, domain: 'example.com') }
let(:account) { Fabricate(:account, domain: 'example.com') }
let!(:expiration) { 10.days.from_now.utc }
let!(:status) do
Fabricate(:status,
text: 'Hello world',
account: account,
poll_attributes: {
options: %w(Foo Bar),
account: account,
multiple: false,
hide_totals: false,
expires_at: expiration
}
)
text: 'Hello world',
account: account,
poll_attributes: {
options: %w(Foo Bar),
account: account,
multiple: false,
hide_totals: false,
expires_at: expiration
})
end
let(:payload) do
@ -156,20 +155,19 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do
end
context 'when the status changes a poll despite being not explicitly marked as updated' do
let(:account) { Fabricate(:account, domain: 'example.com') }
let(:account) { Fabricate(:account, domain: 'example.com') }
let!(:expiration) { 10.days.from_now.utc }
let!(:status) do
Fabricate(:status,
text: 'Hello world',
account: account,
poll_attributes: {
options: %w(Foo Bar),
account: account,
multiple: false,
hide_totals: false,
expires_at: expiration
}
)
text: 'Hello world',
account: account,
poll_attributes: {
options: %w(Foo Bar),
account: account,
multiple: false,
hide_totals: false,
expires_at: expiration
})
end
let(:payload) do

View file

@ -32,6 +32,5 @@ RSpec.describe BootstrapTimelineService, type: :service do
expect(service).to_not have_received(:call)
end
end
end
end

View file

@ -151,7 +151,6 @@ describe FetchOEmbedService, type: :service do
expect(subject.format).to eq :json
end
end
end
context 'when endpoint is cached' do

View file

@ -178,7 +178,7 @@ RSpec.describe ImportService, type: :service do
context 'utf-8 encoded domains' do
subject { ImportService.new }
let!(:nare) { Fabricate(:account, username: 'nare', domain: 'թութ.հայ', locked: false, protocol: :activitypub, inbox_url: 'https://թութ.հայ/inbox') }
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
@ -189,7 +189,7 @@ RSpec.describe ImportService, type: :service do
let(:import) { Import.create(account: account, type: 'following', data: csv) }
it 'follows the listed account' do
expect(account.follow_requests.count).to eq 0
expect(account.follow_requests.count).to eq 0
subject.call(import)
expect(account.follow_requests.count).to eq 1
end

View file

@ -7,7 +7,7 @@ RSpec.describe RemoveFromFollowersService, type: :service do
describe 'local' do
let(:sender) { Fabricate(:account, username: 'alice') }
before do
Follow.create(account: sender, target_account: bob)
subject.call(bob, sender)

View file

@ -37,29 +37,29 @@ RSpec.describe RemoveStatusService, type: :service do
it 'sends Delete activity to followers' do
subject.call(@status)
expect(a_request(:post, 'http://example.com/inbox').with(
body: hash_including({
'type' => 'Delete',
'object' => {
'type' => 'Tombstone',
'id' => ActivityPub::TagManager.instance.uri_for(@status),
'atomUri' => OStatus::TagManager.instance.uri_for(@status),
},
})
)).to have_been_made.once
body: hash_including({
'type' => 'Delete',
'object' => {
'type' => 'Tombstone',
'id' => ActivityPub::TagManager.instance.uri_for(@status),
'atomUri' => OStatus::TagManager.instance.uri_for(@status),
},
})
)).to have_been_made.once
end
it 'sends Delete activity to rebloggers' do
subject.call(@status)
expect(a_request(:post, 'http://example2.com/inbox').with(
body: hash_including({
'type' => 'Delete',
'object' => {
'type' => 'Tombstone',
'id' => ActivityPub::TagManager.instance.uri_for(@status),
'atomUri' => OStatus::TagManager.instance.uri_for(@status),
},
})
)).to have_been_made.once
body: hash_including({
'type' => 'Delete',
'object' => {
'type' => 'Tombstone',
'id' => ActivityPub::TagManager.instance.uri_for(@status),
'atomUri' => OStatus::TagManager.instance.uri_for(@status),
},
})
)).to have_been_made.once
end
it 'remove status from notifications' do
@ -78,14 +78,14 @@ RSpec.describe RemoveStatusService, type: :service do
it 'sends Undo activity to followers' do
subject.call(@status)
expect(a_request(:post, 'http://example.com/inbox').with(
body: hash_including({
'type' => 'Undo',
'object' => hash_including({
'type' => 'Announce',
'object' => ActivityPub::TagManager.instance.uri_for(@original_status),
}),
})
)).to have_been_made.once
body: hash_including({
'type' => 'Undo',
'object' => hash_including({
'type' => 'Announce',
'object' => ActivityPub::TagManager.instance.uri_for(@original_status),
}),
})
)).to have_been_made.once
end
end
@ -98,14 +98,14 @@ RSpec.describe RemoveStatusService, type: :service do
it 'sends Undo activity to followers' do
subject.call(@status)
expect(a_request(:post, 'http://example.com/inbox').with(
body: hash_including({
'type' => 'Undo',
'object' => hash_including({
'type' => 'Announce',
'object' => ActivityPub::TagManager.instance.uri_for(@original_status),
}),
})
)).to have_been_made.once
body: hash_including({
'type' => 'Undo',
'object' => hash_including({
'type' => 'Announce',
'object' => ActivityPub::TagManager.instance.uri_for(@original_status),
}),
})
)).to have_been_made.once
end
end
end

View file

@ -190,7 +190,7 @@ RSpec.describe ResolveAccountService, type: :service do
context 'with an already-known acct: URI changing ActivityPub id' do
let!(:old_account) { Fabricate(:account, username: 'foo', domain: 'ap.example.com', uri: 'https://old.example.com/users/foo', last_webfingered_at: nil) }
let!(:status) { Fabricate(:status, account: old_account, text: 'foo') }
let!(:status) { Fabricate(:status, account: old_account, text: 'foo') }
it 'returns new remote account' do
account = subject.call('foo@ap.example.com')

View file

@ -133,7 +133,7 @@ describe ResolveURLService, type: :service do
let!(:status) { Fabricate(:status, account: poster, visibility: :public) }
let(:url) { 'https://link.to/foobar' }
let(:status_url) { ActivityPub::TagManager.instance.url_for(status) }
let(:uri) { ActivityPub::TagManager.instance.uri_for(status) }
let(:uri) { ActivityPub::TagManager.instance.uri_for(status) }
before do
stub_request(:get, url).to_return(status: 302, headers: { 'Location' => status_url })

View file

@ -111,7 +111,7 @@ RSpec.describe UpdateStatusService, type: :service do
context 'when poll changes' do
let(:account) { Fabricate(:account) }
let!(:status) { Fabricate(:status, text: 'Foo', account: account, poll_attributes: {options: %w(Foo Bar), account: account, multiple: false, hide_totals: false, expires_at: 7.days.from_now }) }
let!(:status) { Fabricate(:status, text: 'Foo', account: account, poll_attributes: { options: %w(Foo Bar), account: account, multiple: false, hide_totals: false, expires_at: 7.days.from_now }) }
let!(:poll) { status.poll }
let!(:voter) { Fabricate(:account) }

View file

@ -20,8 +20,8 @@ module ProfileStories
end
def with_alice_as_local_user
@alice_bio = '@alice and @bob are fictional characters commonly used as'\
'placeholder names in #cryptology, as well as #science and'\
@alice_bio = '@alice and @bob are fictional characters commonly used as' \
'placeholder names in #cryptology, as well as #science and' \
'engineering 📖 literature. Not affiliated with @pepe.'
@alice = Fabricate(

View file

@ -15,7 +15,7 @@ describe NoteLengthValidator do
end
it 'counts URLs as 23 characters flat' do
text = ('a' * 476) + " http://#{'b' * 30}.com/example"
text = ('a' * 476) + " http://#{'b' * 30}.com/example"
account = double(note: text, errors: double(add: nil))
subject.validate_each(account, 'note', text)
@ -23,7 +23,7 @@ describe NoteLengthValidator do
end
it 'does not count non-autolinkable URLs as 23 characters flat' do
text = ('a' * 476) + "http://#{'b' * 30}.com/example"
text = ('a' * 476) + "http://#{'b' * 30}.com/example"
account = double(note: text, errors: double(add: nil))
subject.validate_each(account, 'note', text)

View file

@ -11,10 +11,10 @@ RSpec.describe UnreservedUsernameValidator, type: :validator do
let(:validator) { described_class.new }
let(:account) { double(username: username, errors: errors) }
let(:errors ) { double(add: nil) }
let(:errors) { double(add: nil) }
context '@username.blank?' do
let(:username) { nil }
let(:username) { nil }
it 'not calls errors.add' do
expect(errors).not_to have_received(:add).with(:username, any_args)
@ -22,7 +22,7 @@ RSpec.describe UnreservedUsernameValidator, type: :validator do
end
context '!@username.blank?' do
let(:username) { 'f' }
let(:username) { 'f' }
context 'reserved_username?' do
let(:reserved_username) { true }

View file

@ -34,7 +34,7 @@ describe ActivityPub::DistributionWorker do
end
context 'with direct status' do
let(:mentioned_account) { Fabricate(:account, protocol: :activitypub, inbox_url: 'https://foo.bar/inbox')}
let(:mentioned_account) { Fabricate(:account, protocol: :activitypub, inbox_url: 'https://foo.bar/inbox') }
before do
status.update(visibility: :direct)

View file

@ -3,7 +3,7 @@ require 'rails_helper'
describe ActivityPub::MoveDistributionWorker do
subject { described_class.new }
let(:migration) { Fabricate(:account_migration) }
let(:migration) { Fabricate(:account_migration) }
let(:follower) { Fabricate(:account, protocol: :activitypub, inbox_url: 'http://example.com') }
let(:blocker) { Fabricate(:account, protocol: :activitypub, inbox_url: 'http://example2.com') }
@ -15,9 +15,9 @@ describe ActivityPub::MoveDistributionWorker do
it 'delivers to followers and known blockers' do
expect_push_bulk_to_match(ActivityPub::DeliveryWorker, [
[kind_of(String), migration.account.id, 'http://example.com'],
[kind_of(String), migration.account.id, 'http://example2.com']
])
[kind_of(String), migration.account.id, 'http://example.com'],
[kind_of(String), migration.account.id, 'http://example2.com']
])
subject.perform(migration.id)
end
end

View file

@ -82,7 +82,7 @@ describe Scheduler::AccountsStatusesCleanupScheduler do
describe '#get_budget' do
context 'on a single thread' do
let(:process_set_stub) { [ { 'concurrency' => 1, 'queues' => ['push', 'default'] } ] }
let(:process_set_stub) { [{ 'concurrency' => 1, 'queues' => ['push', 'default'] }] }
it 'returns a low value' do
expect(subject.compute_budget).to be < 10