Qorus Integration Engine®  4.0.3.p1_git
QorusInterfaceTest::QorusWorkflowTest Class Reference

Workflow test class. More...

Inheritance diagram for QorusInterfaceTest::QorusWorkflowTest:
QorusInterfaceTest::QorusInterfaceTest QUnit::Test QUnit::TestReporter QorusInterfaceTest::QorusPassiveWorkflowTest

Public Member Methods

 constructor (string name, string version, *reference p_argv, *hash< auto > opts)
 creates the object from the arguments More...
 
 destructor ()
 stops any workflow execution instance started in the isInterfaceRunning() method call
 
string getLogFileName ()
 returns the log file name for the current object
 
bool isInterfaceRunning ()
 tests whether the current interface is running in the current Qorus instance More...
 
bool canRun ()
 checks if the interface can run
 
softint getLastOrderId ()
 finds the last workflow order instance created for this workflow
 
int createOrder (hash< auto > staticdata, *hash< auto > create_opts)
 creates an order instance and returns the workflow_instanceid More...
 
hash< auto > execSynchronous (hash< auto > orderdata)
 creates and executes a synchronous workflow order and returns the hash data result More...
 
- Public Member Methods inherited from QorusInterfaceTest::QorusInterfaceTest
 constructor (string name, string version, string desc, string rest_pfx, *reference p_argv, *hash< auto > opts)
 creates the object
 
 globalSetUp ()
 checks that the interface exists and executes a StarLog action
 
auto exec (Action data)
 executes the Action by calling its run() method and returns the object of Action (that allows to retrieve some particular information about the action later in the test script) More...
 
string getQorusInstanceName ()
 tests whether some Qorus instance is running and returns its name More...
 
string getInstanceName ()
 returns the Qorus instance name More...
 
string getDescription ()
 returns a string describing the current interface being tested
 
date getTimestamp ()
 returns the test start timestamp
 
*hash< auto > getInterfaceInfo ()
 returns information about the interface from the REST API or NOTHING if the interface doesn't exist or the system is not responding on the HTTP interface
 
bool isInterfaceLoaded ()
 tests whether the current interface is loaded in the current Qorus instance More...
 
bool isInterfaceRunning ()
 tests whether the current interface is running in the current Qorus instance More...
 
hash< auto > getFunctionInfo (string name)
 returns the configuration (including source) for the named library function
 
hash< auto > getConstantInfo (string name)
 returns the configuration (including source) for the named library constant
 
hash< auto > getClassInfo (string name)
 returns the configuration (including source) for the named library class
 
 disable ()
 disables the current interface
 
 enable ()
 enables the current interface
 

Static Public Member Methods

static hash< auto > hierarchyInfo (int wfiid)
 returns a hash of workflow order instance information keyed by workflow_instanceid for all workflow orders in the hierarchy More...
 
static hash< auto > staticData (int wfiid)
 returns the static data hash of the given workflow order More...
 
static *hash< auto > dynamicData (int wfiid)
 returns the dynamic data hash of the given workflow order or NOTHING if no dynamic data exists for the workflow order More...
 
static *hash< auto > orderKeys (int wfiid)
 returns the order key hash for the given workflow order or NOTHING if no order keys have been set for the workflow order More...
 

Private Attributes

*bool m_started
 flag if a workflow exec instance was started; if True then it is stopped in the destructor
 
- Private Attributes inherited from QorusInterfaceTest::QorusInterfaceTest
string m_rest_pfx
 a REST URI path prefix for the interface
 
string m_instance_name
 Qorus instance name.
 
string m_desc
 interface description
 
date m_timestamp = now_us()
 start timestamp
 

Additional Inherited Members

- Private Member Methods inherited from QorusInterfaceTest::QorusInterfaceTest
 setUserPassword ()
 reimplement in child classes to allow the REST username & password for the Qorus server connection to be set before trying to communicate with the server More...
 

Detailed Description

Workflow test class.

Note
if the given workflow is not started, then this class will try to start it automatically and stop it when done; use QorusPassiveWorkflowTest to test workflows without starting them (for example, to test a synchronous workflow)

Member Function Documentation

◆ constructor()

QorusInterfaceTest::QorusWorkflowTest::constructor ( string  name,
string  version,
*reference  p_argv,
*hash< auto >  opts 
)

creates the object from the arguments

Parameters
namethe workflow name
versionthe version of the workflow
p_argvan optional reference to command-line arguments to process
optsan optional option hash for Qore::GetOpt::constructor()

◆ createOrder()

int QorusInterfaceTest::QorusWorkflowTest::createOrder ( hash< auto >  staticdata,
*hash< auto >  create_opts 
)

creates an order instance and returns the workflow_instanceid

Parameters
staticdatathe static data hash for the order
create_optsother options to add to the order hash for the create order REST API, corresponding to the OMQ::UserApi::create_order() API params parameter (ex: orderkeys for order keys, etc)
Returns
the workflow_instanceid created

◆ dynamicData()

static *hash<auto> QorusInterfaceTest::QorusWorkflowTest::dynamicData ( int  wfiid)
static

returns the dynamic data hash of the given workflow order or NOTHING if no dynamic data exists for the workflow order

Parameters
wfiidthe workflow_instanceid of the workflow order to query

◆ execSynchronous()

hash<auto> QorusInterfaceTest::QorusWorkflowTest::execSynchronous ( hash< auto >  orderdata)

creates and executes a synchronous workflow order and returns the hash data result

Parameters
orderdataa hash with the following keys:
  • staticdata: (hash) the static workflow order data (required)
  • dynamicdata: (hash) the initial dynamic data for the workflow (optional)
  • options: (hash) a hash of option names and values; if any options are not valid for the workflow, then an exception is raised and the workflow execution instance is not started (optional)
  • priority: the order priority (default OMQ::DefaultOrderPriority), ignored while the order is processed synchronously; from 0 - 999; priority 0 is the highest; 999 is the lowest
  • orderkeys: order keys for the order
  • external_order_instanceid: the optional external order instanceid for the order
  • parent_workflow_instanceid: a loosely-coupled workflow that will be marked as the parent of this workflow order
Returns
a hash with the following keys:
  • workflow_instanceid: the workflow instance ID for the order created
  • status: the status of the workflow; see Workflow, Segment, and Step Status Descriptions for possible values
  • dynamicdata: the dynamic data of the workflow order instance

◆ hierarchyInfo()

static hash<auto> QorusInterfaceTest::QorusWorkflowTest::hierarchyInfo ( int  wfiid)
static

returns a hash of workflow order instance information keyed by workflow_instanceid for all workflow orders in the hierarchy

Parameters
wfiidthe workflow_instanceid of the workflow order to query

◆ isInterfaceRunning()

bool QorusInterfaceTest::QorusWorkflowTest::isInterfaceRunning ( )

tests whether the current interface is running in the current Qorus instance

Example:
bool b = t.isInterfaceRunning();

◆ orderKeys()

static *hash<auto> QorusInterfaceTest::QorusWorkflowTest::orderKeys ( int  wfiid)
static

returns the order key hash for the given workflow order or NOTHING if no order keys have been set for the workflow order

Parameters
wfiidthe workflow_instanceid of the workflow order to query

◆ staticData()

static hash<auto> QorusInterfaceTest::QorusWorkflowTest::staticData ( int  wfiid)
static

returns the static data hash of the given workflow order

Parameters
wfiidthe workflow_instanceid of the workflow order to query

The documentation for this class was generated from the following file: