verify_spec.rb 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. # Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
  2. require 'rails_helper'
  3. RSpec.describe EmailHelper::Verify, integration: true do
  4. describe '#email' do
  5. subject(:verify_result) { described_class.email(verify_params) }
  6. context 'when doing real tests' do
  7. let(:mailbox_user) { real_user_data.first }
  8. let(:mailbox_password) { real_user_data.last }
  9. shared_examples 'do real testing' do
  10. it { is_expected.to include(result: 'ok') }
  11. end
  12. context 'with zammad', required_envs: %w[EMAILHELPER_MAILBOX_1] do
  13. let(:real_user_data) { ENV['EMAILHELPER_MAILBOX_1'].split(':') }
  14. let(:verify_params) do
  15. {
  16. inbound: {
  17. adapter: 'imap',
  18. options: {
  19. host: 'mx2.zammad.com',
  20. port: 993,
  21. ssl: true,
  22. user: mailbox_user,
  23. password: mailbox_password,
  24. },
  25. },
  26. outbound: {
  27. adapter: 'smtp',
  28. options: {
  29. host: 'mx2.zammad.com',
  30. port: 587,
  31. user: mailbox_user,
  32. password: mailbox_password,
  33. },
  34. },
  35. sender: mailbox_user,
  36. }
  37. end
  38. include_examples 'do real testing'
  39. end
  40. context 'with gmail', required_envs: %w[EMAILHELPER_MAILBOX_2] do
  41. let(:real_user_data) { ENV['EMAILHELPER_MAILBOX_2'].split(':') }
  42. let(:verify_params) do
  43. {
  44. inbound: {
  45. adapter: 'pop3',
  46. options: {
  47. host: 'pop.gmail.com',
  48. port: 995,
  49. ssl: true,
  50. user: mailbox_user,
  51. password: mailbox_password,
  52. },
  53. },
  54. outbound: {
  55. adapter: 'smtp',
  56. options: {
  57. host: 'smtp.gmail.com',
  58. port: 587,
  59. start_tls: true,
  60. user: mailbox_user,
  61. password: mailbox_password,
  62. },
  63. },
  64. sender: mailbox_user,
  65. }
  66. end
  67. include_examples 'do real testing'
  68. end
  69. end
  70. end
  71. end