Orchestrator - S41nz/TBTAF GitHub Wiki

TBTAF Orchestrator

Overview

The TBTAF Orchestrator is the brain module of the environment, coordinates the execution and communication between the rest of the modules. It offers a Facade as well for API-based communication with the external world.

API Specification

Init

  • Inputs:

    1. Optional string containing the filepath of the intitialization file that specifies all the initialization parameters to launch all the TBTAF features.
  • Outputs:

    1. None
  • Exceptions

    1. In case that there was any initialization error, this should be reported via TBTAF Initialization Exception.
    2. If the initialization file parameter is provided and is null or non-existing, then an Invalid Argument Exception will be thrown.

CreateNewProject

  • Inputs:

    1. Reference to created TBTestSuite instance.
    2. Reference to the created TBTestBed instance
    3. String containing the name of the Project to be created.
  • Outputs:

    1. None
  • Exceptions

    1. In case that any of the provided arguments are null references or empty strings for the case of the Project ID parameter, then an Invalid Argument Exception will be thrown.
    2. If the provided Project key already exist, then a Already Existing Project Exception will be thrown.

ParseScript

This is just exposing the API with the same name from the TBTAF Interpreter

CreateTestBed

  • Inputs:

    1. Optional list of URLs containing the nodes were the test execution can be performed for a given suite. If the list is omitted, then the execution is assumed to be performed @ localhost.
  • Outputs:

    1. Reference to the created TBTestBed instance.
  • Exceptions:

    1. If the list is provided and its null or contains null or malformed URLs then an Invalid Argument Exception will be thrown.

CreateTestSuite

  • Inputs:

    1. String containing the filepath where the test cases are located.
    2. Optional String containing the list of tags which are desired to be executed among the existing test code within the specified location.
  • Outputs:

    1. Reference to the created TBTestSuite or TBSmartTestSuite.
  • Exceptions:

    1. If any of the provided lists or paths is null, contains null or non-existing locations, then an Invalid Argument Exception will be thrown.

PublishTestPlan

This is just exposing the API with the same name from the TBTAF Publisher

PublishResultReport

This is just exposing the API with the same name from the TBTAF Publisher

ExecuteTestSuite

This is just exposing the ExecuteTest API from the TBTAF Executor

GetTests

  • Inputs:

    1. String identifying the Project from where the query is being made.
    2. Optional List of tags in order to filter the query being made.
    3. If the list of tags is provided, then an additional enumeration can be passed in order to specify if the tags will be used to filter IN or OUT the results found.
  • Outputs:

    1. Dictionary structure with the tuples of the form < Tag,List of tests files that contain that tag >.
  • Exceptions:

    1. If the parameters being passed are null (for the case of the first parameter) or contain null (for the case of the optional tags collection) then an Invalid Argument Exception will be thrown.
    2. If the provided Project key does not exist on the currently connected datasource, then a Not Existing Project Exception will be thrown.
    3. If the provided filtering enumeration is provided, then a Not Supported Filter Exception will be thrown.

GetTags

  • Inputs:

    1. String describing the project from which the query is being made.
  • Outputs:

    1. List of strings describing the tags that are contain within all the test code files of the given project.
  • Exceptions:

    1. If null string is provided as Project ID then an Invalid Argument Exception will be thrown.
    2. If the provided Project key does not exist on the currently connected datasource, then a Not Existing Project Exception will be thrown.