Metadata-Version: 2.4
Name: forge-mvc-testing
Version: 1.0.0rc2
Summary: Forge : infrastructure de test partagée (FakeRequest + plugin pytest) pour tester Forge et ses opt-ins.
Author: Roger Lequette
License-Expression: LicenseRef-Forge-Proprietary
Project-URL: Homepage, https://github.com/caucrogeGit/Forge
Project-URL: Repository, https://github.com/caucrogeGit/Forge
Keywords: python,mvc,forge,testing,pytest
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: Pytest
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: forge-mvc<2,>=1.0.0rc2
Requires-Dist: pytest>=7
Dynamic: license-file

# forge-mvc-testing

Infrastructure de test partagée pour le framework Forge (ADR-041).

Ce paquet réservé au développement fournit de quoi tester Forge, ses opt-ins
officiels, et les opt-ins ou applications développés par des tiers :

- `FakeRequest` : une fausse requête HTTP pour tester contrôleurs et helpers sans serveur ;
- un plugin pytest (chargé automatiquement à l'installation) dont les fixtures
  autouse configurent le noyau Forge et réinitialisent l'état partagé entre
  tests (compteurs de tentatives, anti-replay, échecs d'audit).

## Statut

`forge-mvc-testing` est en `Development Status :: 4 - Beta`, aligné sur la
version du cœur. C'est un outil de **développement** : une application ne
l'importe jamais à l'exécution.

## Installation

```bash
pip install --pre forge-mvc-testing
```

En général comme dépendance de développement, par exemple dans
`requirements-dev.txt` :

```
forge-mvc-testing
```

## Utilisation

```python
from forge_mvc_testing import FakeRequest

def test_mon_controleur():
    request = FakeRequest(method="GET", query={"page": "2"})
    response = MonControleur.index(request)
    assert response.status == 200
```

Le plugin pytest s'active dès que le paquet est installé : ses fixtures autouse
préparent le noyau Forge et nettoient l'état partagé avant chaque test, sans
configuration.

## Licence

Distribué sous licence propriétaire Forge (`LicenseRef-Forge-Proprietary`),
comme le reste du framework. Voir `LICENSE`.
