---
# System prepended metadata

title: Pytest Working Group

---

# 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