mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-25 21:32:15 +01:00
46 lines
No EOL
1.6 KiB
Markdown
46 lines
No EOL
1.6 KiB
Markdown
Automatic testing
|
|
-----------------
|
|
Folder for libs and tooling for automatic testing.
|
|
|
|
- db_handler.py - class for preparation of test DB
|
|
- dumps DB(s) to BSON (mongodump)
|
|
- loads dump(s) to new DB (mongorestore)
|
|
- loads sql file(s) to DB (mongoimport)
|
|
- deletes test DB
|
|
|
|
- file_handler.py - class to download test data from GDrive
|
|
- downloads data from (list) of files from GDrive
|
|
- check file integrity with MD5 hash
|
|
- unzips if zip
|
|
|
|
- testing_wrapper.py - base class to use for testing
|
|
- all env var necessary for running (OPENPYPE_MONGO ...)
|
|
- implements reusable fixtures to:
|
|
- load test data (uses `file_handler`)
|
|
- prepare DB (uses `db_handler`)
|
|
- modify temporarily env vars for testing
|
|
|
|
Should be used as a skeleton to create new test cases.
|
|
|
|
|
|
Test data
|
|
---------
|
|
Each class implementing `TestCase` can provide test file(s) by adding them to
|
|
TEST_FILES ('GDRIVE_FILE_ID', 'ACTUAL_FILE_NAME', 'MD5HASH')
|
|
|
|
GDRIVE_FILE_ID can be pulled from shareable link from Google Drive app.
|
|
|
|
Currently it is expected that test file will be zip file with structure:
|
|
- expected - expected files (not implemented yet)
|
|
- input
|
|
- data - test data (workfiles, images etc)
|
|
- dumps - folder for BSON dumps from (`mongodump`)
|
|
- env_vars
|
|
env_vars.json - dictionary with environment variables {key:value}
|
|
|
|
- json - json files to load with `mongoimport` (human readable)
|
|
|
|
|
|
Example
|
|
-------
|
|
See `tests\unit\openpype\modules\sync_server\test_site_operations.py` for example usage of implemented classes. |