Tuscany SCA Integation Test Databindings

Overview

This integration test tests the Tuscany SCA databinding implementation by passing various data structures across various bindings using the supported databindings. There are tests for the individual databindings which exercise various bindings with the same databinding at client and server ends of each binding. There is also an integration test which exercises the transformer chains by specifying different databindings at client and server ends of the binding.

In doing this testing it is apparent that there is a lot of repetition in creating client, services, idl and type for each of the data types for each of the bindings for each of the databindings. To reduce the amount of effort required to maintain the tests as new types, bindings and databindings are added the test cases themselves are generated from configuration files.

Test Structure

Databindings/Common - hold files common across all tests
Databindings/Interop - test the transformer chains with combinations of databindings
Databindings/sdogen and jaxbgen - test each databindings independently

Test Generation

To reduce the amount of manual effort involved in building and maintaining tests cases the test cases themselves are generated at run time using a set of velocity templates. Each test module has a generate.xml file in the resources/generate directory which tells the generator what to do. The file looks like this.

Each