Overview

The set of libraries is as follows
  • BizUnitExtensions - General Steps such as DotNetObjectInvokerEx, SoapHttpRequestResponseEx, XmlPokeStep etc.
  • BizUnitExtensions.BizTalk - Application ConductorStep, MapExecutingStep etc.
  • BizUnitExtensions.EntLib - EntLib based DBQueryStep, DatabaseDeleteStep etc
  • BizUnitExtensions.Oracle - OracleDBQueryStep.

First, Some context on the Test Libraries and their unit tests

These steps fill some gaps that the main codebase doesnt address. (To be clear: at the time these extension steps were written, the main code base (v2.x and 3.0) didnt have the functionality. In later versions, they may have been added but we havent had occasion to revisit)

The tests that accompany the code base here are really functional tests. The steps themselves directly use the system underneath (for example BizTalk steps directly talk to the BizTalk Explorer OM and WMI etc ) and dont go via provider interfaces which could be mocked. So in effect, these functional tests are not of much use to you in terms of verifying that the source is fully tested etc but they can be of use as a form of documentation so you can see how the steps all work together (and complement the steps in the main distribution).

If you do want to use the source, then please note that we have run a couple of the test steps against the BizTalk product SDK samples and the documentation indicates which these are and you should have them deployed first before using the tests. In future we may choose one of the BizTalk SDK end to end scenarios which is easy to deploy and write the functional tests against this. This is the same approach that has been used in the Performance Optimization Guide (which shows how to load test the BPM scenario using BizUnit and LoadGen).

General Steps

ContextPopulateStep The ContextPopulateStep takes each key and value and adds it to the context. This is a standalone step and should not be nested (like the other ContextLoader steps)

DotNetObjectInvokerExStep The extra functionality provided here is that is allows using the context while setting parameter values (which is not possible in the core OM)

FileDeleteExStep The FileDeleteStep deletes a FILE specified at a given location. The EXTENSION now includes the use of context in this step

StringFormatterMultipleStep The StringFormatter multiple step is used to format a base with multiple parameters and then to load the result into a specified key in the context

StringFormatterStep The StringformatterStep is used to format a string with a number of parameters and then to load the formatted string into the value of a specified context key. This is useful when you have to build say, a connection string, with dynamic values for server, database etc and then need to store in the context for use in future steps that connect to the specified database

WaitOnFileExStep The WaitOnFileExStep is used to wait for a FILE to be written to a given location. It uses the file system watcher. It replaces the old step which used to simply delay for the given interval.Now when the file is detected the system returns immediately. It also loads the file name(both the full name and the simple name) into the context (with the keynames WaitedFileFullName and WaitedFileName) and allows you to specify whether you want to consider previously existing files which is useful in scenarios where the testing is intensive and the system races ahead of the test and places the file in the location and the step executes after the file is already available.

XmlPokeStep This step is modelled on the lines of the NAnt XmlPoke task The XmlPokeStep is used to update data in an XML file with values from the context This will enable the user to write tests which can use the output of one step to modify the input of another step

BizTalk Steps

Again, these fill some gaps that were missing in the main distribution. Additionally, instead of using WMI, these steps refer to the Explorer OM so that we can access some more functionality in a strong typed manner. I think the names should be self evident so no additional documentation should be needed.

ApplicationConductorStep
ApplicationGetStatusStep
ApplicationVerifyStatusStep
MapExecutingStep
OrchestrationConductorExStep
ReceiveLocationConductorStep
ReceiveLocationGetStatusStep
ReceivePortConductorStep
ReceivePortVerifyStatusStep
SendPortConductorStep
SendPortGetStatusStep
SendPortVerifyStatusStep

BizUnit Extensions For Oracle Steps

OracleDBQueryStep The OracleDBQueryStep is used to query an Oracle database and validate the values for the row returned. It requires the installation of the ODP.NET provider

Last edited Aug 12, 2010 at 3:52 PM by santoshbenjamin, version 8

Comments

No comments yet.