Change e-mail domain blocks to block IPs dynamically (#17635)
* Change e-mail domain blocks to block IPs dynamically * Update app/workers/scheduler/email_domain_block_refresh_scheduler.rb Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh> * Update app/workers/scheduler/email_domain_block_refresh_scheduler.rb Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh> Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
This commit is contained in:
parent
91cc8d1e63
commit
a29a982eaa
20 changed files with 322 additions and 157 deletions
|
@ -9,14 +9,29 @@ RSpec.describe EmailDomainBlock, type: :model do
|
|||
end
|
||||
|
||||
describe 'block?' do
|
||||
it 'returns true if the domain is registed' do
|
||||
Fabricate(:email_domain_block, domain: 'example.com')
|
||||
expect(EmailDomainBlock.block?('nyarn@example.com')).to eq true
|
||||
let(:input) { nil }
|
||||
|
||||
context 'given an e-mail address' do
|
||||
let(:input) { 'nyarn@example.com' }
|
||||
|
||||
it 'returns true if the domain is blocked' do
|
||||
Fabricate(:email_domain_block, domain: 'example.com')
|
||||
expect(EmailDomainBlock.block?(input)).to be true
|
||||
end
|
||||
|
||||
it 'returns false if the domain is not blocked' do
|
||||
Fabricate(:email_domain_block, domain: 'other-example.com')
|
||||
expect(EmailDomainBlock.block?(input)).to be false
|
||||
end
|
||||
end
|
||||
|
||||
it 'returns true if the domain is not registed' do
|
||||
Fabricate(:email_domain_block, domain: 'example.com')
|
||||
expect(EmailDomainBlock.block?('nyarn@example.net')).to eq false
|
||||
context 'given an array of domains' do
|
||||
let(:input) { %w(foo.com mail.foo.com) }
|
||||
|
||||
it 'returns true if the domain is blocked' do
|
||||
Fabricate(:email_domain_block, domain: 'mail.foo.com')
|
||||
expect(EmailDomainBlock.block?(input)).to be true
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue