Testing Default Service Implementations

On the Generation Settings window you can set options to generate a "server test client" and "service test logic." When these options are selected, the Rose Expert generates code for a command-line test client and a make file (as well as framework classes and make files). The generated test client and make file can be used to build that client and all servers in the selected component package. The name of the generated make file is based on the name of the selected component package (also referred to as subsystem) and the current platform:

Table 3-8 Generated Make File Naming and Use

Platform File Name Sample Usage

UNIX

ComponentPackageName.mk

make -f ComponentPackageName.mk

Windows NT

ComponentPackageName.mak

If you are using Microsoft Visual C++:

If you have checked the option to generated service test logic (see Generation Settings window), the Rose Expert generates default test logic for all services within a server (which relates to a module in the Contract Repository). This test logic will log all the service input arguments to the BEA TUXEDO userlog file, assign static values to all the output arguments (based on their types) and return an appropriate reply.

You can use the command-line test client generated by the Rose Expert to exercise all the service interfaces within a server. When you run the test client, it will test each service in succession by prompting for each service's input arguments, calling the service, then displaying its own output arguments before moving on to the next service.
 

Configuring the Generated Test Client and Server

You can use the Configuration Expert to generate a BEA TUXEDO configuration file (a ubbconfig file) with information necessary for BEA TUXEDO to boot the servers. Once the servers are running, you can run the command-line client from the command line prompt to test the generated default logic for the services.
 

Running the Generated Test Client

Once you have built, configured, and booted your application, you are ready to run the test client. The test client is a command line client that runs through all the services in a server.

To run the test client:

  1. At the command line, change directories into the Project Root directory. (For example, \TUXBldr\RoseExpert\output\Bankapp\)

  2. Enter <server>_tst (for example <BANKAPP>_tst) at the command line prompt. This starts the test client.

    The following code listing shows the output you can expect to see when you run the test client. (Sample user input is shown in bold.)

    Listing 3-3 Example of Running the Test Client
    C:\TUXBldr\RoseExpert\output\Bankapp>bankapp_tst

    Testing Service Implementation Class: Teller and service: DEPOSIT
    << Enter the variable ( long ACCOUNT_ID), value:
    100

    << Enter the variable ( string SAMOUNT), value:
    100.09

    << Output variable (string SBALANCE), value = STRING VALUE
    << Output variable (string STATLIN), value = STRING VALUE

    Testing Service Implementation Class: Teller and service: INQUIRY
    << Enter the variable ( long ACCOUNT_ID), value:
    102

    << Output variable (string SBALANCE), value = STRING VALUE

    Testing Service Implementation Class: Teller and service: WITHDRAWAL
    << Enter the variable ( long ACCOUNT_ID), value:
    102

    << Enter the variable ( string SAMOUNT), value:
    100.09

    << Output variable (string SBALANCE), value = STRING VALUE
    << Output variable (string STATLIN), value = STRING VALUE

    Testing Service Implementation Class: Backoffice and service: OPEN_ACCT
    << Enter the variable ( long BRANCH_ID), value:
    20

    << Enter the variable ( string SAMOUNT), value:
    100.09

    << Enter the variable ( char ACCT_TYPE), value:
    C

    << Enter the variable ( string LAST_NAME), value:
    LASTNAME

    << Enter the variable ( string FIRST_NAME), value:
    FIRSTNAME

    << Enter the variable ( char MID_INIT), value:
    M

    << Enter the variable ( string SSN), value:
    666778888

    << Enter the variable ( string ADDRESS), value:
    def xyz

    << Enter the variable ( string PHONE), value:
    1112223333

    << Enter the variable ( char OPEN_CR), value:
    S

    << Output variable (long ACCOUNT_ID), value = 99999999
    << Output variable (string SBALANCE), value = STRING VALUE
    << Output variable (string STATLIN), value = STRING VALUE

    Testing Service Implementation Class: Backoffice and service: CLOSE_ACCT
    << Enter the variable ( long ACCOUNT_ID), value:
    100

    << Output variable (string SBALANCE), value = STRING VALUE
    << Output variable (string STATLIN), value = STRING VALUE

    Testing Service Implementation Class: Transfer and service: TRANSFER
    << Enter the variable ( long DEBIT_ACCOUNT_ID), value:
    100

    << Enter the variable ( long CRE