mirror of
https://github.com/TracksApp/tracks.git
synced 2026-01-17 06:35:28 +01:00
Isolate SITE_CONFIG in tests using minitest-stub-const
This commit is contained in:
parent
3de582f436
commit
58e2b82315
6 changed files with 130 additions and 96 deletions
|
|
@ -1,6 +1,8 @@
|
|||
require 'test_helper'
|
||||
require 'support/stub_site_config_helper'
|
||||
|
||||
class IntegrationsControllerTest < ActionController::TestCase
|
||||
include StubSiteConfigHelper
|
||||
|
||||
def setup
|
||||
end
|
||||
|
|
@ -12,58 +14,64 @@ class IntegrationsControllerTest < ActionController::TestCase
|
|||
end
|
||||
|
||||
def test_cloudmailin_integration_success
|
||||
SITE_CONFIG['cloudmailin'] = "123456789"
|
||||
SITE_CONFIG['email_dispatch'] = 'from'
|
||||
post :cloudmailin, {
|
||||
"html"=>"",
|
||||
"plain"=>"asdasd",
|
||||
"x_to_header"=>"[\"81496ecea21032d35a7a@cloudmailin.net\"]",
|
||||
"disposable"=>"",
|
||||
"from"=>"5555555555@tmomail.net",
|
||||
"signature"=>"e85e908fb893394762047c21e54ce248",
|
||||
"to"=>"<123123@cloudmailin.net>",
|
||||
"subject"=>"asd",
|
||||
"x_cc_header"=>"",
|
||||
"message"=>"Received: from VMBX103.ihostexchange.net ([192.168.3.3]) by\r\n HUB103.ihostexchange.net ([66.46.182.53]) with mapi; Wed, 5 Oct 2011 17:12:44\r\n -0400\r\nFrom: SMS User <5555555555@tmomail.net>\r\nTo: Tracks <123123@cloudmailin.net>\r\nDate: Wed, 5 Oct 2011 17:12:43 -0400\r\nSubject: asd\r\nThread-Topic: asd\r\nThread-Index: AcyDo4aig2wghvcsTAOkleWqi4t/FQ==\r\nMessage-ID: <7D7CB176-7559-4997-A301-8DF9726264C7@tmomail.net>\r\nAccept-Language: de-DE, en-US\r\nContent-Language: en-US\r\nX-MS-Has-Attach:\r\nX-MS-TNEF-Correlator:\r\nacceptlanguage: de-DE, en-US\r\nContent-Type: text/plain; charset=\"us-ascii\"\r\nContent-Transfer-Encoding: quoted-printable\r\nMIME-Version: 1.0\r\n\r\nasdasd\r\n"
|
||||
}
|
||||
|
||||
assert_response :success
|
||||
stub_site_config do
|
||||
SITE_CONFIG['cloudmailin'] = "123456789"
|
||||
SITE_CONFIG['email_dispatch'] = 'from'
|
||||
post :cloudmailin, {
|
||||
"html"=>"",
|
||||
"plain"=>"asdasd",
|
||||
"x_to_header"=>"[\"81496ecea21032d35a7a@cloudmailin.net\"]",
|
||||
"disposable"=>"",
|
||||
"from"=>"5555555555@tmomail.net",
|
||||
"signature"=>"e85e908fb893394762047c21e54ce248",
|
||||
"to"=>"<123123@cloudmailin.net>",
|
||||
"subject"=>"asd",
|
||||
"x_cc_header"=>"",
|
||||
"message"=>"Received: from VMBX103.ihostexchange.net ([192.168.3.3]) by\r\n HUB103.ihostexchange.net ([66.46.182.53]) with mapi; Wed, 5 Oct 2011 17:12:44\r\n -0400\r\nFrom: SMS User <5555555555@tmomail.net>\r\nTo: Tracks <123123@cloudmailin.net>\r\nDate: Wed, 5 Oct 2011 17:12:43 -0400\r\nSubject: asd\r\nThread-Topic: asd\r\nThread-Index: AcyDo4aig2wghvcsTAOkleWqi4t/FQ==\r\nMessage-ID: <7D7CB176-7559-4997-A301-8DF9726264C7@tmomail.net>\r\nAccept-Language: de-DE, en-US\r\nContent-Language: en-US\r\nX-MS-Has-Attach:\r\nX-MS-TNEF-Correlator:\r\nacceptlanguage: de-DE, en-US\r\nContent-Type: text/plain; charset=\"us-ascii\"\r\nContent-Transfer-Encoding: quoted-printable\r\nMIME-Version: 1.0\r\n\r\nasdasd\r\n"
|
||||
}
|
||||
|
||||
assert_response :success
|
||||
end
|
||||
end
|
||||
|
||||
def test_cloudmailin_integration_invalid_signature
|
||||
SITE_CONFIG['cloudmailin'] = "12345678901234567890"
|
||||
post :cloudmailin, {
|
||||
"html"=>"",
|
||||
"plain"=>"asdasd",
|
||||
"x_to_header"=>"[\"81496ecea21032d35a7a@cloudmailin.net\"]",
|
||||
"disposable"=>"",
|
||||
"from"=>"5555555555@tmomail.net",
|
||||
"signature"=>"e85e908fb893394762047c21e54ce248",
|
||||
"to"=>"<123123@cloudmailin.net>",
|
||||
"subject"=>"asd",
|
||||
"x_cc_header"=>"",
|
||||
"message"=>"Received: from VMBX103.ihostexchange.net ([192.168.3.3]) by\r\n HUB103.ihostexchange.net ([66.46.182.53]) with mapi; Wed, 5 Oct 2011 17:12:44\r\n -0400\r\nFrom: SMS User <5555555555@tmomail.net>\r\nTo: Tracks <123123@cloudmailin.net>\r\nDate: Wed, 5 Oct 2011 17:12:43 -0400\r\nSubject: asd\r\nThread-Topic: asd\r\nThread-Index: AcyDo4aig2wghvcsTAOkleWqi4t/FQ==\r\nMessage-ID: <7D7CB176-7559-4997-A301-8DF9726264C7@tmomail.net>\r\nAccept-Language: de-DE, en-US\r\nContent-Language: en-US\r\nX-MS-Has-Attach:\r\nX-MS-TNEF-Correlator:\r\nacceptlanguage: de-DE, en-US\r\nContent-Type: text/plain; charset=\"us-ascii\"\r\nContent-Transfer-Encoding: quoted-printable\r\nMIME-Version: 1.0\r\n\r\nasdasd\r\n"
|
||||
}
|
||||
|
||||
assert_response 403
|
||||
stub_site_config do
|
||||
SITE_CONFIG['cloudmailin'] = "12345678901234567890"
|
||||
post :cloudmailin, {
|
||||
"html"=>"",
|
||||
"plain"=>"asdasd",
|
||||
"x_to_header"=>"[\"81496ecea21032d35a7a@cloudmailin.net\"]",
|
||||
"disposable"=>"",
|
||||
"from"=>"5555555555@tmomail.net",
|
||||
"signature"=>"e85e908fb893394762047c21e54ce248",
|
||||
"to"=>"<123123@cloudmailin.net>",
|
||||
"subject"=>"asd",
|
||||
"x_cc_header"=>"",
|
||||
"message"=>"Received: from VMBX103.ihostexchange.net ([192.168.3.3]) by\r\n HUB103.ihostexchange.net ([66.46.182.53]) with mapi; Wed, 5 Oct 2011 17:12:44\r\n -0400\r\nFrom: SMS User <5555555555@tmomail.net>\r\nTo: Tracks <123123@cloudmailin.net>\r\nDate: Wed, 5 Oct 2011 17:12:43 -0400\r\nSubject: asd\r\nThread-Topic: asd\r\nThread-Index: AcyDo4aig2wghvcsTAOkleWqi4t/FQ==\r\nMessage-ID: <7D7CB176-7559-4997-A301-8DF9726264C7@tmomail.net>\r\nAccept-Language: de-DE, en-US\r\nContent-Language: en-US\r\nX-MS-Has-Attach:\r\nX-MS-TNEF-Correlator:\r\nacceptlanguage: de-DE, en-US\r\nContent-Type: text/plain; charset=\"us-ascii\"\r\nContent-Transfer-Encoding: quoted-printable\r\nMIME-Version: 1.0\r\n\r\nasdasd\r\n"
|
||||
}
|
||||
|
||||
assert_response 403
|
||||
end
|
||||
end
|
||||
|
||||
def test_cloudmailin_integration_unknown_address
|
||||
SITE_CONFIG['cloudmailin'] = "123456789"
|
||||
post :cloudmailin, {
|
||||
"html"=>"",
|
||||
"plain"=>"asdasd",
|
||||
"x_to_header"=>"[\"81496ecea21032d35a7a@cloudmailin.net\"]",
|
||||
"disposable"=>"",
|
||||
"from"=>"444444444444@tmomail.net",
|
||||
"signature"=>"6d2df0e807bfa9b77d24c31dce6d4515",
|
||||
"to"=>"<123123@cloudmailin.net>",
|
||||
"subject"=>"asd",
|
||||
"x_cc_header"=>"",
|
||||
"message"=>"Received: from VMBX103.ihostexchange.net ([192.168.3.3]) by\r\n HUB103.ihostexchange.net ([66.46.182.53]) with mapi; Wed, 5 Oct 2011 17:12:44\r\n -0400\r\nFrom: SMS User <444444444444@tmomail.net>\r\nTo: Tracks <123123@cloudmailin.net>\r\nDate: Wed, 5 Oct 2011 17:12:43 -0400\r\nSubject: asd\r\nThread-Topic: asd\r\nThread-Index: AcyDo4aig2wghvcsTAOkleWqi4t/FQ==\r\nMessage-ID: <7D7CB176-7559-4997-A301-8DF9726264C7@tmomail.net>\r\nAccept-Language: de-DE, en-US\r\nContent-Language: en-US\r\nX-MS-Has-Attach:\r\nX-MS-TNEF-Correlator:\r\nacceptlanguage: de-DE, en-US\r\nContent-Type: text/plain; charset=\"us-ascii\"\r\nContent-Transfer-Encoding: quoted-printable\r\nMIME-Version: 1.0\r\n\r\nasdasd\r\n"
|
||||
}
|
||||
|
||||
assert_response 404
|
||||
stub_site_config do
|
||||
SITE_CONFIG['cloudmailin'] = "123456789"
|
||||
post :cloudmailin, {
|
||||
"html"=>"",
|
||||
"plain"=>"asdasd",
|
||||
"x_to_header"=>"[\"81496ecea21032d35a7a@cloudmailin.net\"]",
|
||||
"disposable"=>"",
|
||||
"from"=>"444444444444@tmomail.net",
|
||||
"signature"=>"6d2df0e807bfa9b77d24c31dce6d4515",
|
||||
"to"=>"<123123@cloudmailin.net>",
|
||||
"subject"=>"asd",
|
||||
"x_cc_header"=>"",
|
||||
"message"=>"Received: from VMBX103.ihostexchange.net ([192.168.3.3]) by\r\n HUB103.ihostexchange.net ([66.46.182.53]) with mapi; Wed, 5 Oct 2011 17:12:44\r\n -0400\r\nFrom: SMS User <444444444444@tmomail.net>\r\nTo: Tracks <123123@cloudmailin.net>\r\nDate: Wed, 5 Oct 2011 17:12:43 -0400\r\nSubject: asd\r\nThread-Topic: asd\r\nThread-Index: AcyDo4aig2wghvcsTAOkleWqi4t/FQ==\r\nMessage-ID: <7D7CB176-7559-4997-A301-8DF9726264C7@tmomail.net>\r\nAccept-Language: de-DE, en-US\r\nContent-Language: en-US\r\nX-MS-Has-Attach:\r\nX-MS-TNEF-Correlator:\r\nacceptlanguage: de-DE, en-US\r\nContent-Type: text/plain; charset=\"us-ascii\"\r\nContent-Transfer-Encoding: quoted-printable\r\nMIME-Version: 1.0\r\n\r\nasdasd\r\n"
|
||||
}
|
||||
|
||||
assert_response 404
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
require 'test_helper'
|
||||
require 'support/stub_site_config_helper'
|
||||
|
||||
class MailgunControllerTest < ActionController::TestCase
|
||||
include StubSiteConfigHelper
|
||||
|
||||
def setup
|
||||
@user = users(:sms_user)
|
||||
|
|
@ -12,55 +14,61 @@ class MailgunControllerTest < ActionController::TestCase
|
|||
end
|
||||
|
||||
def test_mailgun_signature_verifies
|
||||
SITE_CONFIG['mailgun_api_key'] = "123456789"
|
||||
SITE_CONFIG['email_dispatch'] = 'from'
|
||||
stub_site_config do
|
||||
SITE_CONFIG['mailgun_api_key'] = "123456789"
|
||||
SITE_CONFIG['email_dispatch'] = 'from'
|
||||
|
||||
post :mailgun, {
|
||||
"timestamp" => "1379539674",
|
||||
"token" => "5km6cwo0e3bfvg78hw4s69znro09xhk1h8u6-s633yasc8hcr5",
|
||||
"signature" => "da92708b8f2c9dcd7ecdc91d52946c01802833e6683e46fc00b3f081920dd5b1",
|
||||
"body-mime" => load_message('mailgun_message1.txt')
|
||||
}
|
||||
post :mailgun, {
|
||||
"timestamp" => "1379539674",
|
||||
"token" => "5km6cwo0e3bfvg78hw4s69znro09xhk1h8u6-s633yasc8hcr5",
|
||||
"signature" => "da92708b8f2c9dcd7ecdc91d52946c01802833e6683e46fc00b3f081920dd5b1",
|
||||
"body-mime" => load_message('mailgun_message1.txt')
|
||||
}
|
||||
|
||||
assert_response :success
|
||||
assert_response :success
|
||||
end
|
||||
end
|
||||
|
||||
def test_mailgun_creates_todo_with_mailmap
|
||||
SITE_CONFIG['mailgun_api_key'] = "123456789"
|
||||
SITE_CONFIG['email_dispatch'] = 'to'
|
||||
SITE_CONFIG['mailmap'] = {
|
||||
'5555555555@tmomail.net' => ['incoming@othermail.com', 'notused@foo.org']
|
||||
}
|
||||
stub_site_config do
|
||||
SITE_CONFIG['mailgun_api_key'] = "123456789"
|
||||
SITE_CONFIG['email_dispatch'] = 'to'
|
||||
SITE_CONFIG['mailmap'] = {
|
||||
'5555555555@tmomail.net' => ['incoming@othermail.com', 'notused@foo.org']
|
||||
}
|
||||
|
||||
todo_count = Todo.count
|
||||
post :mailgun, {
|
||||
"timestamp" => "1379539674",
|
||||
"token" => "5km6cwo0e3bfvg78hw4s69znro09xhk1h8u6-s633yasc8hcr5",
|
||||
"signature" => "da92708b8f2c9dcd7ecdc91d52946c01802833e6683e46fc00b3f081920dd5b1",
|
||||
"body-mime" => load_message('mailgun_message2.txt')
|
||||
}
|
||||
todo_count = Todo.count
|
||||
post :mailgun, {
|
||||
"timestamp" => "1379539674",
|
||||
"token" => "5km6cwo0e3bfvg78hw4s69znro09xhk1h8u6-s633yasc8hcr5",
|
||||
"signature" => "da92708b8f2c9dcd7ecdc91d52946c01802833e6683e46fc00b3f081920dd5b1",
|
||||
"body-mime" => load_message('mailgun_message2.txt')
|
||||
}
|
||||
|
||||
assert_response :success
|
||||
assert_response :success
|
||||
|
||||
assert_equal(todo_count+1, Todo.count)
|
||||
message_todo = Todo.where(:description => "test").first
|
||||
assert_not_nil(message_todo)
|
||||
assert_equal(@inbox, message_todo.context)
|
||||
assert_equal(@user, message_todo.user)
|
||||
assert_equal(todo_count+1, Todo.count)
|
||||
message_todo = Todo.where(:description => "test").first
|
||||
assert_not_nil(message_todo)
|
||||
assert_equal(@inbox, message_todo.context)
|
||||
assert_equal(@user, message_todo.user)
|
||||
end
|
||||
end
|
||||
|
||||
def test_mailgun_signature_fails
|
||||
SITE_CONFIG['mailgun_api_key'] = "invalidkey"
|
||||
SITE_CONFIG['email_dispatch'] = 'from'
|
||||
stub_site_config do
|
||||
SITE_CONFIG['mailgun_api_key'] = "invalidkey"
|
||||
SITE_CONFIG['email_dispatch'] = 'from'
|
||||
|
||||
post :mailgun, {
|
||||
"timestamp" => "1379539674",
|
||||
"token" => "5km6cwo0e3bfvg78hw4s69znro09xhk1h8u6-s633yasc8hcr5",
|
||||
"signature" => "da92708b8f2c9dcd7ecdc91d52946c01802833e6683e46fc00b3f081920dd5b1",
|
||||
"body-mime" => load_message('mailgun_message1.txt')
|
||||
}
|
||||
post :mailgun, {
|
||||
"timestamp" => "1379539674",
|
||||
"token" => "5km6cwo0e3bfvg78hw4s69znro09xhk1h8u6-s633yasc8hcr5",
|
||||
"signature" => "da92708b8f2c9dcd7ecdc91d52946c01802833e6683e46fc00b3f081920dd5b1",
|
||||
"body-mime" => load_message('mailgun_message1.txt')
|
||||
}
|
||||
|
||||
assert_response 406
|
||||
assert_response 406
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue