Test Dynamic Logic Integration Point

This Integration Point helps a user to test a section of Dynamic Logic without modifying the data and avoiding the log retrieval service.

The Integration Point takes the Code of a section of Dynamic Logic with the Test signature and executes it. It returns a structured JSON document containing the bind context sent for testing, the result of execution, and any log messages emitted by the Dynamic Logic.

The Integration Point provides HTTP status codes as defined in the Response Messages page of the Developer Guide.

The operations are protected by the HTTP API access restriction test dynamiclogic IP.

The endpoint is available at the following location:

http://<host>:<port>/<context-root>/testdynamiclogic/{dynamicLogicCode}

where {dynamicLogicCode} is the Code of a Dynamic Logic unit with a signature Test Unit.

Operations

POST

A POST message triggers the execution of the Dynamic Logic Test Unit with the specified Code. No need for an additional payload.

Return Responses
Status Returned After

200

Successful execution of the Test Unit (The operation returns a true value).

400

An unsuccessful execution of the Test Unit. The operation either returned a false or threw an exception.

404

Inability to locate Dynamic Logic of signature Test Unit with the specified Dynamic Logic Code.

Implementation Details

The Dynamic Logic Test Unit invokes another Dynamic Logic, which is the Unit Under Test (UUT). The UUT may make changes that result in database changes. Those changes are not committed as the transactions are set to just rollback. This means that Dynamic Logic testing can occur without affecting any data. An invocation does not result in persisted changes to the database. The Test Units are independent of each other and idempotent.

Testing Dynamic Logic that interacts with other systems may affect idempotency. When the UUT sends a message to another system, the effect of this message on the receiving system cannot be prevented. Testing Dynamic Logic must happen in Development and Test environments only.