|
|
||
|---|---|---|
| .. | ||
| __init__.py | ||
| assert_classes.py | ||
| db_handler.py | ||
| file_handler.py | ||
| README.md | ||
| testing_classes.py | ||
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
- load test data (uses
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.