// NAnt - A .NET build tool
// Copyright (C) 2001-2002 Gerry Shaw
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// Jay Turpin (recipient2@sourceforge.net)
// Gerry Shaw (gerry_shaw@yahoo.com)
// this test or task is broken
#if false
using System;
using System.Collections.Specialized;
using System.IO;
using NUnit.Framework;
using NAnt.Core.Tasks;
namespace Tests.NAnt.Core.Tasks {
[TestFixture]
public class MailTaskTest {
string _from = "";
string _tolist = "";
string _cclist = "";
string _bcclist = "";
string _subject = "";
string _message = "";
string _mailhost = "";
string _files = "";
string _attachments = "";
string _emailAddress1 = "";
string _emailAddress2 = "";
StringCollection _fileList = new StringCollection();
string _baseDirectory = @"c:\Temp\MailTest";
[SetUp]
protected void SetUp() {
_emailAddress1 = "nAnt1@sourceforge.net";
_emailAddress2 = "nAnt2@sourceforge.net";
_from = "nAnt@sourceforge.net";
_mailhost="sourceforge.net";
_tolist = "";
_cclist = "";
_bcclist = "";
_subject = "";
_message = "";
_files = "";
_attachments = "";
// create test directory structure
Directory.CreateDirectory(_baseDirectory);
// add files
_fileList.Add(_baseDirectory + @"\mail1.txt");
_fileList.Add(_baseDirectory + @"\mail2.txt");
_fileList.Add(_baseDirectory + @"\mail3.txt");
// add some text to each file, just for fun ;)
foreach (string fileName in _fileList) {
StreamWriter writer = File.CreateText(fileName);
writer.Write("It's OK to delete this file.");
writer.Close();
}
}
[TearDown]
protected void TearDown() {
try {
Directory.Delete(_baseDirectory, true);
} catch {
}
}
///
/// Simple message
///
///
///
///
///
[Test]
public void testSimpleMessage() {
MailTask mailTask = new MailTask();
mailTask.Project = new Project();
_subject="Msg 1: Simple Test";
_message="Test message";
_tolist = _emailAddress1;
try {
mailTask.Mailhost = _mailhost;
mailTask.From = _from;
mailTask.ToList = _tolist;
mailTask.Subject = _subject;
mailTask.Message = _message;
mailTask.CcList = _cclist;
mailTask.BccList = _bcclist;
mailTask.Attachments = _attachments;
mailTask.Files = _files;
mailTask.Execute();
} catch (Exception e) {
Assertion.Assert(_subject + ": " + e.Message, false);
}
}
///
/// Multiple recipients in toList
///
///
///
///
///
[Test]
public void testMultiToList() {
MailTask mailTask = new MailTask();
mailTask.Project = new Project();
_tolist= _emailAddress1 + ";" + _emailAddress2;
_subject="Msg 2: Test to 2 email addresses";
_message="Test message";
try {
mailTask.Mailhost = _mailhost;
mailTask.From = _from;
mailTask.ToList = _tolist;
mailTask.Subject = _subject;
mailTask.Message = _message;
mailTask.CcList = _cclist;
mailTask.BccList = _bcclist;
mailTask.Attachments = _attachments;
mailTask.Files = _files;
mailTask.Execute();
} catch (Exception e) {
Assertion.Assert(_subject + ": " + e.Message, false);
}
}
///
/// Multiple BCC recipients in toList
///
///
///
///
///
[Test]
public void testMultiBccList() {
MailTask mailTask = new MailTask();
mailTask.Project = new Project();
_bcclist= _emailAddress1 + ";" + _emailAddress2;
_subject="Msg 3: Test to 2 BCC addresses";
_message="Test message";
try {
mailTask.Mailhost = _mailhost;
mailTask.From = _from;
mailTask.ToList = _tolist;
mailTask.Subject = _subject;
mailTask.Message = _message;
mailTask.CcList = _cclist;
mailTask.BccList = _bcclist;
mailTask.Attachments = _attachments;
mailTask.Files = _files;
mailTask.Execute();
} catch (Exception e) {
Assertion.Assert(_subject + ": " + e.Message, false);
}
}
///
/// Multiple BCC recipients in toList
///
///
///
///
///
[Test]
public void testMultiCcList() {
MailTask mailTask = new MailTask();
mailTask.Project = new Project();
_cclist= _emailAddress1 + ";" + _emailAddress2;
_subject="Msg 4: Test to 2 CC addresses";
_message="Test message";
try {
mailTask.Mailhost = _mailhost;
mailTask.From = _from;
mailTask.ToList = _tolist;
mailTask.Subject = _subject;
mailTask.Message = _message;
mailTask.CcList = _cclist;
mailTask.BccList = _bcclist;
mailTask.Attachments = _attachments;
mailTask.Files = _files;
mailTask.Execute();
} catch (Exception e) {
Assertion.Assert(_subject + ": " + e.Message, false);
}
}
///
/// Message to all recipient lists
///
///
///
///
///
[Test]
public void testAllLists() {
MailTask mailTask = new MailTask();
mailTask.Project = new Project();
_tolist= _emailAddress1;
_cclist= _emailAddress2;
_bcclist= _emailAddress1;
_subject="Msg 5: Test to all addresses";
_message="Test message";
try {
mailTask.Mailhost = _mailhost;
mailTask.From = _from;
mailTask.ToList = _tolist;
mailTask.Subject = _subject;
mailTask.Message = _message;
mailTask.CcList = _cclist;
mailTask.BccList = _bcclist;
mailTask.Attachments = _attachments;
mailTask.Files = _files;
mailTask.Execute();
} catch (Exception e) {
Assertion.Assert(_subject + ": " + e.Message, false);
}
}
///
/// Message with files as body text
///
///
///
///
///
[Test]
public void testFilesAsBody() {
MailTask mailTask = new MailTask();
mailTask.Project = new Project();
_tolist= _emailAddress1;
_subject="Msg 6: Files for message";
_message="Test message";
foreach (string fileName in _fileList) {
_files += fileName + ";";
}
// add bogus entry
_files += "BogusFile.txt";
try {
mailTask.Mailhost = _mailhost;
mailTask.From = _from;
mailTask.ToList = _tolist;
mailTask.Subject = _subject;
mailTask.Message = _message;
mailTask.CcList = _cclist;
mailTask.BccList = _bcclist;
mailTask.Attachments = _attachments;
mailTask.Files = _files;
mailTask.Execute();
} catch (Exception e) {
Assertion.Assert(_subject + ": " + e.Message, false);
}
}
///
/// Message with attachments
///
///
///
///
///
[Test]
public void testFilesAsAttach() {
MailTask mailTask = new MailTask();
mailTask.Project = new Project();
_tolist= _emailAddress1;
_subject="Msg 7: With attachments";
_message="Test message";
foreach (string fileName in _fileList) {
_files += fileName + ";";
}
// add bogus entry
_files += "BogusFile.txt";
foreach (string fileName in _fileList) {
_attachments += fileName + ",";
}
// add bogus entries - empty files
_files += ",;";
try {
mailTask.Mailhost = _mailhost;
mailTask.From = _from;
mailTask.ToList = _tolist;
mailTask.Subject = _subject;
mailTask.Message = _message;
mailTask.CcList = _cclist;
mailTask.BccList = _bcclist;
mailTask.Attachments = _attachments;
mailTask.Files = _files;
mailTask.Execute();
} catch (Exception e) {
Assertion.Assert(_subject + ": " + e.Message, false);
}
}
}
}
#endif