module ActionMailboxAmazonIngress::RSpec
Public Instance Methods
amazon_ingress_deliver_email(options = {})
click to toggle source
# File lib/action_mailbox_amazon_ingress/rspec.rb, line 16 def amazon_ingress_deliver_email(options = {}) email = Email.new(**options) stub_aws_sns_message_verifier(email) post email.url, params: email.params.to_json, headers: email.headers end
amazon_ingress_deliver_subscription_confirmation(options = {})
click to toggle source
# File lib/action_mailbox_amazon_ingress/rspec.rb, line 8 def amazon_ingress_deliver_subscription_confirmation(options = {}) subscription_confirmation = SubscriptionConfirmation.new(**options) stub_aws_sns_message_verifier(subscription_confirmation) stub_aws_sns_subscription_request post subscription_confirmation.url, params: subscription_confirmation.params.to_json, headers: subscription_confirmation.headers end
Private Instance Methods
message_verifier(subscription_confirmation)
click to toggle source
# File lib/action_mailbox_amazon_ingress/rspec.rb, line 25 def message_verifier(subscription_confirmation) instance_double(Aws::SNS::MessageVerifier, authentic?: subscription_confirmation.authentic?) end
stub_aws_sns_message_verifier(notification)
click to toggle source
# File lib/action_mailbox_amazon_ingress/rspec.rb, line 29 def stub_aws_sns_message_verifier(notification) allow(Aws::SNS::MessageVerifier).to receive(:new) { message_verifier(notification) } end
stub_aws_sns_subscription_request()
click to toggle source
# File lib/action_mailbox_amazon_ingress/rspec.rb, line 33 def stub_aws_sns_subscription_request allow(Net::HTTP).to receive(:get_response).and_call_original allow(Net::HTTP) .to receive(:get_response) .with(URI('http://example.com/subscribe')) { double(code: '200') } end