الصفحة الرئيسية>المتعلقة بالبرمجة>شفرة المصدر الأخرى

Mimicker هو خادم HTTP السخري من Python-Native مستوحى من Wiremock ، مصمم لتبسيط عملية نقاط نهاية HTTP السخرية لأغراض الاختبار. لا يتطلب Mimicker مكتبات طرف ثالث وخفيفة الوزن ، مما يجعلها مثالية لاختبار التكامل والتطوير المحلي وبيئات CI.

سمات

تثبيت

يمكن تثبيت Mimicker مباشرة من PYPI باستخدام PIP أو الشعر:

باستخدام PIP:

pip install mimicker

باستخدام الشعر:

poetry add mimicker

الاستخدام

لبدء التقليد على منفذ معين مع نقطة نهاية بسيطة ، يمكنك استخدام مقتطف الرمز التالي:

 from mimicker . mimicker import mimicker , get

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

أمثلة

باستخدام معلمات المسار

يمكن للمقلد التعامل مع معلمات المسار ديناميكيا. إليك كيفية السخرية من نقطة النهاية مع متغير في المسار:

 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!"} 

باستخدام الرؤوس

يمكنك أيضًا السخرية من الردود برؤوس مخصصة:

 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 

طرق متعددة

يتيح لك Mimicker تحديد طرق متعددة لطرق ومسارات HTTP المختلفة. إليك مثال على طرق GET and 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"} 

التعامل مع رموز الحالة المختلفة

يمكنك أيضًا السخرية من رموز حالة HTTP المختلفة لنفس نقطة النهاية:

 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 

استجابات السخرية مع جسم JSON

يدعم Mimicker أجسام JSON ، مما يجعلها مثالية لاختبار 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!"} 

دعم أنواع الجسم الأخرى (النص ، والملفات ، وما إلى ذلك)

بالإضافة إلى أجسام JSON ، يدعم Mimicker أنواعًا أخرى من المحتوى لجسم الاستجابة. إليك كيفية إرجاع النص أو محتوى الملف:

استجابة النص:
 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" 

استجابة الملف:

يمكنك أيضًا إرجاع الملفات من نقطة نهاية وهمية:

 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 

الميزات المتاحة:

متطلبات

Mimicker يدعم Python 3.7 وما فوق.

رخصة

يتم إصدار Mimicker بموجب ترخيص MIT. انظر الترخيص لمزيد من المعلومات.

يوسع
معلومات إضافية