25 Mayıs 2021

Postman ile Mock Servis

Bu yazımda mock servisin ne olduğunu, neden ihtiyaç duyulduğunu ve postman ile mock servislerin nasıl oluşturulacağını anlatacağım.

Merhabalar,

Bu yazımda mock servisin ne olduğunu, neden ihtiyaç duyulduğunu ve postman ile mock servislerin nasıl oluşturulacağını anlatacağım.

İngilizce bir kelime olan mock sahte, taklit gibi anlamlara gelmektedir. Mock servisler ile bir servisi taklit edebiliriz ya da sahte bir servis oluşturabiliriz.

Mock servisleri asıl servise ulaşamadığımız durumlarda kullanabiliriz. Test veya geliştirmelerde entegre olarak çalışan birçok servisle karşılaşmaktayız. Bu servislere ortamsal veya başka bir sebep ile ulaşamadığımız durumlarda bu servislerin düzelmesini bekleyip zaman kaybı olmaması adına mock servisler ile işlemlerimizi devam ettirebiliriz.

Bu yazımda rest api üzerinden ilerleyeceğiz. https://reqres.in/api/users/2 servisinin response code ve response’unu kullanabiliriz.

İlk başta sol üstte yer alan new ikonuna tıkladıktan sonra açılan pencerede “Mock Server” bölümüne tıklıyoruz.

 

Mock Server’a tıkladıktan sonra mock servisimizi oluşturmamız için yer alan 3 adımdan ilki servisin metodunu, path’ini, response kodunu ve response body’sini seçeceğimiz bölümdür.

Method kısmını get olarak seçtikten sonra Path kısmına istediğimiz bir path yazabiliriz. Response Code kısmına ise ihtiyaca göre response’da hangi kodun dönmesini istiyorsak onu yazmamız gerekiyor. Response Body’de aynı şekilde servisimizi tetiklediğimizde nasıl bir cevap dönmesini istiyorsak onu yazmamız gerekiyor.

Bu seçimleri yaptıktan sonra next’e tıklayıp bir sonraki bölümümüze geçiyoruz.

metin içeren bir resim Açıklama otomatik olarak oluşturuldu

Bu bölümün ilk kısmında mock servisimize bir isim veriyoruz. İsteğe bağlı olarak servisin çalışacağı ortamı da seçebiliriz.

“Make this mock server private” kısmını işaretlememiz mock servisimizin bize özel olmasını sağlar. Eğer biz bu alanı seçersek servisi tetiklemeden önce header’ın key kısmına x-api-keyvalue kısmına ise postman api keyimizi eklememiz gerekmektedir. Value kısmına yazacağımız API Keyimizi https://web.postman.co/settings/me/api-keys url’i üzerinden postman hesabınız ile giriş yaparak edinebiliriz. Api key’in nasıl eklenmesi gerektiği aşağıda yer almaktadır.

 

tablo içeren bir resim Açıklama otomatik olarak oluşturuldu

“Save the mock server URL as an environment variable” kısmını işaretlersek postman’in bizlere sağladığı base url’i otomatik olarak servis ismi ile aynı olarak oluşturulan environment’a kaydeder. Environment seçimi yaparak bu servisi tetikleyebiliriz.

“Add a delay before sending response” kısmını işaretlersek gelen cevaba bir gecikme ekleyebiliyoruz.

Bu seçimleri yaptıktan sonra Create Mock Server’a tıklayarak son kısmımıza geçiyoruz.

 

metin içeren bir resim Açıklama otomatik olarak oluşturuldu

Bu kısımda sarı ile işaretlediğim bölümde postman’in bize sağladığı base url’i görüyoruz. Bir önceki bölümde yaptığımız seçim sayesinde bu url servisimizin ismi ile aynı olarak oluşturulan environment’a “url” adında değişken olarak da eklenmiş oldu.

Close diyerek artık servisimize dönebiliriz.

metin içeren bir resim Açıklama otomatik olarak oluşturuldu

Ana sayfamıza döndüğümüzde seçtiğimiz isimde bir collection ve servisimizin oluştuğunu görüyoruz. Servisimizin path’i ise mock servisimizi oluşturma adımlarının ilkinde seçtiğimiz path olarak karşımıza geliyor.

 

metin, ekran görüntüsü, ekran içeren bir resim Açıklama otomatik olarak oluşturuldu

Environment’ı kontrol ettiğimizde aynı isimde bir environment oluşmuş ve servisimizin base url’i ortam değişkeni olarak eklenmiştir.

 

tablo içeren bir resim Açıklama otomatik olarak oluşturuldu

Send butonuna tıklayarak mock servisimizi tetiklediğimizde belirlediğimiz response’un döndüğünü görüyoruz.

 

metin içeren bir resim Açıklama otomatik olarak oluşturuldu

İstediğimiz zaman oluşturduğumuz mock servisin metodunu, path’ini, response’unu ve body kısmını değiştirebiliriz. Bunun için sarı ile işaretlediğim kısma tıkladığımızda çıkan default seçeneğine tıklıyoruz ve bu şekilde servisin istediğimiz bölümünü değiştirebiliriz.

 

 

Bu örnek için mock servisimizin response’unu değiştireceğim. Response’u değiştirdikten sonra değişiklikleri kaydetmemiz gerekmektedir. Bunun için Save Example butonuna tıklıyoruz.

 

metin, ekran görüntüsü, ekran içeren bir resim Açıklama otomatik olarak oluşturuldu

Servisimizi yeniden tetiklediğimizde artık yeni response’umuz dönecektir.

 

metin, ekran görüntüsü, ekran içeren bir resim Açıklama otomatik olarak oluşturuldu

Başka bir tool ile oluşturduğumuz mock servisi tetiklemeyi deneyebiliriz. SOAP UI ile mock servisimizi tetikleyebilmek için ortam değişkeni olarak kaydedilen url ve path’imiz ile mock servisimizin girişini yapıyoruz. Servisi tetiklediğimizde ise aynı response’u aldığımızı görüyoruz.

 

metin içeren bir resim Açıklama otomatik olarak oluşturuldu

Umarım faydalı bir yazı olmuştur. Sağlıcakla kalın.

Hakan KAPLAN