# Pytest Working Group ## Upcoming ## May 9, 2023 - Unittest refactor - pulpcore - pulp_file - We are almost ready to migrate off pulp-smash in pulp_file - We need to clear up the last remaining imports from `pulp_smash.pulp3`. - [lmjachky] I will try to remove the remaining utility functions from pulp_file - Try-except part for PulpTaskError and PulpTaskGroupError in pulpcore will need to be preserved because of some plugins (we can remove it later in another breaking changes release) - The removal needs to be done simultaneously to pulp_file and pulp_certguard. - Can we remove the pulp-smash requirement from pulpcore once we remove everything referencing it? YES, plugins already require it (at least, pulp_container and pulp_deb) - pulp_rpm tests completely rewritten - pulp_container will be refactored in the near future as well (we are not in rush) ## Feb 21, 2023 - How close are we to stop using pulp-smash? - in pulp_file - a couple of functions are missing - [dkliban] will file issue to remove last usages of pulp_smash functions and fixtures - functions that generate dictionaries to pass to the REST API can be absorbed by factory fixtures - - in all plugins - very far - pulp_container and pulp_rpm started the transition. ## Jan 24, 2023 - [lmjachky] - Adding a profile to oci_env to spin up a new container with fixtures - Moving away from the pulp-smash settings file by using env variables and pulpcore pytest fixtures instead: https://github.com/pulp/pulpcore/pull/3498 - Generating random RPM fixtures - https://github.com/pulp/pulp_rpm/issues/2929 - will close this issue and @lmjachky will open a new issue to group tests into classes that will share a repository fixture for the entire class. - will discuss further performance improvements onces ^ is done. ## Jan 5, 2023 Agenda - lmjachky migrated RPM sync tests - https://github.com/pulp/pulp_rpm/pull/2922 - decko has a pulp_container PR for sync tests - https://github.com/pulp/pulp_container/pull/1158 - ## Dec 14. Agenda - AI: [lmjachky] migrate the remaining fixtures from pulp-smash - Regrets [ppicka] ## Dec 1. Agenda - Who are we? - Establish a shared goal. - pulp-smash has served a good purpose, but aged not so well - stop using pulp smash - move the fixtures from pulp-smash into pulpcore - ensure that all test setup and cleanup is performed using fixtures - convert all tests to use pytest fixtures - ensure that all tests that could be run parallel are marked as such - make all plugins independent of pulp-fixtures [stretch goal] - reduce number of tests by combining tests that are similar - Make all plugins into pytest plugins? - not particularly needed today - Consistent naming of fixtures - [dkliban] write up doc on existing naming patterns - tasks_api_client - file_repository_factory - file_repository - file_repo_fixture_server - ... - Which tests are you going to convert? - [mdellweg] pulpcore/pulp-smash migration - [decko] pulp_container - [ppicka] pulp_rpm - [lmjachky] pulp_rpm