Enterprise Library Test Guide - Willy .Net
Enterprise Library Test Guide - Willy .Net
Enterprise Library Test Guide - Willy .Net
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
96<br />
<strong>Enterprise</strong> <strong>Library</strong> <strong>Test</strong> <strong>Guide</strong><br />
<strong>Test</strong> cases Result Automated test<br />
Verify that, if the input<br />
data is valid, the<br />
application block can<br />
log messages to the<br />
MsmqTraceListener<br />
trace listener.<br />
Passed The following test uses Message Queuing and verifies that<br />
the message is logged to the queue. Similar tests exist to<br />
verify that all the other trace listeners are supported by the<br />
application block.<br />
[<strong>Test</strong>Method]<br />
public void LogToMsmq()<br />
{<br />
using (MessageQueue queue = new MessageQueue(@".\<br />
Private$\Entlib<strong>Test</strong>"))<br />
{<br />
queue.Purge();<br />
queue.Formatter = new XmlMessageFormatter();<br />
string[] types = { "System.String" };<br />
((XmlMessageFormatter)queue.Formatter).Target-<br />
TypeNames = types;<br />
Logger.Write(new LogEntry("To test Msmq listener<br />
using Logger facade","MsmqCategory",1,1,TraceEven<br />
tType.Critical,"",null));<br />
Message message = queue.Receive(new TimeSpan(0,0,5));<br />
Assert.IsNotNull(message);<br />
string content = (string) message.Body;<br />
Assert.IsTrue(content.<br />
Contains("To test Msmq listener using Logger facade"));<br />
}<br />
}<br />
Verify that trace<br />
listeners can be created<br />
directly, without<br />
using a configuration<br />
source.<br />
Passed<br />
The following test uses a constructor to create a database<br />
listener and a custom object that is logged to the database.<br />
[<strong>Test</strong>Method]<br />
public void LogToDbListenerUsingCustomObject()<br />
{<br />
FormattedDatabaseTraceListener listener = new<br />
FormattedDatabaseTraceListener(DatabaseFactory.<br />
CreateDatabase("SqlServer"), "WriteLog", "AddCategory",<br />
new TextFormatter());<br />
listener.TraceData(null, "Error : ",<br />
TraceEventType.Critical, 1, new MyObject());<br />
Database db = DatabaseFactory.CreateDatabase("Sq<br />
lServer");<br />
DbCommand command = db.GetSqlStringCommand("SELEC<br />
T TOP 1 Message FROM Log ORDER BY LogId DESC");<br />
string messageContents = Convert.ToString(db.<br />
ExecuteScalar(command));<br />
Assert.AreEqual(messageContents,<br />
"CustomClasses.MyObject");<br />
}