Page d'accueil>Lié à la programmation>Autre code source

MIMINKING est un serveur HTTP moqueur HTTP natif Python inspiré de WireMock, conçu pour simplifier le processus de coups et de moqueries HTTP à des fins de test. Mimicker ne nécessite aucune bibliothèque tierce et est légère, ce qui le rend idéal pour les tests d'intégration, le développement local et les environnements CI.

Caractéristiques

Installation

MIMINKING peut être installé directement à partir de PYPI à l'aide de PIP ou de poésie:

Utilisation de PIP:

pip install mimicker

Utilisation de la poésie:

poetry add mimicker

Usage

Pour commencer à Mimicker sur un port spécifique avec un simple point de terminaison, vous pouvez utiliser l'extrait de code suivant:

 from mimicker . mimicker import mimicker , get

mimicker ( 8080 ). routes (
    get ( "/hello" ).
    body ({ "message" : "Hello, World!" }).
    status ( 200 )
)

Exemples

Utilisation des paramètres de chemin

MIMINKING peut gérer dynamiquement les paramètres de chemin. Voici comment vous pouvez vous moquer d'un point de terminaison avec une variable dans le chemin:

 from mimicker . mimicker import mimicker , get

mimicker ( 8080 ). routes (
    get ( "/hello/{name}" )
    . body ({ "message" : "Hello, {name}!" })
    . status ( 200 )
)

# When the client sends a request to /hello/world, the response will be:
# {"message": "Hello, world!"} 

Utilisation d'en-têtes

Vous pouvez également se moquer des réponses avec des en-têtes personnalisés:

 from mimicker . mimicker import mimicker , get

mimicker ( 8080 ). routes (
    get ( "/hello" )
    . body ( "Hello with headers" )
    . headers ([( "Content-Type" , "text/plain" ), ( "Custom-Header" , "Value" )])
    . status ( 200 )
)

# The response will include custom headers 

Plusieurs routes

MiMicker vous permet de définir plusieurs itinéraires pour différentes méthodes et chemins HTTP. Voici un exemple avec les routes GET et POST :

 from mimicker . mimicker import mimicker , get , post

mimicker ( 8080 ). routes (
    get ( "/greet" )
    . body ({ "message" : "Hello, world!" })
    . status ( 200 ),

    post ( "/submit" )
    . body ({ "result" : "Submission received" })
    . status ( 201 )
)

# Now the server responds to:
# GET /greet -> {"message": "Hello, world!"}
# POST /submit -> {"result": "Submission received"} 

Gérer différents codes d'état

Vous pouvez également se moquer de différents codes d'état HTTP pour le même point de terminaison:

 from mimicker . mimicker import mimicker , get

mimicker ( 8080 ). routes (
    get ( "/status" )
    . body ({ "message" : "Success" })
    . status ( 200 ),

    get ( "/error" )
    . body ({ "message" : "Not Found" })
    . status ( 404 )
)

# GET /status -> {"message": "Success"} with status 200
# GET /error -> {"message": "Not Found"} with status 404 

Réponses se moquant avec le corps JSON

Mimicker prend en charge les corps JSON, ce qui le rend idéal pour les tests API:

 from mimicker . mimicker import mimicker , get

mimicker ( 8080 ). routes (
    get ( "/json" )
    . body ({ "message" : "Hello, JSON!" })
    . status ( 200 )
)

# The response will be: {"message": "Hello, JSON!"} 

Soutenir d'autres types de corps (texte, fichiers, etc.)

En plus des corps JSON, Mimicker prend en charge d'autres types de contenu pour l'organisme de réponse. Voici comment renvoyer du contenu de texte ou de fichier:

Réponse du texte:
 from mimicker . mimicker import mimicker , get

mimicker ( 8080 ). routes (
    get ( "/text" )
    . body ( "This is a plain text response" )
    . status ( 200 )
)

# The response will be plain text: "This is a plain text response" 

Réponse du fichier:

Vous pouvez également retourner des fichiers à partir d'un simulation de terminaison:

 from mimicker . mimicker import mimicker , get

mimicker ( 8080 ). routes (
    get ( "/file" )
    . body ( open ( "example.txt" , "rb" ). read ())  # Mock a file response
    . status ( 200 )
)

# The response will be the content of the "example.txt" file 

Caractéristiques disponibles:

Exigences

MIMINKING prend en charge Python 3.7 et plus.

Licence

Mimicker est libéré sous la licence du MIT. Voir la licence pour plus d'informations.

Développer
Informations supplémentaires