@@ -30,11 +30,43 @@ public void CreateMessageTest()
3030 var result = pipeline . Execute ( message ) ;
3131
3232 Assert . AreEqual ( 1 , result . Count ) ;
33+ Assert . AreEqual ( 1 , result [ 0 ] . PartCount ) ;
3334
3435 var doc = XDocument . Load ( result [ 0 ] . BodyPart . GetOriginalDataStream ( ) ) ;
3536
3637 Assert . AreEqual ( "value1" , doc . Descendants ( "TestElement1" ) . Single ( ) . Value ) ;
3738 Assert . AreEqual ( "value2" , doc . Descendants ( "TestElement2" ) . Single ( ) . Value ) ;
3839 }
40+
41+ [ TestMethod ]
42+ public void CreateMessageWithBodyTest ( )
43+ {
44+ var pipeline = PipelineFactory . CreateEmptyReceivePipeline ( ) ;
45+
46+ pipeline . AddDocSpec ( typeof ( TestSchema ) ) ;
47+
48+ var disassembler = new PipelineComponents . HttpDisassembler . HttpDisassembler
49+ {
50+ DocumentSpecName = "BizTalkComponents.HttpDisassembler.Tests.UnitTests.TestSchema"
51+ } ;
52+ string testMessage = "<testmessage></testmessage>" ;
53+ var message = MessageHelper . CreateFromString ( testMessage ) ;
54+ message . Context . Promote ( new ContextProperty ( "http://BiztalkComponents.PropertySchema#TestProperty1" ) , "value1" ) ;
55+ message . Context . Promote ( new ContextProperty ( "http://BiztalkComponents.PropertySchema#TestProperty2" ) , "value2" ) ;
56+
57+ pipeline . AddComponent ( disassembler , PipelineStage . Disassemble ) ;
58+
59+ var result = pipeline . Execute ( message ) ;
60+
61+ Assert . AreEqual ( 1 , result . Count ) ;
62+ Assert . AreEqual ( 2 , result [ 0 ] . PartCount ) ;
63+
64+ var doc = XDocument . Load ( result [ 0 ] . GetPart ( "querypart" ) . GetOriginalDataStream ( ) ) ;
65+ var bodyDoc = XDocument . Load ( result [ 0 ] . BodyPart . GetOriginalDataStream ( ) ) ;
66+
67+ Assert . AreEqual ( "value1" , doc . Descendants ( "TestElement1" ) . Single ( ) . Value ) ;
68+ Assert . AreEqual ( "value2" , doc . Descendants ( "TestElement2" ) . Single ( ) . Value ) ;
69+ Assert . AreEqual ( testMessage , bodyDoc . ToString ( ) ) ;
70+ }
3971 }
4072}
0 commit comments