mirror of
https://github.com/discourse/discourse.git
synced 2024-12-15 18:34:24 +08:00
48 lines
1.3 KiB
Ruby
48 lines
1.3 KiB
Ruby
require 'rails_helper'
|
|
require_dependency 'jobs/regular/process_post'
|
|
|
|
describe Jobs::PollMailbox do
|
|
|
|
let(:poller) { Jobs::PollMailbox.new }
|
|
|
|
describe ".execute" do
|
|
|
|
it "does no polling if pop3_polling_enabled is false" do
|
|
SiteSetting.expects(:pop3_polling_enabled).returns(false)
|
|
poller.expects(:poll_pop3).never
|
|
poller.execute({})
|
|
end
|
|
|
|
it "polls when pop3_polling_enabled is true" do
|
|
SiteSetting.expects(:pop3_polling_enabled).returns(true)
|
|
poller.expects(:poll_pop3).once
|
|
poller.execute({})
|
|
end
|
|
|
|
end
|
|
|
|
describe ".poll_pop3" do
|
|
|
|
it "logs an error on pop authentication error" do
|
|
Net::POP3.any_instance.expects(:start).raises(Net::POPAuthenticationError.new)
|
|
Discourse.expects(:handle_job_exception)
|
|
poller.poll_pop3
|
|
end
|
|
|
|
it "calls enable_ssl when the setting is enabled" do
|
|
SiteSetting.pop3_polling_ssl = true
|
|
Net::POP3.any_instance.stubs(:start)
|
|
Net::POP3.any_instance.expects(:enable_ssl)
|
|
poller.poll_pop3
|
|
end
|
|
|
|
it "does not call enable_ssl when the setting is disabled" do
|
|
SiteSetting.pop3_polling_ssl = false
|
|
Net::POP3.any_instance.stubs(:start)
|
|
Net::POP3.any_instance.expects(:enable_ssl).never
|
|
poller.poll_pop3
|
|
end
|
|
end
|
|
|
|
end
|