« PipelineTesting: Pre-built Pipelines and... | Main | Regions and Readability »
I've been tweaking the PipelineTesting API further as I use it and write the unit tests for it. Here are some of the improvements I've made on the pipeline creation syntax:
ReceivePipelineWrapper pipeline = Pipelines.Receive() .AddValidator(new XmlValidator());
I think this looks much better.
Creating standard components
One of the problems with the current PipelineTesting version is that while it allows you to use one of the standard assembler/disassembler components on an empty pipeline, it provides no help doing so. Using them can be pretty annoying because there's no easy way to add document and envelope schemas.
The cause for this is that the relevant properties in the standard Xml/FF assembler and disassembler components use types defined in Microsoft.BizTalk.Component.Utilities.dll. The types themselves are public (and even somewhat documented), but the assembly can only be found in the GAC, which means referencing it in tests projects is a pain in the neck.
To save yourself the trouble from having to do this, the new PipelineTesting API will also expose classes to make it easier to create and configure the standard XML and Flat File assembler and disassembler components. Here's an example of the syntax I'm implementing:
XmlAssembler asm = Assembler.Xml() .WithDocumentSpec<Schema1_NPP>() .WithEnvelopeSpec<SimpleEnv>() .WithPreserveBom(true); SendPipelineWrapper pipeline = Pipelines.Send() .AddAssembler(asm); // ...
Syndicate
About
Tomas Restrepo is a software developer located in Colombia, South America. His interests include .NET, Connected Systems, PowerShell and lately dynamic programming languages. More...
email: tomas@winterdom.com msn: tomasr@passport.com
Ads
Links
Categories
Statistics
Blogroll
Post Archive
Other
Copyright © 2002-2008, Tomas Restrepo.
Powered by: newtelligence dasBlog 2.1.8139.823