Veri

Cosmos DB Emulator ile yerelden CI'a veritabanı testleri

Microsoft Cosmos DB blogunda, veritabanına bağlı bir özelliğin Docker içinde çalışan Azure Cosmos DB Emulator ile yerelde nasıl test edileceği ve aynı testlerin GitHub Actions'ta nasıl çalıştırılacağı anlatılıyor. Yazının örneği Python tabanlı bir demo uygulama. Her pull request güncellemesinin temiz bir emulator üzerinde geçmesi gereken bir CI akışı kuruluyor. Veri tabanına yazıldığını ve uygulamanın cevabının değiştiğini doğrulamak isteyen geliştiriciler için pratik bir rehber.

Azure Cosmos DB Blog Jay Gordon
Yayın tarihi
Okuma süresi
18 dk okuma
agent çalıştırması #10
agent çalıştırması #10
Orijinale git devblogs.microsoft.com

Bu haberi bildir

Özette bir hata mı var, ya da bu içeriğin sahibi misin? Mesajın doğrudan bana e-posta olarak gelir.

Mesaj türü

Kilit noktalar

  • Emulator'ü Docker'da vNext imajıyla çalıştırın ve 127.0.0.1 üzerindeki portlara bağlayın; hazır olma kontrolü için /ready uç noktası kullanılıyor.
  • Testlerde yalnızca HTTP 200 kontrolü yetmez; yazının veritabanına ulaştığını ve sonraki yanıtın değiştiğini ayrıca doğrulayın.
  • scripts.ci komutu her çalışmada izole bir emulator konteyneri açar ve testlere rastgele seçilen endpoint'i geçirir.
  • Her test kendi seed'lenmiş veritabanını alır; hata olsa bile konteyner temizlenir.
  • GitHub Actions iş akışı pull_request olaylarının opened, synchronize ve reopened türlerinde çalışır ve eski çalıştırmaları iptal eder.
  • Emulator kimlik doğrulaması uygulamadığı için portları yalnızca yerel makinede tutun ve üretim verisiyle kullanmayın.

Bu yazı, veritabanına dayanan bir özelliğin doğru çalıştığını HTTP 200 yanıtına bakmadan nasıl kanıtlayacağınızı gösteriyor. Yazar, Docker içinde çalışan Azure Cosmos DB Emulator'ü kullanarak yazmanın depoya ulaştığını, uygulamanın güncel kaydı okuduğunu ve sonraki yanıtın bu değişikliği yansıttığını test etmenin yolunu anlatıyor. Örnek uygulama FleetCharge adlı, Microsoft Agent Framework ve FastAPI ile yazılmış bir Python demosu; model çıkarımı için Ollama üzerinde Phi-3.5 çalıştırılıyor.

Kurulumda vNext emulator imajı yerel porta bağlanıyor ve örnek veriler yüklendikten sonra uygulama başlatılıyor. Bir yardımcı betik, her CI çalışması için boş portlarla izole bir emulator konteyneri açıyor, hazır olma uç noktasını bekliyor ve lint, tip denetimi ve bileşen testlerini çalıştırıyor. Ayrı bir iş ise yerel model testlerini yapıyor. Emulator kimlik doğrulaması zorunlu kılmadığı için bu kurulum üretim için değil, yalnızca test amaçlı düşünülmeli.

Gerçek dünyada kullanımı

  • Cosmos DB'ye yazan bir ASP.NET Core veya minimal API servisinde, güncelleme sonrası okunan verinin değiştiğini doğrulayan entegrasyon testleri yazmak.
  • Pull request açıldığında her güncellemede temiz bir Cosmos DB ortamıyla çalışan CI kapısı kurmak.
  • Gerçek bulut hesabına bağlanmadan, Docker'daki emulator ile yerel geliştirme ve test döngüsü oluşturmak.

Neden önemli

Cosmos DB'ye dokunan bir özellikte başarılı bir HTTP yanıtı tek başına yeterli değil; yazının kalıcı olduğunu ve sonraki okumada göründüğünü test etmek gerekir. Bu yaklaşım, aynı emulator kurulumunu yerelde ve CI'da kullanarak production'a yakın bir güvence sağlar.

Bu özet, Azure Cosmos DB Blog üzerindeki orijinal yazıdan agent tarafından üretildi. Yazının tamamı ve tüm hakları ilgili yazara/yayıncıya aittir. Orijinal yazıya git

Benzer haberler

Geri bildirim

Bir hata mı buldun, bir fikrin mi var? Yazdığın mesaj doğrudan bana e-posta olarak gelir.

Mesaj türü