07.11.2014 Views

Enterprise Library Test Guide - Willy .Net

Enterprise Library Test Guide - Willy .Net

Enterprise Library Test Guide - Willy .Net

SHOW MORE
SHOW LESS

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 />

}

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!