Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add functional smoke tests and automated testing workflow (#336)
* build out structure for initial smoke test * get latest created GWSBaselineConformance dir * add capability to recursively check if paths are file/directory * add helper function to determine if all outputs exist * refactor into smoke_test_utils * cleanup, add run_smoke_test workflow * build out initial workflow for smoke testing scubagoggles from a windows os * add workflow_dispatch * add pytest install * run test * change secret creds * change secret creds * change secret creds * move location of cache step; add shell=True to test * debug smoke_test.py * adjust smoke_test workflow * smoke_test workflow updates * smoke_test workflow updates * adjust smoke_test workflow * smoke_test workflow updates * smoke_test workflow updates * smoke_test workflow updates * adjust smoke_test workflow * adjust smoke_test workflow * adjust smoke_test workflow * adjust smoke_test workflow * adjust smoke_test workflow * adjust smoke_test workflow * adjust smoke_test workflow * adjust pip3 -> pip * update numpy * update secrets, create credentials.json for service account * add cache dependency path, not working yet; readd numpy line to prevent error * remove utf-8 encoding * refactor try/catch handlers into smoke test methods; remove ProviderSettingsExport and switch to ScubaResults.json * workflow updates * create custom action for setting up repo and python version/cache * make macos smoke test depend on windows job * adjust local composite action * adjust workflow * adjust workflow * modify path structure for initialize-smoke-test action * modify path structure for initialize-smoke-test action * modify path structure for initialize-smoke-test action * rename action to initialize-scubagoggles; move majority of steps out of workflow into action for reuse * action modifications * action modifications * action changes * create separate subactions for windows/mac setup * fix location of shell property * workflow adjustment * workflow adjustment * rename to setup python * add -y to bypass confirmation * try removing shell from actions and keep in workflow * trigger workflow * readd shell param * fix credentials.json for macos job * test macos * comment pytest in mac run so cache completes * see if credentials.json is created * try converting workflow to matrix * try converting workflow to matrix * try converting workflow to matrix * test matrix version * lets see if refactoring into separate workflow changes things * retry conditionals * commit * commit * commit * fairly major change to structure.. should be clear on which action to navigate to whether its windows/mac * didnt add input in macos dependencies action * macos credentials.json update * macos credentials.json update * macos credentials.json update * macos credentials.json update * macos credentials.json update * macos credentials.json update * macos credentials.json update * macos credentials.json update * macos credentials.json update * macos credentials.json update * macos credentials.json update * macos credentials.json update * macos credentials.json update * try different approach for creating credentials.json * try different approach for creating credentials.json * try different approach for creating credentials.json * try different approach for creating credentials.json * try different approach for creating credentials.json * try different approach for creating credentials.json * try different approach for creating credentials.json * try different approach for creating credentials.json * try different approach for creating credentials.json * try different approach for creating credentials.json * try different approach for creating credentials.json * switching to environment secrets.. issue is with repo secrets * switching to environment secrets.. issue is with repo secrets * switching to environment secrets.. issue is with repo secrets * cleanup workflows/actions; add check for valid json; add types * added test_scubagoggles_report pytest with selenium; testing BaselineReports.html successfully so far * added test_scubagoggles_report pytest with selenium; testing BaselineReports.html successfully so far * added test_scubagoggles_report pytest with selenium; testing BaselineReports.html successfully so far * added test_scubagoggles_report pytest with selenium; testing BaselineReports.html successfully so far * added test_scubagoggles_report pytest with selenium; testing BaselineReports.html successfully so far * best practice improvements for how file protocol is handled before invoking selenium; adding caching for both windows/macos deps * best practice improvements for how file protocol is handled before invoking selenium; adding caching for both windows/macos deps * test python v3.9, bug fix * readability improvements * expand selenium testing of scubagoggles reports, checks parent/individual reports * refactor smoke_test.py; add run_selenium method for handling report testing * conditionally uninstall numpy to see if 3.8.10 passes smoke test; some additional refactoring/code improvements * conditionally uninstall numpy to see if 3.8.10 passes smoke test; some additional refactoring/code improvements * try simplifying types to see if 3.8.10 passes * finish testing scubaresults for errors * encapsulate selenium driver setup into a class * remove 3.8 from workflow; convert some static strings to const * improve error handling when verifying scubaresults.json * start addressing pylint warnings for selenium_browser.py * address pylint warnings across selenium_browser.py, smoke_test.py, smoke_test_utils.py * addressing more of pylint warnings * address some path issues with importing orchestrator methods * move pytest.ini to root * continue to address pylint errors, most should be resolved now * address final pylinter errors, add get_package_version() method in orchestrator/utils * address last pylinter error
- Loading branch information