# 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