Files
gtav-src/tools_ng/lib/pipeline/test/util/email_test.rb
T
2025-09-29 00:52:08 +02:00

93 lines
3.3 KiB
Ruby
Executable File

#
# File:: email_test.rb
# Description:: Email utility class unit tests.
#
# Author:: David Muir <dhm@davidmuir.co.uk>
# Date:: 13 September 2008
#
#----------------------------------------------------------------------------
# Uses
#----------------------------------------------------------------------------
require 'pipeline/util/email'
require 'test/unit'
#----------------------------------------------------------------------------
# Code
#----------------------------------------------------------------------------
module Pipeline
module Util
module Test
#
# == Description
# Email class methods test cases.
#
class EmailTest < ::Test::Unit::TestCase
EMAIL_OPTIONS = {
:server => 'rsgediexg1.rockstar.t2.corp',
:port => 25,
:username => nil,
:password => nil,
:domain => 'rockstarnorth.com',
:auth_mode => :plain
}
def test_instance_methods( )
@email = Util::Email.new( EMAIL_OPTIONS )
@email.send( { :address => 'test@rockstarnorth.com', :alias => 'Email Test' },
{ :address => 'david.muir@rockstarnorth.com', :alias => 'David Muir' },
'Testing Email',
"Testing body plain text (#{Time.now})" )
@email.send( { :address => 'test@rockstarnorth.com', :alias => 'Email Test' },
{ :address => 'david.muir@rockstarnorth.com', :alias => 'David Muir' },
'Testing Email',
"<html><body><h3>Heading</h3><p>The time: #{Time.now}</p></body></html>",
'text/html' )
@email.send( { :address => 'test@rockstarnorth.com', :alias => 'Email Test' },
[ { :address => 'david.muir@rockstarnorth.com', :alias => 'David Muir' },
{ :address => 'derek.ward@rockstarnorth.com', :alias => 'Derek Ward' } ],
'Testing Multiple Recipients Email',
"<html><body><h3>Heading</h3><p>The time: #{Time.now}</p></body></html>",
'text/html' )
# Multipart test
filename = 'x:/pipedev/src/dev/GTA tools/helpdocs/relnotes/html/rslogo.jpg'
if ( File::exists?( filename ) and File::readable?( filename ) ) then
html_part = Util::EmailFactory::create_html_mail( "<html><body><h3>HTML Email Test</h3><p>The time: #{Time.now}</p></body></html>" )
text_part = Util::EmailFactory::create_text_mail( "The time: #{Time.now}" )
attachment = Util::EmailFactory::create_attachment_from_file( filename )
parent = TMail::Mail.new()
parent.mime_version = '1.0'
parent.set_content_type( 'multipart', 'alternative', { 'boundary' => TMail::new_boundary() } )
parent.parts << html_part
parent.parts << text_part
@email.send_multipart( { :address => 'test@rockstarnorth.com', :alias => 'Email Test' },
{ :address => 'david.muir@rockstarnorth.com', :alias => 'David Muir' },
'Testing Email',
[ parent, attachment ] )
@email.send( { :address => 'test@rockstarnorth.com', :alias => 'Email Test' },
[ { :address => 'david.muir@rockstarnorth.com', :alias => 'David Muir' },
{ :address => 'derek.ward@rockstarnorth.com', :alias => 'Derek Ward' } ],
'Testing Multiple Recipients Multipart Email',
[ parent, attachment ] )
end
end
def test_class_methods( )
end
end
end # Test module
end # Util module
end # Pipeline module
# email_test.rb