Uyumluluk: Pactmark 0.2.x. Fixture modu çevrimdışıdır ve CI’da zorunludur.
createExternalSearchAdapter, canlı erişim açıkça etkinleştirilmedikçe kapalı biçimde başarısız olur
ve bu depo hiçbir sağlayıcı uygulaması içermez.Çalıştırın
Neyi gösterir
Fixture destekli arama
Deterministik kaynaklar; böylece test paketi yeniden üretilebilir ve ücretsizdir.
Kapalı biçimde başarısız canlı erişim
Dış adaptör, canlı erişim açıkça etkinleştirilmedikçe çalışmayı reddeder.
Atıf doğrulaması
Bir doğrulayıcı, atıfların alınan baytlara karşı yapısal olarak çözülebilir olduğunu denetler.
Sınırlı bir kanıt kaydı
Atıf-biçimi doğrulamasının neyi tesis etmediğine dair açık bir listeyle.
Asıl ilginç kısım kapalı-başarısızlık adaptörüdür
src/tools/fixture-search.ts
Bunu, anahtar eksikse sessizce bir stub’a düşen yaygın adaptör deseniyle karşılaştırın. O desen,
hiçbir şeyi kanıtlamayan yeşil testler üretir. Kapalı biçimde başarısız olmak, “fixture’lara karşı
çalışıyoruz”u bir varsayım değil görünür bir olgu yapar.
Atıf doğrulayıcısı neyi denetler
1
Her iddia bir atıf taşır
Atıfsız bir iddia kapsam denetimini geçemez.
2
Her atıf saklanmış bir artifact özetine atıfta bulunur
Kimsenin çekmediği bir URL metnine değil.
3
Alıntılanan her aralık o baytlarda mevcuttur
Modelin uydurduğu bir alıntı, bir gözden geçirenin keşfi değil bir doğrulayıcı başarısızlığıdır.
4
Atıf yapısı çözülür
Alanlar mevcut, biçimler doğru, referanslar iç tutarlı.
Ne üretir
Şekil 1. Araştırma çıktısı için değerin çoğunu sağ sütun taşır. Doğrulanmış bir atıf biçimi ile doğru bir iddia farklı şeylerdir ve kayıt bunu söyler. Örneğin kendi README’sinden:Atıf biçimi, özet bütünlüğü ve fixture desteği; canlı bir URL’nin var olduğunu, dış bir kaynağın yetkin olduğunu veya sonucun eksiksiz olduğunu kanıtlamaz.
Neyi kanıtlamaz
Dikkatlice canlıya almak
1
Önce bir egress izin listesi beyan edin
Tam HTTPS origin’ler, yalnızca
GET, networkEnforcement: "required". İzin listesini seçmek, hangi
kaynakları güvenilir saydığınıza dair editoryal bir karardır.2
Alınan her kaynağı artifact olarak saklayın
Herhangi bir şey onu okumadan önce içerik-adresli. Atıflar URL’lere değil özetlere bağlanır.
3
CI için fixture modunu koruyun
Testleri canlı internete giden bir araştırma ajanının kararsız testleri ve sınırsız faturası olur.
4
Bağlamı sınırlayın
maxRunToolResultContextBytes burada her yerden önemlidir — hem bir maliyet hem bir injection yüzeyi
kontrolüdür.5
doesNotProve'u dürüstçe güncelleyin
“İzin listesi dışındaki ilgili kaynakların dikkate alındığını” ekleyin. Doğru olacaktır.
Araştırma senaryosu
Politika, egress ve kanıtla senaryonun tamamı.
Kanıt
doesNotProve alanının neden zorunlu olduğu.