Beranda>Terkait pemrograman>Kode sumber lainnya

Mimicker adalah server mocking HTTP asli Python yang terinspirasi oleh Wiremock, yang dirancang untuk menyederhanakan proses mematikan dan mengejek titik akhir HTTP untuk tujuan pengujian. Mimicker tidak memerlukan perpustakaan pihak ketiga dan ringan, membuatnya ideal untuk pengujian integrasi, pengembangan lokal, dan lingkungan CI.

Fitur

Instalasi

Mimicker dapat dipasang langsung dari PYPI menggunakan pip atau puisi:

Menggunakan Pip:

pip install mimicker

Menggunakan puisi:

poetry add mimicker

Penggunaan

Untuk memulai Mimicker pada port tertentu dengan titik akhir sederhana, Anda dapat menggunakan cuplikan kode berikut:

 from mimicker . mimicker import mimicker , get

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

Contoh

Menggunakan parameter jalur

Mimicker dapat menangani parameter jalur secara dinamis. Begini cara Anda bisa mengejek titik akhir dengan variabel di jalur:

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

Menggunakan header

Anda juga dapat mengejek tanggapan dengan header khusus:

 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 

Beberapa rute

Mimicker memungkinkan Anda untuk mendefinisikan beberapa rute untuk metode dan jalur HTTP yang berbeda. Berikut adalah contoh dengan rute GET dan 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"} 

Menangani kode status yang berbeda

Anda juga dapat mengejek kode status HTTP yang berbeda untuk titik akhir yang sama:

 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 

Mengejek respons dengan tubuh JSON

Mimicker mendukung tubuh JSON, membuatnya ideal untuk pengujian 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!"} 

Mendukung tipe tubuh lain (teks, file, dll.)

Selain tubuh JSON, Mimicker mendukung jenis konten lain untuk badan respons. Begini cara Anda dapat mengembalikan konten teks atau file:

Respons Teks:
 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" 

Tanggapan File:

Anda juga dapat mengembalikan file dari titik akhir tiruan:

 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 

Fitur yang tersedia:

Persyaratan

Mimicker mendukung Python 3.7 ke atas.

Lisensi

Mimicker dirilis di bawah lisensi MIT. Lihat lisensi untuk informasi lebih lanjut.

Memperluas
Informasi Tambahan