Guest User

Untitled

a guest
Dec 10th, 2017
336
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.63 KB | None | 0 0
  1. ## TEST
  2.  
  3. require 'test_helper'
  4.  
  5. class IncomingMailsControllerTest < ActionController::TestCase
  6.  
  7. MESSAGE = "Received: by eye13 with SMTP id 13so2098559eye.3
  8. for <15982f12290be92775e6@cloudmailin.net>; Tue, 10 May 2011 10:36:42 -0700 (PDT)
  9. Received: by 10.14.127.68 with SMTP id c44mr3781562eei.68.1305049002556;
  10. Tue, 10 May 2011 10:36:42 -0700 (PDT)
  11. Return-Path: <email@alexandersandstrom.se>
  12. Received: from [192.168.1.4] (c213-89-138-211.bredband.comhem.se [213.89.138.211])
  13. by mx.google.com with ESMTPS id s1sm4472878ees.3.2011.05.10.10.36.40
  14. (version=TLSv1/SSLv3 cipher=OTHER);
  15. Tue, 10 May 2011 10:36:41 -0700 (PDT)
  16. Sender: =?UTF-8?Q?Alexander_Sandstr=C3=B6m?= <alexander.sandstrom@alexandersandstrom.se>
  17. From: =?iso-8859-1?Q?Alexander_Sandstr=F6m?= <email@alexandersandstrom.se>
  18. Content-Type: text/plain; charset=us-ascii
  19. Content-Transfer-Encoding: 7bit
  20. Subject: Herro
  21. Date: Tue, 10 May 2011 19:36:39 +0200
  22. Message-Id: <D50A1FAC-E1B4-4CAA-A72E-EF10BFA15BC2@alexandersandstrom.se>
  23. To: 15982f12290be92775e6@cloudmailin.net
  24. Mime-Version: 1.0 (Apple Message framework v1084)
  25. X-Mailer: Apple Mail (2.1084)
  26.  
  27. Herrrroooo!!
  28.  
  29.  
  30. Alexander"
  31.  
  32.  
  33. PLAIN = "Herrrroooo!!
  34.  
  35.  
  36. Alexander"
  37.  
  38. test "a simple mail get verified" do
  39. params = {
  40. "disposable" => "",
  41. "from" => "email@alexandersandstrom.se",
  42. "html" => "",
  43. "message" => MESSAGE,
  44. "plain" => PLAIN,
  45. "signature" => "4f16954e1f093e533f2460adcf837ca6",
  46. "subject" => "Herro",
  47. "to" => "<15982f12290be92775e6@cloudmailin.net>",
  48. "x_cc_header" => "",
  49. "x_sender" => "alexander.sandstrom@alexandersandstrom.se",
  50. "x_to_header" => ["15982f12290be92775e6@cloudmailin.net"],
  51. }
  52. post :create, params
  53. assert_response :success, response.body
  54. end
  55.  
  56. end
  57.  
  58.  
  59. ## TEST RESULT
  60. test_a_simple_mail_get_verified(IncomingMailsControllerTest) [/test/functional/incoming_mails_controller_test.rb:50]:
  61. Signature mismatch. Provided: 4f16954e1f093e533f2460adcf837ca6 Calculated: 205f9c368276ce012b212d27128f67f4.
  62. Expected response to be a <:success>, but was <403>
  63.  
  64.  
  65. ## VERIFICATION CODE
  66.  
  67. def verify_signature
  68. secret = '0051382ff7e83632fedc' # MOVE TO SETTINGS
  69. provided = request.request_parameters.delete(:signature)
  70. signature = Digest::MD5.hexdigest(request.request_parameters.sort.map{ |k, v| v }.join + secret)
  71. if provided != signature
  72. render :text => "Signature mismatch. Provided: #{provided} Calculated: #{signature}", :status => 403
  73. return false
  74. end
  75. end
Add Comment
Please, Sign In to add comment