ayon-core/tests/lib
Petr Kalis 7d2974f8e9 Hound
2021-08-09 12:14:36 +02:00
..
__init__.py #1784 - added base implementation for helper DB class 2021-07-07 18:51:55 +02:00
db_handler.py #1784 - Mongo command line utilities are expected at PATH 2021-08-09 12:05:37 +02:00
file_handler.py Hound 2021-08-09 12:14:36 +02:00
README.md #1784 - added wrapper class 2021-07-14 14:58:36 +02:00
testing_wrapper.py Hound 2021-08-09 12:14:36 +02:00

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
    • checks md5 if file ok
    • 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}

    • sql - sql files to load with mongoimport (human readable)