Test engine

This sections contains module documentation of main testengine module. Unit tests available at hydratk/extensions/yoda/testengine/01_methods_ut.jedi, 02_methods_ut.jedi, 03_methods_ut.jedi

Class TestEngine

Attributes :

  • _mh - MasterHead reference
  • _test_run - test run reference
  • _exec_level - execution level
  • _tset_struct - parsed test set
  • _tset_obj - test set reference
  • _tset_file - test set file
  • _this
  • _parent - reference to parent test object
  • _current - reference to current tes object
  • _test_simul_mode - True if running simulation
  • _code_stack - CodeStack reference
  • _run_mode_area - run area (global, inrepo)
  • _run_mode_src - run source (folder, singlefile)
  • _ts_filter - test scenario filter
  • _tca_filter - test case filter
  • _tco_filter - test condition filter
  • _config
  • _test_repo_root - yoda repository directory
  • _libs_repo - libraries directory
  • _templates_repo - test directory
  • _helpers_repo - helpers directory
  • _test_file_ext - extensions for test files (yoda, jedi)
  • _test_template_ext - extensions for test template (padavan)
  • _test_results_db - results database reference
  • _have_test_results_db - bool, True if _test_results_db is set
  • _use_test_results_db

Properties (Getters) :

  • code_stack - returns _code_stack
  • test_repo_root - returns _test_repo_root
  • libs_repo - returns _libs_repo
  • templates_repo - returns _templates_repo
  • have_test_results_db - bool, True if _test_results_db is set
  • test_results_db - returns _test_results_db
  • helpers_repo - returns _helpers_repo
  • ts_filter - returns _ts_filter
  • tca_filter - returns _tca_filter
  • tco_filter - returns _tco_filter
  • run_mode_area - returns _run_mode_area
  • run_mode_src - returns _run_mode_src
  • exec_level - returns _exec_level
  • test_simul_mode - returns _test_simul_mode
  • test_run - returns _test_run

Properties (Setters) :

  • test_repo_root - sets _test_repo_root
  • libs_repo - sets _libs_repo
  • templates_repo - sets _templates_repo
  • test_results_db - sets _test_results_db, _have_test_results_db
  • helpers_repo - sets _helpers_repo
  • ts_filter - sets _ts_filter
  • tca_filter - sets _tca_filter
  • tco_filter - sets _tco_filter
  • run_mode_area - sets _run_mode_area if allowed (global, inrepo)
  • run_mode_src - sets _run_mode_src if allowed (folder, singlefile)
  • test_simul_mode - sets _test_simul_mode
  • test_run - sets _test_run

Methods :

  • __init__

Methods sets initial attribute values.

  • new_test_run

Method initializes test run (testobject.TestRun).

  • _h_include

Method reads referenced test file (using macro). Relative path is allowed only.

  • load_tset_from_file

Method loads test set content from file using method load_tset_from_str.

  • load_tset_from_str

Methods loads test set content from string to YAML format. Also it parses macros.

  • _parse_ts_node

Method parses test scenario dictionary. It sets only metadata (elements Test-Case are omitted).

  • _parse_tca_node

Method parses test case dictionary. It sets only metadata (elements Test-Condition are omitted).

  • _parse_tco_node

Method parses test condition dictionary. It sets all elements.

  • parse_tset_struct

Method parses test set hierarchy Test-Scenario -> Test-Case -> Test-Condition. For each element it creates appropriate object (TestScenario, TestCase, TestCondition). They must be numbered and ordered Test-Scenario-%d, Test-Case-%d, Test-Condition-%d. Metadata elements are processing by auxiliary methods _parse_ts_node, _parse_tca_node, _parse_tco_node.

  • exec_test

Method executes all tests found on path. It sets run area, global if path is absolute, inrepo if path is relative. It searches test files on path. For each test file it fires event yoda_before_parse_test_file. The file is loaded and parsed. If correctly parsed it creates test set database record, runs the set and updates database record.

  • get_all_tests_from_container

Method gets test paths specified in container file. Each line is considered as test path and is searched using method get_all_tests_from_path.

  • get_all_tests_from_path

Method gets all test files found on path. The path can contain filters (path:ts_filter:tca_filter:tca_filter) which are parsed. When path is file method sets singlefile run source. The file must extensions jedi (test set) or yoda (container, method parses it using get_all_tests_from_container). When path is directory method sets folder run source. Then it goes through directory tree and searches jedi, yoda files.

Class CodeStack

Attributes :

  • _locals - local scope

Methods :

  • __init__

Method sets _locals

  • execute

Method executes piece of code (using system method exec) within local and global scope.

Class MacroParser

Attributes :

  • _hooks - macro hooks

Methods :

  • mp_add_hooks

Method registers macro hooks dictionary (key - name, value - callback).

  • mp_add_hook

Method registers macro hook specified by name, callback.

  • mp_parse

Method parses macro string #<<(.*)::(.*)>># (callback, parameters).

  • _mp_processor

Method calls macro with given parameters if registered.

Class Current

It is used as reference to current test object.

Attributes :

  • _tset - TestSet reference
  • _ts - TestScenario reference
  • _tca - TestCase reference
  • _tco - TestCondition reference
  • _te - TestEngine reference

Properties (Getters) :

  • te - returns _te
  • test_set - returns _tset
  • tset - returns _tset
  • test_scenario - returns _ts
  • ts - returns _ts
  • test_case - returns _tca
  • tca - returns _tca
  • test_condition - returns _tco
  • tco - returns _tco

Properties (Setters) :

  • te - sets _te
  • test_set - sets _tset
  • tset - sets _tset
  • ts - sets _ts
  • tca - sets _tca
  • tco - sets _tco

Class Parent

It is used as reference to parent test object.

Attributes :

  • _tset - TestSet reference
  • _ts - TestScenario reference
  • _tca - TestCase reference

Properties (Getters) :

  • test_set - returns _tset
  • tset - returns _tset
  • test_scenario - returns _ts
  • ts - returns _ts
  • test_case - returns _tca
  • tca - returns _tca

Properties (Setters) :

  • test_set - sets _tset
  • tset - sets _tset
  • ts - sets _ts
  • tca - sets _tca

Class TestSet

Inherited from testobject.TestSet.

Attributes :

  • _ts - list of test scenarios

Methods :

  • append_ts

Method adds TestScenario to _ts.

Class TestScenario

Inherited from testobject.TestScenario.

Attributes :

  • _tca - list of test cases
  • _next - reference to next scenario
  • _action

Methods :

  • repeat

Method enables test scenario to be repeated.

  • append_tca

Method adds TestCase to _tca.

Class TestCase

Inherited from testobject.TestCase.

Attributes :

  • _tco - list of test conditions
  • _next - reference to next case
  • _action

Methods :

  • repeat

Method enables test case to be repeated.

  • append_tco

Method adds TestCondition to _tco.

Class TestCondition

Inherited from testobject.TestCondition.

Attributes :

  • _next - reference to next condition
  • _action

Methods :

  • repeat

Method enables test condition to be repeated.