[Nmailserver-commits] SF.net SVN: nmailserver: [165] NMail/trunk
Brought to you by:
dframpton-oss,
tmyroadctfig
|
From: <tmy...@us...> - 2007-03-04 08:36:28
|
Revision: 165
http://svn.sourceforge.net/nmailserver/?rev=165&view=rev
Author: tmyroadctfig
Date: 2007-03-04 00:36:21 -0800 (Sun, 04 Mar 2007)
Log Message:
-----------
Work on unit tests. Completed work on NHibernate spool data.
Modified Paths:
--------------
NMail/trunk/NMail/DataTypes/LocalStore/LocalStoreDelivery.cs
NMail/trunk/NMail/DataTypes/SmtpMessage.cs
NMail/trunk/NMail/DataTypes/SmtpMessageRecipient.cs
NMail/trunk/NMail.LocalStore/DeliveryActions/ManageWhiteList.cs
NMail/trunk/NMail.MessageRouter/MessageRouter.cs
NMail/trunk/NMail.Sendmail/Sendmail.cs
NMail/trunk/NMail.SmtpClient/SmtpClient.cs
NMail/trunk/NMail.SmtpService/Command/DataCommand.cs
NMail/trunk/NMail.SpoolData.MySql/MySqlSpoolData.cs
NMail/trunk/NMail.SpoolData.NHibernate/NHibernateSpoolData.cs
NMail/trunk/NMail.SpoolData.NHibernate/NMail.SpoolData.NHibernate.hbm.xml
NMail/trunk/NMail.UnitTests/LocalStoreData/CalendarTests.cs
NMail/trunk/NMail.UnitTests/NMail.UnitTests.csproj
NMail/trunk/NMail.UnitTests/SpoolData/FilterTest1.cs
NMail/trunk/NMail.UnitTests/SpoolData/FilterTest2.cs
NMail/trunk/NMail.UnitTests/SpoolData/FilterTest3.cs
NMail/trunk/NMail.UnitTests/SpoolData/GetMsgToFilterTest1.cs
NMail/trunk/NMail.UnitTests/SpoolData/InitTest1.cs
NMail/trunk/NMail.UnitTests/SpoolData/NextDeliveryTest1.cs
NMail/trunk/NMail.UnitTests/SpoolData/SpoolMessageTest1.cs
NMail/trunk/NMail.sln
Added Paths:
-----------
NMail/trunk/NMail.UnitTests/LocalStoreData/BaseLocalStoreDataTest.cs
NMail/trunk/NMail.UnitTests/SpoolData/BeginDeliveryTest1.cs
NMail/trunk/NMail.UnitTests/SpoolData/BeginDeliveryTest2.cs
NMail/trunk/NMail.UnitTests/SpoolData/BeginDeliveryTest3.cs
NMail/trunk/NMail.UnitTests/SpoolData/CompleteDeliveryTest1.cs
Modified: NMail/trunk/NMail/DataTypes/LocalStore/LocalStoreDelivery.cs
===================================================================
--- NMail/trunk/NMail/DataTypes/LocalStore/LocalStoreDelivery.cs 2007-03-04 05:32:53 UTC (rev 164)
+++ NMail/trunk/NMail/DataTypes/LocalStore/LocalStoreDelivery.cs 2007-03-04 08:36:21 UTC (rev 165)
@@ -31,7 +31,7 @@
public LocalStoreDelivery(SmtpMessageRecipient recipient, Folder nominalTargetFolder) {
this.recipient = recipient.Address;
this.sender = recipient.Message.Sender;
- this.message = recipient.Message.Data;
+ this.message = recipient.Message.Message;
this.folderDelimiter = NMailConfiguration.Current.LocalStore.FolderDelimiter;
Modified: NMail/trunk/NMail/DataTypes/SmtpMessage.cs
===================================================================
--- NMail/trunk/NMail/DataTypes/SmtpMessage.cs 2007-03-04 05:32:53 UTC (rev 164)
+++ NMail/trunk/NMail/DataTypes/SmtpMessage.cs 2007-03-04 08:36:21 UTC (rev 165)
@@ -69,7 +69,7 @@
private bool inProgress;
/// <summary>
- /// True if the message is in progress.
+ /// True if the message is in progress of being filtered.
/// </summary>
public bool InProgress {
get { return inProgress; }
@@ -96,21 +96,29 @@
set { envelope = value; }
}
- private Message data;
+ private Message message;
/// <summary>
/// Gets or sets the data (headers and body content) of the message.
/// </summary>
- public Message Data {
+ public Message Message {
get {
- return this.data;
+ return this.message;
}
set {
- this.data = value;
- this.envelope = this.data.GetEnvelope();
+ this.message = value;
+ this.envelope = this.message.GetEnvelope();
}
}
+ /// <summary>
+ /// The size of the message in bytes.
+ /// </summary>
+ public int MessageSize {
+ get { return this.message.Size; }
+ private set { } // Hack: for NHibernate
+ }
+
private EmailAddress sender;
/// <summary>
Modified: NMail/trunk/NMail/DataTypes/SmtpMessageRecipient.cs
===================================================================
--- NMail/trunk/NMail/DataTypes/SmtpMessageRecipient.cs 2007-03-04 05:32:53 UTC (rev 164)
+++ NMail/trunk/NMail/DataTypes/SmtpMessageRecipient.cs 2007-03-04 08:36:21 UTC (rev 165)
@@ -185,5 +185,13 @@
public static bool operator != (SmtpMessageRecipient recipientA, SmtpMessageRecipient recipientB) {
return !(recipientA == recipientB);
}
+
+ /// <summary>
+ /// This recipient as a string.
+ /// </summary>
+ /// <returns>The string.</returns>
+ public override string ToString() {
+ return this.Address.ToString();
+ }
}
}
Modified: NMail/trunk/NMail.LocalStore/DeliveryActions/ManageWhiteList.cs
===================================================================
--- NMail/trunk/NMail.LocalStore/DeliveryActions/ManageWhiteList.cs 2007-03-04 05:32:53 UTC (rev 164)
+++ NMail/trunk/NMail.LocalStore/DeliveryActions/ManageWhiteList.cs 2007-03-04 08:36:21 UTC (rev 165)
@@ -185,7 +185,7 @@
SmtpMessage result = new SmtpMessage();
result.AddRecipient(sender);
result.Sender = recipient;
- result.Data = new Message(messageText);
+ result.Message = new Message(messageText);
result.ReportedHost = new Host(System.Net.IPAddress.Loopback);
result.SourceAddress = System.Net.IPAddress.Loopback;
return result;
Modified: NMail/trunk/NMail.MessageRouter/MessageRouter.cs
===================================================================
--- NMail/trunk/NMail.MessageRouter/MessageRouter.cs 2007-03-04 05:32:53 UTC (rev 164)
+++ NMail/trunk/NMail.MessageRouter/MessageRouter.cs 2007-03-04 08:36:21 UTC (rev 165)
@@ -224,7 +224,7 @@
SmtpMessage result = new SmtpMessage();
result.ReportedHost = Config.Current.VisibleHost;
result.SourceAddress = IPAddress.Loopback;
- result.Data = templateMessage;
+ result.Message = templateMessage;
result.Sender = new EmailAddress(new Mailbox(null, true), Config.Current.VisibleHost);
result.AddRecipient(sender);
Modified: NMail/trunk/NMail.Sendmail/Sendmail.cs
===================================================================
--- NMail/trunk/NMail.Sendmail/Sendmail.cs 2007-03-04 05:32:53 UTC (rev 164)
+++ NMail/trunk/NMail.Sendmail/Sendmail.cs 2007-03-04 08:36:21 UTC (rev 165)
@@ -51,7 +51,7 @@
// Make the SMTP message
SmtpMessage smtpMessage = new SmtpMessage();
- smtpMessage.Data = message;
+ smtpMessage.Message = message;
// Get the sender
if (options.Sender == null) {
Modified: NMail/trunk/NMail.SmtpClient/SmtpClient.cs
===================================================================
--- NMail/trunk/NMail.SmtpClient/SmtpClient.cs 2007-03-04 05:32:53 UTC (rev 164)
+++ NMail/trunk/NMail.SmtpClient/SmtpClient.cs 2007-03-04 08:36:21 UTC (rev 165)
@@ -226,7 +226,7 @@
// Can we send this message?
if (!HasExtension(ESmtpExtensionCode.EightBitMime)) {
- if (currentMessage.Data.Data.Encoding != Encoding.ASCII) {
+ if (currentMessage.Message.Data.Encoding != Encoding.ASCII) {
// We don't know how to 8BitMime --> 7Bit
DeliveryResult result = new DeliveryResult(DeliveryResultType.PermanentError,
"Remote server only supports 7BIT and message body is 8BITMIME.");
@@ -237,7 +237,7 @@
} else {
// Is the body 8 bit mime or 7 bit
mailFromParameters.Add("BODY",
- (currentMessage.Data.Data.Encoding == Encoding.ASCII)
+ (currentMessage.Message.Data.Encoding == Encoding.ASCII)
? "7BIT"
: "8BITMIME");
}
@@ -245,7 +245,7 @@
// Size Extension specific stuff
if (HasExtension(ESmtpExtensionCode.Size)) {
// Is our message under the limit?
- if (currentMessage.Data.Size > sizeLimit) {
+ if (currentMessage.Message.Size > sizeLimit) {
// Message is too large
DeliveryResult result = new DeliveryResult(DeliveryResultType.PermanentError,
"Message is larger than server message size limit.");
@@ -255,7 +255,7 @@
}
// Add the mail from size header
- mailFromParameters.Add("SIZE", this.currentMessage.Data.Size.ToString());
+ mailFromParameters.Add("SIZE", this.currentMessage.Message.Size.ToString());
}
try {
@@ -386,9 +386,9 @@
/// </summary>
private bool SimpleSendData() {
try {
- this.connection.DataContents(this.currentMessage.Data);
+ this.connection.DataContents(this.currentMessage.Message);
- int blocks = this.currentMessage.Data.Size / 1024;
+ int blocks = this.currentMessage.Message.Size / 1024;
blocks = (blocks > 0) ? blocks : 1;
this.response = this.connection.GetResponse(TimeSpan.FromSeconds(this.config.TimeoutDataBlock.TotalSeconds * blocks));
Modified: NMail/trunk/NMail.SmtpService/Command/DataCommand.cs
===================================================================
--- NMail/trunk/NMail.SmtpService/Command/DataCommand.cs 2007-03-04 05:32:53 UTC (rev 164)
+++ NMail/trunk/NMail.SmtpService/Command/DataCommand.cs 2007-03-04 08:36:21 UTC (rev 165)
@@ -94,8 +94,8 @@
}
// Parse the message headers
- session.Message.Data = new Message(messageData.ToByteString());
- MessageHeaders headers = session.Message.Data.Headers;
+ session.Message.Message = new Message(messageData.ToByteString());
+ MessageHeaders headers = session.Message.Message.Headers;
// Check the headers for signs of an endless SMTP loop
if (headers.GetHeaders("Recieved") == null
Modified: NMail/trunk/NMail.SpoolData.MySql/MySqlSpoolData.cs
===================================================================
--- NMail/trunk/NMail.SpoolData.MySql/MySqlSpoolData.cs 2007-03-04 05:32:53 UTC (rev 164)
+++ NMail/trunk/NMail.SpoolData.MySql/MySqlSpoolData.cs 2007-03-04 08:36:21 UTC (rev 165)
@@ -108,7 +108,7 @@
cmd.Transaction = transaction;
cmd.CommandText = "SELECT MessageId FROM MessageRecipient WHERE MessageRecipientId = ?MessageRecipientId";
cmd.Parameters.Add("?MessageRecipientId", messageRecipientId);
- int messageId = (int)cmd.ExecuteScalar();
+ Guid messageId = new Guid((byte[])cmd.ExecuteScalar());
// Either delivered successfully or permenant failure, delete the recipient
cmd = cnn.CreateCommand();
@@ -121,7 +121,7 @@
cmd = cnn.CreateCommand();
cmd.Transaction = transaction;
cmd.CommandText = "SELECT COUNT(*) FROM MessageRecipient WHERE MessageId = ?MessageId";
- cmd.Parameters.Add("?MessageId", messageId);
+ cmd.Parameters.Add("?MessageId", messageId.ToByteArray());
long count = (long)cmd.ExecuteScalar();
if (count == 0) {
@@ -129,7 +129,7 @@
cmd = cnn.CreateCommand();
cmd.Transaction = transaction;
cmd.CommandText = "DELETE FROM Message WHERE MessageId = ?MessageId";
- cmd.Parameters.Add("?MessageId", messageId);
+ cmd.Parameters.Add("?MessageId", messageId.ToByteArray());
if (cmd.ExecuteNonQuery() != 1) {
transaction.Rollback();
@@ -237,7 +237,7 @@
result.Sender = new EmailAddress((string)reader["Sender"], true);
result.ReportedHost = new Host((string)reader["ReportedHost"]);
result.SourceAddress = IPAddress.Parse((string)reader["SourceAddress"]);
- result.Data = (Message)SerializationHelper.Deserialize((byte[])reader["MessageData"]);
+ result.Message = (Message)SerializationHelper.Deserialize((byte[])reader["MessageData"]);
reader.Close();
cmd = cnn.CreateCommand();
@@ -294,8 +294,8 @@
// Insert the sender details and message data
cmd.CommandText = "INSERT INTO Message (MessageId, MessageData, MessageEnvelope, ReportedHost, SourceAddress, Sender, InProgress, Filtered) VALUES (?MessageId, ?MessageData, ?MessageEnvelope, ?ReportedHost, ?SourceAddress, ?Sender, ?InProgress, ?Filtered);";
cmd.Parameters.Add("?MessageId", message.MessageId.ToByteArray());
- cmd.Parameters.Add("?MessageData", SerializationHelper.Serialize(message.Data));
- cmd.Parameters.Add("?MessageEnvelope", SerializationHelper.Serialize(message.Data.GetEnvelope()));
+ cmd.Parameters.Add("?MessageData", SerializationHelper.Serialize(message.Message));
+ cmd.Parameters.Add("?MessageEnvelope", SerializationHelper.Serialize(message.Message.GetEnvelope()));
cmd.Parameters.Add("?ReportedHost", message.ReportedHost.ToString());
cmd.Parameters.Add("?SourceAddress", message.SourceAddress.ToString());
cmd.Parameters.Add("?Sender", message.Sender.ToString());
@@ -349,7 +349,7 @@
cmd.Parameters.Add("?CurrentTime", DateTime.Now);
object hostname = cmd.ExecuteScalar();
- if (hostname is DBNull) {
+ if (hostname == null || hostname is DBNull ) {
// No messages ready for delivery
transaction.Commit();
log.Debug("No hosts ready to deliver.");
@@ -381,23 +381,26 @@
for (int i = 0; i < messageIds.Length; i++) {
cmd = cnn.CreateCommand();
cmd.Transaction = transaction;
- cmd.CommandText = "SELECT MessageId, ReportedHost, SourceAddress, Sender, MessageData FROM Message WHERE MessageId = ?MessageId";
+ cmd.CommandText = "SELECT MessageId, Filtered, ReportedHost, SourceAddress, Sender, MessageData FROM Message WHERE MessageId = ?MessageId";
cmd.Parameters.Add("?MessageId", messageIds[i].ToByteArray());
reader = cmd.ExecuteReader();
if (reader.Read()) {
SmtpMessage currentMessage = new SmtpMessage();
+ currentMessage.MessageId = new Guid((byte[]) reader["MessageId"]);
currentMessage.ReportedHost = new Host((string)reader["ReportedHost"]);
currentMessage.SourceAddress = IPAddress.Parse((string)reader["SourceAddress"]);
currentMessage.Sender = new EmailAddress((string)reader["Sender"], true);
- currentMessage.Data = (Message)SerializationHelper.Deserialize((byte[])reader["MessageData"]);
+ currentMessage.Message = (Message)SerializationHelper.Deserialize((byte[])reader["MessageData"]);
+ currentMessage.Filtered = ((sbyte) reader["Filtered"] == 1) ? true : false;
reader.Close();
// Read in all the recipients details
cmd = cnn.CreateCommand();
cmd.Transaction = transaction;
- cmd.CommandText = "SELECT MessageRecipientId, Recipient, DeliveryAttempts, NextDeliveryAttempt FROM MessageRecipient WHERE MessageId = ?MessageId AND InProgress = false";
- cmd.Parameters.Add("?MessageId", messageIds[i]);
+ cmd.CommandText = "SELECT MessageRecipientId, Recipient, DeliveryAttempts, NextDeliveryAttempt FROM MessageRecipient WHERE MessageId = ?MessageId AND InProgress = false AND Host = ?Host";
+ cmd.Parameters.Add("?MessageId", messageIds[i].ToByteArray());
+ cmd.Parameters.Add("?Host", host.Name);
reader = cmd.ExecuteReader();
ArrayList recipientIdList = new ArrayList();
@@ -405,6 +408,7 @@
SmtpMessageRecipient messageRecipient = new SmtpMessageRecipient(currentMessage, new EmailAddress((string)reader["Recipient"]));
messageRecipient.DeliveryAttempts = (int)reader["DeliveryAttempts"];
messageRecipient.NextDeliveryAttempt = reader.GetDateTime(3);
+ messageRecipient.InProgress = true;
currentMessage.Recipients.Add(messageRecipient);
int messageRecipeintId = (int)reader["MessageRecipientId"];
Modified: NMail/trunk/NMail.SpoolData.NHibernate/NHibernateSpoolData.cs
===================================================================
--- NMail/trunk/NMail.SpoolData.NHibernate/NHibernateSpoolData.cs 2007-03-04 05:32:53 UTC (rev 164)
+++ NMail/trunk/NMail.SpoolData.NHibernate/NHibernateSpoolData.cs 2007-03-04 08:36:21 UTC (rev 165)
@@ -47,7 +47,7 @@
this.hibernateCfg.AddAssembly("NMail.SpoolData.NHibernate");
this.hibernateFactory = this.hibernateCfg.BuildSessionFactory();
- }
+ }
#region ISpoolData Members
/// <summary>
@@ -129,6 +129,7 @@
}
#endregion
+ #region Begin Delivery Batch
/// <summary>
/// Gets the next batch of messages for delivery subject to constraints.
/// </summary>
@@ -139,12 +140,12 @@
using (ISession session = this.hibernateFactory.OpenSession()) {
using (ITransaction tx = session.BeginTransaction()) {
// Get a host that has recipients ready for delivery
- IQuery query = session.CreateQuery("select mr1.Host from NMail.DataTypes.SmtpMessageRecipient as mr1 where mr1.NextDeliveryAttempt <= ?CurrentTime and mr1.InProgress = false and mr.Message.Filtered = true and mr1.Host not in (select mr2.Host from NMail.DataTypes.MessageRecipient as mr2 where mr2.InProgress = true) order by mr1.NextDeliveryAttempt asc")
+ IQuery query = session.CreateQuery("select mr1.Host from NMail.DataTypes.SmtpMessageRecipient as mr1 where mr1.NextDeliveryAttempt <= :CurrentTime and mr1.InProgress = false and mr1.Message.Filtered = true and mr1.Host not in (select mr2.Host from NMail.DataTypes.SmtpMessageRecipient as mr2 where mr2.InProgress = true) order by mr1.NextDeliveryAttempt asc")
.SetMaxResults(1)
- .SetParameter(0, DateTime.Now);
+ .SetDateTime("CurrentTime", DateTime.Now);
Host host = query.UniqueResult<Host>();
-
+
if (host == null) {
// No messages ready for delivery
tx.Commit();
@@ -154,97 +155,64 @@
DeliveryBatch batch = new DeliveryBatch(host);
int currentSize = 0;
- List<Guid> messageIdList = new List<Guid>();
+ List<Guid> messageIds = new List<Guid>();
- //// Get a list of message sizes & use to build a list of messages to deliver
- //query = session.CreateQuery("select mr1.MessageId, LENGTH(m.MessageData) AS Size from MessageRecipient mr1 where mr1.InProgress = false and mr1.Message.Filtered = true and mr1.Host = ?Host order by mr1.NextDeliveryAttempt asc")
- // .SetMaxResults(messageLimit)
- // .SetParameter(0, host);
+ // Get a list of message sizes & use to build a list of messages to deliver
+ query = session.CreateQuery("select mr1.Message.MessageId, mr1.Message.MessageSize from SmtpMessageRecipient mr1 where mr1.InProgress = false and mr1.Message.Filtered = true and mr1.Host = :Host order by mr1.NextDeliveryAttempt asc")
+ .SetMaxResults(messageLimit)
+ .SetParameter("Host", host);
+ IList idSizeList = query.List();
- //query.
+ for (int i = 0; i < idSizeList.Count; i++) {
+ object[] current = (object[]) idSizeList[i];
- //MySqlDataReader reader = cmd.ExecuteReader();
- //while (reader.Read()) {
- // messageIdList.Add(reader.GetInt32(0));
- // currentSize += reader.GetInt32(1);
+ messageIds.Add((Guid) current[0]);
+ currentSize += (int) current[1];
- // if (currentSize > sizeLimit)
- // break;
- //}
- //reader.Close();
+ if (currentSize > sizeLimit) {
+ break;
+ }
+ }
+ // Read in the details for each message
+ for (int i = 0; i < messageIds.Count; i++) {
+ // Load the message
+ SmtpMessage currentMessage = session.Load<SmtpMessage>(messageIds[i]);
+ // Filter out any recipients that a not going to our destination host
+ List<SmtpMessageRecipient> removeList = new List<SmtpMessageRecipient>();
+ for (int j = 0; j < currentMessage.Recipients.Count; j++) {
+ if (currentMessage.Recipients[j].Host != host) {
+ removeList.Add(currentMessage.Recipients[j]);
+ }
+ }
+ // Don't update the DB when these recipients are removed
+ session.Evict(currentMessage);
+ foreach (SmtpMessageRecipient recipient in removeList) {
+ currentMessage.Recipients.Remove(recipient);
+ }
+ // Set all the recipient's InProgress flags
+ foreach (SmtpMessageRecipient recipient in currentMessage.Recipients) {
+ recipient.InProgress = true;
+ session.Update(recipient);
+ }
+ batch.AddMessage(currentMessage);
+ }
- // // Read in the details for each message
- // int[] messageIds = (int[]) messageIdList.ToArray(typeof(int));
- // for (int i = 0; i < messageIds.Length; i++) {
- // cmd = cnn.CreateCommand();
- // cmd.Transaction = transaction;
- // cmd.CommandText = "SELECT MessageGuid, ReportedHost, SourceAddress, Sender, MessageData FROM Message WHERE MessageId = ?MessageId";
- // cmd.Parameters.Add("?MessageId", messageIds[i]);
- // reader = cmd.ExecuteReader();
-
- // if (reader.Read()) {
- // SmtpMessage currentMessage = new SmtpMessage();
- // currentMessage.MessageId = new Guid((byte[]) reader["MessageGuid"]);
- // currentMessage.ReportedHost = new Host((string) reader["ReportedHost"]);
- // currentMessage.SourceAddress = IPAddress.Parse((string) reader["SourceAddress"]);
- // currentMessage.Sender = new EmailAddress((string) reader["Sender"], true);
- // currentMessage.Data = (Message) SerializationHelper.Deserialize((byte[]) reader["MessageData"]);
- // reader.Close();
-
- // // Read in all the recipients details
- // cmd = cnn.CreateCommand();
- // cmd.Transaction = transaction;
- // cmd.CommandText = "SELECT MessageRecipientId, Recipient, DeliveryAttempts, NextDeliveryAttempt FROM MessageRecipient WHERE MessageId = ?MessageId AND InProgress = false";
- // cmd.Parameters.Add("?MessageId", messageIds[i]);
- // reader = cmd.ExecuteReader();
-
- // ArrayList recipientIdList = new ArrayList();
- // while (reader.Read()) {
- // SmtpMessageRecipient messageRecipient = new SmtpMessageRecipient(currentMessage, (string) reader["Recipient"]);
- // messageRecipient.DeliveryAttempts = (int) reader["DeliveryAttempts"];
- // messageRecipient.NextDeliveryAttempt = reader.GetDateTime(3);
- // currentMessage.AddRecipient(messageRecipient);
-
- // int messageRecipeintId = (int) reader["MessageRecipientId"];
- // recipientIdList.Add(messageRecipeintId);
- // }
- // reader.Close();
-
- // // Set all the recipient's InProgress flags
- // int[] recipientIds = (int[]) recipientIdList.ToArray(typeof(int));
- // for (int j = 0; j < recipientIds.Length; j++) {
- // cmd.CommandText = "UPDATE MessageRecipient SET InProgress = true WHERE MessageRecipientId = ?MessageRecipientId";
- // cmd.Parameters.Add("?MessageRecipientId", recipientIds[j]);
- // cmd.Transaction = transaction;
-
- // if (cmd.ExecuteNonQuery() != 1) {
- // throw new Exception("Error updating in-progress flag.");
- // }
- // }
-
- // batch.AddMessage(currentMessage);
- // }
-
- // if (!reader.IsClosed) {
- // reader.Close();
- // }
- // }
- // transaction.Commit();
- // log.Debug("Delivery batch created, " + batch.GetMessages().Length + " messages.");
- // return batch;
+ tx.Commit();
+ log.Debug("Delivery batch created, " + batch.GetMessages().Length + " messages.");
+ return batch;
}
}
-
- return null;
}
+ #endregion
+ #region Complete Delivery Attempt
/// <summary>
/// Either removes a recipient from a spool message or increments the number of
/// failed delivery attempts for the recipient. Also schedules the next delivery
@@ -266,10 +234,11 @@
} else {
// Either delivered successfully or permenant failure, delete the recipient
- SmtpMessage message = recipient.Message;
- message.Recipients.Remove(recipient);
+ SmtpMessage message = session.Load<SmtpMessage>(recipient.Message.MessageId);
+ SmtpMessageRecipient dbRecipient = session.Load<SmtpMessageRecipient>(recipient.RecipientId);
+ message.Recipients.Remove(dbRecipient);
session.Update(message);
- session.Delete(recipient);
+ session.Delete(dbRecipient);
// Check if any recipients remain
if (message.Recipients.Count == 0) {
@@ -296,6 +265,7 @@
CompleteDeliveryAttempt(recipient, result);
}
}
+ #endregion
#region Get Next Delivery Attempt
/// <summary>
@@ -378,7 +348,7 @@
recipient.NextDeliveryAttempt = deliveryTime;
}
- session.Update(message);
+ session.Update(message);
tx.Commit();
Modified: NMail/trunk/NMail.SpoolData.NHibernate/NMail.SpoolData.NHibernate.hbm.xml
===================================================================
--- NMail/trunk/NMail.SpoolData.NHibernate/NMail.SpoolData.NHibernate.hbm.xml 2007-03-04 05:32:53 UTC (rev 164)
+++ NMail/trunk/NMail.SpoolData.NHibernate/NMail.SpoolData.NHibernate.hbm.xml 2007-03-04 08:36:21 UTC (rev 165)
@@ -21,9 +21,9 @@
<property name="Filtered" not-null="true" />
- <property name="Data" type="Serializable" />
+ <property name="Message" type="Serializable" />
- <property name="Data.Size" type="Int32" />
+ <property name="MessageSize" type="Int32" />
<property name="Envelope" not-null="true" />
Added: NMail/trunk/NMail.UnitTests/LocalStoreData/BaseLocalStoreDataTest.cs
===================================================================
--- NMail/trunk/NMail.UnitTests/LocalStoreData/BaseLocalStoreDataTest.cs (rev 0)
+++ NMail/trunk/NMail.UnitTests/LocalStoreData/BaseLocalStoreDataTest.cs 2007-03-04 08:36:21 UTC (rev 165)
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+using NUnit.Framework;
+
+using NMail.DataTypes.LocalStore;
+
+namespace NMail.UnitTests.LocalStoreData {
+ /// <summary>
+ /// A base class for local store data tests.
+ /// </summary>
+ public abstract class BaseLocalStoreDataTest {
+
+ protected ILocalStoreData localStoreData = NMail.Configuration.NMailConfiguration.Current.LocalStoreData;
+
+ [TestFixtureSetUp]
+ public void Setup() {
+ localStoreData.ReinstallSchema();
+ }
+
+ [TestFixtureTearDown]
+ public void TearDown() {
+ localStoreData.ReinstallSchema();
+ }
+ }
+}
Modified: NMail/trunk/NMail.UnitTests/LocalStoreData/CalendarTests.cs
===================================================================
--- NMail/trunk/NMail.UnitTests/LocalStoreData/CalendarTests.cs 2007-03-04 05:32:53 UTC (rev 164)
+++ NMail/trunk/NMail.UnitTests/LocalStoreData/CalendarTests.cs 2007-03-04 08:36:21 UTC (rev 165)
@@ -14,22 +14,8 @@
/// Calendar tests for the local store data.
/// </summary>
[TestFixture]
- public class CalendarTests {
+ public class CalendarTests : BaseLocalStoreDataTest {
- ILocalStoreData localStoreData;
-
- [TestFixtureSetUp]
- public void Setup() {
- localStoreData = NMailConfiguration.Current.LocalStoreData;
-
- localStoreData.ReinstallSchema();
- }
-
- [TestFixtureTearDown]
- public void TearDown() {
- localStoreData.ReinstallSchema();
- }
-
public void CreateCalendar(string name, int ownerId, int parentId) {
Calendar c1 = new Calendar();
c1.Name = name;
Modified: NMail/trunk/NMail.UnitTests/NMail.UnitTests.csproj
===================================================================
--- NMail/trunk/NMail.UnitTests/NMail.UnitTests.csproj 2007-03-04 05:32:53 UTC (rev 164)
+++ NMail/trunk/NMail.UnitTests/NMail.UnitTests.csproj 2007-03-04 08:36:21 UTC (rev 165)
@@ -50,12 +50,17 @@
<Compile Include="DNSCacheTests.cs" />
<Compile Include="Helper\MimeHelperTests.cs" />
<Compile Include="Helper\StringTokenizerTests.cs" />
+ <Compile Include="LocalStoreData\BaseLocalStoreDataTest.cs" />
<Compile Include="LocalStoreData\CalendarTests.cs" />
<Compile Include="LocalStoreData\MySqlLocalStoreTests.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Resources\ResourceHelper.cs" />
<Compile Include="SmtpService\SmtpServiceTests.cs" />
<Compile Include="SpoolData\BaseSpoolDataTest.cs" />
+ <Compile Include="SpoolData\BeginDeliveryTest1.cs" />
+ <Compile Include="SpoolData\BeginDeliveryTest2.cs" />
+ <Compile Include="SpoolData\BeginDeliveryTest3.cs" />
+ <Compile Include="SpoolData\CompleteDeliveryTest1.cs" />
<Compile Include="SpoolData\NextDeliveryTest1.cs" />
<Compile Include="SpoolData\FilterTest3.cs" />
<Compile Include="SpoolData\FilterTest2.cs" />
Added: NMail/trunk/NMail.UnitTests/SpoolData/BeginDeliveryTest1.cs
===================================================================
--- NMail/trunk/NMail.UnitTests/SpoolData/BeginDeliveryTest1.cs (rev 0)
+++ NMail/trunk/NMail.UnitTests/SpoolData/BeginDeliveryTest1.cs 2007-03-04 08:36:21 UTC (rev 165)
@@ -0,0 +1,57 @@
+using System;
+using System.Collections.Generic;
+using System.Net;
+using System.Text;
+
+using NUnit.Framework;
+
+using NMail.DataTypes;
+using NMail.DataTypes.Spool;
+using NMail.UnitTests.Resources;
+
+namespace NMail.UnitTests.SpoolData {
+ /// <summary>
+ /// Tests beginning a delivery batch.
+ /// </summary>
+ [TestFixture]
+ public class BeginDeliveryTest1 : BaseSpoolDataTest {
+ [Test]
+ public void Test1() {
+ DeliveryBatch batch = this.spoolData.BeginDeliveryBatch(1, 10000);
+ Assert.IsNull(batch, "Delivery batch null when no messages in spool.");
+
+ // Spool
+ SmtpMessage m1 = new SmtpMessage();
+ m1.Message = ResourceHelper.GetMessage("Test1.eml");
+ m1.Recipients.Add(new SmtpMessageRecipient(m1, new EmailAddress("rec...@re...")));
+ m1.ReportedHost = new Host("localhost");
+ m1.Sender = new EmailAddress("se...@se...");
+ m1.SourceAddress = IPAddress.Loopback;
+ this.spoolData.SpoolMessage(m1);
+
+ // Filter
+ SmtpMessage m2 = this.spoolData.GetMessageToFilter();
+ Assert.AreEqual(true, m2.InProgress, "InProgress == true");
+ Assert.AreEqual(m1.MessageId, m2.MessageId, "Message Ids match");
+ Assert.AreEqual(1, m2.Recipients.Count, "Recipient count correct.");
+ this.spoolData.SetFilterStatus(m2, true);
+
+ batch = this.spoolData.BeginDeliveryBatch(1, 10000);
+
+ Assert.AreEqual(m1.Recipients[0].Host, batch.Destination, "Correct destination host.");
+
+ SmtpMessage[] messages = batch.GetMessages();
+ Assert.AreEqual(1, messages.Length, "Correct number of messages.");
+ Assert.AreEqual(true, messages[0].Filtered, "Message is filtered.");
+ Assert.AreEqual(false, messages[0].InProgress, "Message is not in progress.");
+ Assert.AreEqual(m1.MessageId, messages[0].MessageId, "Correct message Id.");
+ Assert.AreEqual(m1.ReportedHost, messages[0].ReportedHost, "Correct reported host.");
+ Assert.AreEqual(m1.Sender, messages[0].Sender, "Correct reported sender.");
+ Assert.AreEqual(m1.SourceAddress, messages[0].SourceAddress, "Correct reported source address.");
+ Assert.AreEqual(1, messages[0].Recipients.Count, "Correct number of recipients.");
+ Assert.AreEqual(m1.Recipients[0].Address, messages[0].Recipients[0].Address, "Correct recipient address.");
+ Assert.AreEqual(true, messages[0].Recipients[0].InProgress, "Recipient is in progress.");
+ Assert.AreEqual(0, messages[0].Recipients[0].DeliveryAttempts, "Recipient delivery attempts == 0.");
+ }
+ }
+}
Added: NMail/trunk/NMail.UnitTests/SpoolData/BeginDeliveryTest2.cs
===================================================================
--- NMail/trunk/NMail.UnitTests/SpoolData/BeginDeliveryTest2.cs (rev 0)
+++ NMail/trunk/NMail.UnitTests/SpoolData/BeginDeliveryTest2.cs 2007-03-04 08:36:21 UTC (rev 165)
@@ -0,0 +1,71 @@
+using System;
+using System.Collections.Generic;
+using System.Net;
+using System.Text;
+
+using NUnit.Framework;
+
+using NMail.DataTypes;
+using NMail.DataTypes.Spool;
+using NMail.UnitTests.Resources;
+
+namespace NMail.UnitTests.SpoolData {
+ /// <summary>
+ /// Tests beginning a delivery batch.
+ /// </summary>
+ [TestFixture]
+ public class BeginDeliveryTest2 : BaseSpoolDataTest {
+ [Test]
+ public void Test1() {
+ // Spool
+ SmtpMessage m1 = new SmtpMessage();
+ m1.Message = ResourceHelper.GetMessage("Test1.eml");
+ m1.Recipients.Add(new SmtpMessageRecipient(m1, new EmailAddress("rec...@re...")));
+ m1.Recipients.Add(new SmtpMessageRecipient(m1, new EmailAddress("rec...@re...")));
+ m1.ReportedHost = new Host("localhost");
+ m1.Sender = new EmailAddress("se...@se...");
+ m1.SourceAddress = IPAddress.Loopback;
+ this.spoolData.SpoolMessage(m1);
+
+ // Filter
+ SmtpMessage m2 = this.spoolData.GetMessageToFilter();
+ Assert.AreEqual(true, m2.InProgress, "InProgress == true");
+ Assert.AreEqual(m1.MessageId, m2.MessageId, "Message Ids match");
+ Assert.AreEqual(2, m2.Recipients.Count, "Recipient count correct.");
+ this.spoolData.SetFilterStatus(m2, true);
+
+ DeliveryBatch batch1 = this.spoolData.BeginDeliveryBatch(1, 10000);
+
+ SmtpMessage[] messages1 = batch1.GetMessages();
+ Assert.AreEqual(1, messages1.Length, "Correct number of messages.");
+ Assert.AreEqual(true, messages1[0].Filtered, "Message is filtered.");
+ Assert.AreEqual(false, messages1[0].InProgress, "Message is not in progress.");
+ Assert.AreEqual(m1.MessageId, messages1[0].MessageId, "Correct message Id.");
+ Assert.AreEqual(m1.ReportedHost, messages1[0].ReportedHost, "Correct reported host.");
+ Assert.AreEqual(m1.Sender, messages1[0].Sender, "Correct reported sender.");
+ Assert.AreEqual(m1.SourceAddress, messages1[0].SourceAddress, "Correct reported source address.");
+ Assert.AreEqual(1, messages1[0].Recipients.Count, "Correct number of recipients.");
+ Assert.AreEqual(true, messages1[0].Recipients[0].InProgress, "Recipient is in progress.");
+ Assert.AreEqual(0, messages1[0].Recipients[0].DeliveryAttempts, "Recipient delivery attempts == 0.");
+
+ DeliveryBatch batch2 = this.spoolData.BeginDeliveryBatch(1, 10000);
+
+ SmtpMessage[] messages2 = batch2.GetMessages();
+ Assert.AreEqual(1, messages2.Length, "Correct number of messages.");
+ Assert.AreEqual(true, messages2[0].Filtered, "Message is filtered.");
+ Assert.AreEqual(false, messages2[0].InProgress, "Message is not in progress.");
+ Assert.AreEqual(m1.MessageId, messages2[0].MessageId, "Correct message Id.");
+ Assert.AreEqual(m1.ReportedHost, messages2[0].ReportedHost, "Correct reported host.");
+ Assert.AreEqual(m1.Sender, messages2[0].Sender, "Correct reported sender.");
+ Assert.AreEqual(m1.SourceAddress, messages2[0].SourceAddress, "Correct reported source address.");
+ Assert.AreEqual(1, messages2[0].Recipients.Count, "Correct number of recipients.");
+ Assert.AreEqual(true, messages2[0].Recipients[0].InProgress, "Recipient is in progress.");
+ Assert.AreEqual(0, messages2[0].Recipients[0].DeliveryAttempts, "Recipient delivery attempts == 0.");
+
+ Assert.IsTrue(messages1[0].Recipients[0].Address != messages2[0].Recipients[0].Address, "Recipients are different.");
+
+ DeliveryBatch batch3 = this.spoolData.BeginDeliveryBatch(1, 10000);
+ Assert.IsNull(batch3, "Batch3 is null");
+ }
+ }
+}
Added: NMail/trunk/NMail.UnitTests/SpoolData/BeginDeliveryTest3.cs
===================================================================
--- NMail/trunk/NMail.UnitTests/SpoolData/BeginDeliveryTest3.cs (rev 0)
+++ NMail/trunk/NMail.UnitTests/SpoolData/BeginDeliveryTest3.cs 2007-03-04 08:36:21 UTC (rev 165)
@@ -0,0 +1,63 @@
+using System;
+using System.Collections.Generic;
+using System.Net;
+using System.Text;
+
+using NUnit.Framework;
+
+using NMail.DataTypes;
+using NMail.DataTypes.Spool;
+using NMail.UnitTests.Resources;
+
+namespace NMail.UnitTests.SpoolData {
+ /// <summary>
+ /// Tests beginning a delivery batch.
+ /// </summary>
+ [TestFixture]
+ public class BeginDeliveryTest3 : BaseSpoolDataTest {
+ [Test]
+ public void Test1() {
+ // Spool
+ SmtpMessage m1 = new SmtpMessage();
+ m1.Message = ResourceHelper.GetMessage("Test1.eml");
+ m1.Recipients.Add(new SmtpMessageRecipient(m1, new EmailAddress("rec...@re...")));
+ m1.ReportedHost = new Host("localhost");
+ m1.Sender = new EmailAddress("se...@se...");
+ m1.SourceAddress = IPAddress.Loopback;
+ this.spoolData.SpoolMessage(m1);
+
+ // Filter
+ SmtpMessage m2 = this.spoolData.GetMessageToFilter();
+ Assert.AreEqual(true, m2.InProgress, "InProgress == true");
+ Assert.AreEqual(m1.MessageId, m2.MessageId, "Message Ids match");
+ Assert.AreEqual(1, m2.Recipients.Count, "Recipient count correct.");
+ this.spoolData.SetFilterStatus(m2, true);
+
+ // Spool
+ SmtpMessage m3 = new SmtpMessage();
+ m3.Message = ResourceHelper.GetMessage("Test1.eml");
+ m3.Recipients.Add(new SmtpMessageRecipient(m3, new EmailAddress("rec...@re...")));
+ m3.ReportedHost = new Host("localhost");
+ m3.Sender = new EmailAddress("se...@se...");
+ m3.SourceAddress = IPAddress.Loopback;
+ this.spoolData.SpoolMessage(m3);
+
+ // Filter
+ SmtpMessage m4 = this.spoolData.GetMessageToFilter();
+ Assert.AreEqual(true, m4.InProgress, "InProgress == true");
+ Assert.AreEqual(m3.MessageId, m4.MessageId, "Message Ids match");
+ Assert.AreEqual(1, m4.Recipients.Count, "Recipient count correct.");
+ this.spoolData.SetFilterStatus(m4, true);
+
+ DeliveryBatch batch1 = this.spoolData.BeginDeliveryBatch(2, 10000);
+
+ SmtpMessage[] messages1 = batch1.GetMessages();
+ Assert.AreEqual(2, messages1.Length, "Correct number of messages.");
+ Assert.AreEqual(1, messages1[0].Recipients.Count, "M1 Correct number of recipients.");
+ Assert.AreEqual(1, messages1[1].Recipients.Count, "M2 Correct number of recipients.");
+
+ DeliveryBatch batch2 = this.spoolData.BeginDeliveryBatch(1, 10000);
+ Assert.IsNull(batch2, "Batch2 is null");
+ }
+ }
+}
Added: NMail/trunk/NMail.UnitTests/SpoolData/CompleteDeliveryTest1.cs
===================================================================
--- NMail/trunk/NMail.UnitTests/SpoolData/CompleteDeliveryTest1.cs (rev 0)
+++ NMail/trunk/NMail.UnitTests/SpoolData/CompleteDeliveryTest1.cs 2007-03-04 08:36:21 UTC (rev 165)
@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using System.Net;
+using System.Text;
+
+using NUnit.Framework;
+
+using NMail.DataTypes;
+using NMail.DataTypes.Spool;
+using NMail.UnitTests.Resources;
+
+namespace NMail.UnitTests.SpoolData {
+ /// <summary>
+ /// Tests completing a delivery batch.
+ /// </summary>
+ [TestFixture]
+ public class CompleteDeliveryTest1 : BaseSpoolDataTest {
+ [Test]
+ public void Test1() {
+ // Spool
+ SmtpMessage m1 = new SmtpMessage();
+ m1.Message = ResourceHelper.GetMessage("Test1.eml");
+ m1.Recipients.Add(new SmtpMessageRecipient(m1, new EmailAddress("rec...@re...")));
+ m1.ReportedHost = new Host("localhost");
+ m1.Sender = new EmailAddress("se...@se...");
+ m1.SourceAddress = IPAddress.Loopback;
+ this.spoolData.SpoolMessage(m1);
+
+ // Filter
+ SmtpMessage m2 = this.spoolData.GetMessageToFilter();
+ Assert.AreEqual(true, m2.InProgress, "InProgress == true");
+ Assert.AreEqual(m1.MessageId, m2.MessageId, "Message Ids match");
+ Assert.AreEqual(1, m2.Recipients.Count, "Recipient count correct.");
+ this.spoolData.SetFilterStatus(m2, true);
+
+ DeliveryBatch batch = this.spoolData.BeginDeliveryBatch(1, 10000);
+
+ Assert.AreEqual(m1.Recipients[0].Host, batch.Destination, "Correct destination host.");
+
+ this.spoolData.CompleteDeliveryAttempt(batch.GetMessages()[0], new DeliveryResult(DeliveryResultType.Success, string.Empty));
+
+ batch = this.spoolData.BeginDeliveryBatch(1, 10000);
+
+ Assert.IsNull(batch, "Batch is null");
+ }
+ }
+}
Modified: NMail/trunk/NMail.UnitTests/SpoolData/FilterTest1.cs
===================================================================
--- NMail/trunk/NMail.UnitTests/SpoolData/FilterTest1.cs 2007-03-04 05:32:53 UTC (rev 164)
+++ NMail/trunk/NMail.UnitTests/SpoolData/FilterTest1.cs 2007-03-04 08:36:21 UTC (rev 165)
@@ -18,7 +18,7 @@
[Test]
public void Test1() {
SmtpMessage m1 = new SmtpMessage();
- m1.Data = ResourceHelper.GetMessage("Test1.eml");
+ m1.Message = ResourceHelper.GetMessage("Test1.eml");
m1.Recipients.Add(new SmtpMessageRecipient(m1, new EmailAddress("rec...@re...")));
m1.Recipients.Add(new SmtpMessageRecipient(m1, new EmailAddress("rec...@re...")));
m1.ReportedHost = new Host("localhost");
Modified: NMail/trunk/NMail.UnitTests/SpoolData/FilterTest2.cs
===================================================================
--- NMail/trunk/NMail.UnitTests/SpoolData/FilterTest2.cs 2007-03-04 05:32:53 UTC (rev 164)
+++ NMail/trunk/NMail.UnitTests/SpoolData/FilterTest2.cs 2007-03-04 08:36:21 UTC (rev 165)
@@ -18,7 +18,7 @@
[Test]
public void Test1() {
SmtpMessage m1 = new SmtpMessage();
- m1.Data = ResourceHelper.GetMessage("Test1.eml");
+ m1.Message = ResourceHelper.GetMessage("Test1.eml");
m1.Recipients.Add(new SmtpMessageRecipient(m1, new EmailAddress("rec...@re...")));
m1.Recipients.Add(new SmtpMessageRecipient(m1, new EmailAddress("rec...@re...")));
m1.ReportedHost = new Host("localhost");
Modified: NMail/trunk/NMail.UnitTests/SpoolData/FilterTest3.cs
===================================================================
--- NMail/trunk/NMail.UnitTests/SpoolData/FilterTest3.cs 2007-03-04 05:32:53 UTC (rev 164)
+++ NMail/trunk/NMail.UnitTests/SpoolData/FilterTest3.cs 2007-03-04 08:36:21 UTC (rev 165)
@@ -18,7 +18,7 @@
[Test]
public void Test1() {
SmtpMessage m1 = new SmtpMessage();
- m1.Data = ResourceHelper.GetMessage("Test1.eml");
+ m1.Message = ResourceHelper.GetMessage("Test1.eml");
m1.Recipients.Add(new SmtpMessageRecipient(m1, new EmailAddress("rec...@re...")));
m1.Recipients.Add(new SmtpMessageRecipient(m1, new EmailAddress("rec...@re...")));
m1.ReportedHost = new Host("localhost");
Modified: NMail/trunk/NMail.UnitTests/SpoolData/GetMsgToFilterTest1.cs
===================================================================
--- NMail/trunk/NMail.UnitTests/SpoolData/GetMsgToFilterTest1.cs 2007-03-04 05:32:53 UTC (rev 164)
+++ NMail/trunk/NMail.UnitTests/SpoolData/GetMsgToFilterTest1.cs 2007-03-04 08:36:21 UTC (rev 165)
@@ -23,7 +23,7 @@
Assert.IsNull(m1, "No message to filter returns null.");
SmtpMessage m2 = new SmtpMessage();
- m2.Data = ResourceHelper.GetMessage("Test1.eml");
+ m2.Message = ResourceHelper.GetMessage("Test1.eml");
m2.Recipients.Add(new SmtpMessageRecipient(m2, new EmailAddress("rec...@re...")));
m2.ReportedHost = new Host("localhost");
m2.Sender = new EmailAddress("se...@se...");
Modified: NMail/trunk/NMail.UnitTests/SpoolData/InitTest1.cs
===================================================================
--- NMail/trunk/NMail.UnitTests/SpoolData/InitTest1.cs 2007-03-04 05:32:53 UTC (rev 164)
+++ NMail/trunk/NMail.UnitTests/SpoolData/InitTest1.cs 2007-03-04 08:36:21 UTC (rev 165)
@@ -18,7 +18,7 @@
[Test]
public void Test1() {
SmtpMessage message = new SmtpMessage();
- message.Data = ResourceHelper.GetMessage("Test1.eml");
+ message.Message = ResourceHelper.GetMessage("Test1.eml");
message.Recipients.Add(new SmtpMessageRecipient(message, new EmailAddress("rec...@re...")));
message.ReportedHost = new Host("localhost");
message.Sender = new EmailAddress("se...@se...");
Modified: NMail/trunk/NMail.UnitTests/SpoolData/NextDeliveryTest1.cs
===================================================================
--- NMail/trunk/NMail.UnitTests/SpoolData/NextDeliveryTest1.cs 2007-03-04 05:32:53 UTC (rev 164)
+++ NMail/trunk/NMail.UnitTests/SpoolData/NextDeliveryTest1.cs 2007-03-04 08:36:21 UTC (rev 165)
@@ -22,7 +22,7 @@
Assert.AreEqual(DateTime.MaxValue, nextAttempt, "Next delivery attempt == max when no messages.");
SmtpMessage m1 = new SmtpMessage();
- m1.Data = ResourceHelper.GetMessage("Test1.eml");
+ m1.Message = ResourceHelper.GetMessage("Test1.eml");
m1.Recipients.Add(new SmtpMessageRecipient(m1, new EmailAddress("rec...@re...")));
m1.Recipients.Add(new SmtpMessageRecipient(m1, new EmailAddress("rec...@re...")));
m1.ReportedHost = new Host("localhost");
Modified: NMail/trunk/NMail.UnitTests/SpoolData/SpoolMessageTest1.cs
===================================================================
--- NMail/trunk/NMail.UnitTests/SpoolData/SpoolMessageTest1.cs 2007-03-04 05:32:53 UTC (rev 164)
+++ NMail/trunk/NMail.UnitTests/SpoolData/SpoolMessageTest1.cs 2007-03-04 08:36:21 UTC (rev 165)
@@ -19,7 +19,7 @@
[Test]
public void Test1() {
SmtpMessage message = new SmtpMessage();
- message.Data = ResourceHelper.GetMessage("Test1.eml");
+ message.Message = ResourceHelper.GetMessage("Test1.eml");
message.Recipients.Add(new SmtpMessageRecipient(message, new EmailAddress("rec...@re...")));
message.ReportedHost = new Host("localhost");
message.Sender = new EmailAddress("se...@se...");
@@ -30,7 +30,7 @@
IList<SpoolEnvelope> spooledEnvelopes = this.spoolData.GetSpooledEnvelopes();
Assert.AreEqual(1, spooledEnvelopes.Count, "Spool envelope count == 1");
- Assert.AreEqual(message.Data.GetEnvelope().From, spooledEnvelopes[0].From, "\"From\"'s match");
+ Assert.AreEqual(message.Message.GetEnvelope().From, spooledEnvelopes[0].From, "\"From\"'s match");
Assert.AreEqual(message.MessageId, spooledEnvelopes[0].SpoolMessageId, "Message Id match");
Assert.AreEqual(false, spooledEnvelopes[0].InProgress, "InProgress == false");
Assert.AreEqual(false, spooledEnvelopes[0].Filtered, "Filtered == false");
Modified: NMail/trunk/NMail.sln
===================================================================
--- NMail/trunk/NMail.sln 2007-03-04 05:32:53 UTC (rev 164)
+++ NMail/trunk/NMail.sln 2007-03-04 08:36:21 UTC (rev 165)
@@ -48,8 +48,6 @@
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit-gui.exe_VS2005", "..\..\..\NUnit-src\GuiRunner\nunit-gui-exe\nunit-gui.exe_VS2005.csproj", "{AAB186A4-FA3D-404D-AD78-7EB5BB861655}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NHibernate-2.0", "..\..\..\..\..\..\Program Files\NHibernate\src\src\NHibernate\NHibernate-2.0.csproj", "{5909BFE7-93CF-4E5F-BE22-6293368AF01D}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NMail.LocalStoreData.NHibernate", "NMail.LocalStoreData.NHibernate\NMail.LocalStoreData.NHibernate.csproj", "{72F7E307-F0A9-4750-9ED5-5A1F97725A11}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NMail.SpoolData.MySql", "NMail.SpoolData.MySql\NMail.SpoolData.MySql.csproj", "{68D6D57F-02CC-419F-8D69-3B479A1BFBED}"
@@ -254,14 +252,6 @@
{AAB186A4-FA3D-404D-AD78-7EB5BB861655}.Release|Any CPU.Build.0 = Release2005|Any CPU
{AAB186A4-FA3D-404D-AD78-7EB5BB861655}.Release2005|Any CPU.ActiveCfg = Release2005|Any CPU
{AAB186A4-FA3D-404D-AD78-7EB5BB861655}.Release2005|Any CPU.Build.0 = Release2005|Any CPU
- {5909BFE7-93CF-4E5F-BE22-6293368AF01D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {5909BFE7-93CF-4E5F-BE22-6293368AF01D}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {5909BFE7-93CF-4E5F-BE22-6293368AF01D}.Debug2005|Any CPU.ActiveCfg = Debug|Any CPU
- {5909BFE7-93CF-4E5F-BE22-6293368AF01D}.Debug2005|Any CPU.Build.0 = Debug|Any CPU
- {5909BFE7-93CF-4E5F-BE22-6293368AF01D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {5909BFE7-93CF-4E5F-BE22-6293368AF01D}.Release|Any CPU.Build.0 = Release|Any CPU
- {5909BFE7-93CF-4E5F-BE22-6293368AF01D}.Release2005|Any CPU.ActiveCfg = Release|Any CPU
- {5909BFE7-93CF-4E5F-BE22-6293368AF01D}.Release2005|Any CPU.Build.0 = Release|Any CPU
{72F7E307-F0A9-4750-9ED5-5A1F97725A11}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{72F7E307-F0A9-4750-9ED5-5A1F97725A11}.Debug|Any CPU.Build.0 = Debug|Any CPU
{72F7E307-F0A9-4750-9ED5-5A1F97725A11}.Debug2005|Any CPU.ActiveCfg = Debug|Any CPU
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|