Moodle PHP Documentation 4.3
Moodle 4.3.5 (Build: 20240610) (7dcfaa79f78)
testing_util Class Reference

Utils for test sites creation. More...

Inheritance diagram for testing_util:
behat_util phpunit_util

Static Public Member Functions

static clean_tables_updated_by_scenario_list ()
 Delete tablesupdatedbyscenario file.
 
static get_data_generator ()
 Get data generator.
 
static get_dataroot ()
 Return the dataroot.
 
static get_environment ()
 Return list of environment versions on which tests will run.
 
static get_git_hash ()
 Try to get current git hash of the Moodle in $CFG->dirroot.
 
static get_originaldatafilesjson ()
 Return the name of the JSON file containing the init filenames.
 
static get_sequencenames ()
 Returns the names of sequences for each autoincrementing id field in all standard tables.
 
static get_site_info ()
 Gets a text-based site version description.
 
static get_tablestructure ()
 Returns structure of all tables right after installation.
 
static is_test_data_updated ()
 Returns whether test database and dataroot were created using the current version codebase.
 
static is_test_site ()
 Does this site (db and dataroot) appear to be used for production? We try very hard to prevent accidental damage done to production servers!!
 
static reset_all_database_sequences (array $empties=null)
 Reset all database sequences to initial values.
 
static reset_database ()
 Reset all database tables to default values.
 
static reset_dataroot ()
 Purge dataroot directory.
 
static reset_updated_table_list ()
 Reset updated table list.
 
static set_dataroot ($dataroot)
 Set the dataroot.
 
static set_table_modified_by_sql ($sql)
 Set state of modified tables.
 

Static Public Attributes

static array $tableupdated = array()
 list of updated tables.
 

Static Protected Member Functions

static drop_database ($displayprogress=false)
 Drop the whole test database.
 
static drop_dataroot ()
 Drops the test framework dataroot.
 
static get_framework ()
 Returns the testing framework name.
 
static get_tabledata ()
 Returns contents of all tables right after installation.
 
static get_tables_updated_by_scenario_list_path ()
 Returns the path to the file which holds list of tables updated in scenario.
 
static guess_unmodified_empty_tables ()
 Returns list of tables that are unmodified and empty.
 
static save_original_data_files ()
 Save the list of the original dataroot files into a json file.
 
static skip_original_data_files ($utilclassname)
 Skip the original dataroot files to not been reset.
 
static store_database_state ()
 Stores the status of the database.
 
static store_versions_hash ()
 Stores the version hash in both database and dataroot.
 

Static Protected Attributes

static testing_data_generator $generator = null
 
static array $sequencenames = null
 original structure of all database tables
 
static int $sequencenextstartingid = null
 next sequence value for a single test cycle.
 
static array $tabledata = null
 original content of all database tables
 
static array $tablestructure = null
 original structure of all database tables
 
static string $versionhash = null
 current version hash from php files
 

Detailed Description

Utils for test sites creation.

License
http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
License
http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later

Member Function Documentation

◆ clean_tables_updated_by_scenario_list()

static testing_util::clean_tables_updated_by_scenario_list ( )
static

Delete tablesupdatedbyscenario file.

This should be called before suite, to ensure full db reset.

◆ drop_database()

static testing_util::drop_database ( $displayprogress = false)
staticprotected

Drop the whole test database.

Parameters
bool$displayprogress

◆ drop_dataroot()

static testing_util::drop_dataroot ( )
staticprotected

Drops the test framework dataroot.

Reimplemented in behat_util.

◆ get_data_generator()

static testing_util::get_data_generator ( )
static

Get data generator.

Return values
testing_data_generator

◆ get_dataroot()

static testing_util::get_dataroot ( )
static

Return the dataroot.

It's useful when mocking the dataroot when unit testing this class itself.

Return values
stringthe dataroot.

◆ get_environment()

static testing_util::get_environment ( )
static

Return list of environment versions on which tests will run.

Environment includes:

  • moodleversion
  • phpversion
  • dbtype
  • dbversion
  • os
Return values
array

◆ get_framework()

static testing_util::get_framework ( )
staticfinalprotected

Returns the testing framework name.

Return values
string

◆ get_git_hash()

static testing_util::get_git_hash ( )
static

Try to get current git hash of the Moodle in $CFG->dirroot.

Return values
stringnull if unknown, sha1 hash if known

◆ get_originaldatafilesjson()

static testing_util::get_originaldatafilesjson ( )
static

Return the name of the JSON file containing the init filenames.

Return values
string

◆ get_sequencenames()

static testing_util::get_sequencenames ( )
static

Returns the names of sequences for each autoincrementing id field in all standard tables.

Return values
array\$table,=>$sequencename

◆ get_site_info()

static testing_util::get_site_info ( )
static

Gets a text-based site version description.

Return values
stringThe site info

Reimplemented in behat_util.

◆ get_tabledata()

static testing_util::get_tabledata ( )
staticprotected

Returns contents of all tables right after installation.

Return values
array\$table,=>$records

◆ get_tables_updated_by_scenario_list_path()

static testing_util::get_tables_updated_by_scenario_list_path ( )
staticfinalprotected

Returns the path to the file which holds list of tables updated in scenario.

Return values
string

◆ get_tablestructure()

static testing_util::get_tablestructure ( )
static

Returns structure of all tables right after installation.

Return values
array\$table,=>$records

◆ guess_unmodified_empty_tables()

static testing_util::guess_unmodified_empty_tables ( )
staticprotected

Returns list of tables that are unmodified and empty.

Return values
arrayof table names, empty if unknown

◆ is_test_data_updated()

static testing_util::is_test_data_updated ( )
static

Returns whether test database and dataroot were created using the current version codebase.

Return values
bool

◆ is_test_site()

static testing_util::is_test_site ( )
static

Does this site (db and dataroot) appear to be used for production? We try very hard to prevent accidental damage done to production servers!!

Return values
bool

◆ reset_all_database_sequences()

static testing_util::reset_all_database_sequences ( array $empties = null)
static

Reset all database sequences to initial values.

Parameters
array$emptiestables that are known to be unmodified and empty
Return values
void

◆ reset_database()

static testing_util::reset_database ( )
static

Reset all database tables to default values.

Return values
booltrue if reset done, false if skipped

Reimplemented in phpunit_util.

◆ reset_dataroot()

static testing_util::reset_dataroot ( )
static

Purge dataroot directory.

Return values
void

◆ reset_updated_table_list()

static testing_util::reset_updated_table_list ( )
static

Reset updated table list.

This should be done after every reset.

◆ set_dataroot()

static testing_util::set_dataroot ( $dataroot)
static

Set the dataroot.

It's useful when mocking the dataroot when unit testing this class itself.

Parameters
string$datarootthe dataroot of the test framework.

◆ set_table_modified_by_sql()

static testing_util::set_table_modified_by_sql ( $sql)
static

Set state of modified tables.

Parameters
string$sqlsql which is updating the table.

◆ skip_original_data_files()

static testing_util::skip_original_data_files ( $utilclassname)
staticprotected

Skip the original dataroot files to not been reset.

Parameters
string$utilclassnamethe util class name..

◆ store_database_state()

static testing_util::store_database_state ( )
staticprotected

Stores the status of the database.

Serializes the contents and the structure and stores it in the test framework space in dataroot


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