簡體   English   中英

Quarkus:集成測試 - 如何模擬 OIDC?

[英]Quarkus: Integration tests - how to mock OIDC?

我正在嘗試使用 Quarkus 運行一些集成測試,並使用承載令牌授權保護我們的 JAX-RS 應用程序。

根據我們在Quarkus 指南中看到的內容,理論上可以模擬授權機制的行為,而無需在本地運行授權服務器(如 Keycloak)。

我發現的問題是在所描述的任何依賴項中都找不到OidcWiremockTestResource.class 在哪兒?

此外,我們如何避免運行授權服務器來針對我們的端點運行一些測試?

我發現可以模擬JsonWebTokenSecurityIdentity只需使用:

    @InjectMock
    SecurityIdentity identity;

    @InjectMock
    JsonWebToken token;

它工作得很好,但是當我嘗試運行集成測試時,授權服務器仍然需要啟動並運行。 否則 Quarkus 無法嘗試連接到它。

我嘗試禁用 OIDC 擴展( quarkus.oidc.enabled=false ),但當然,代碼無法編譯(端點無法識別依賴項)。

那么,在運行一些集成測試時,哪一種是跳過 OIDC 連接的最佳方法?

最好的,

OidcWiremocTestResource1.13.1.Final中可用。

此外,在這種情況下,可以使用TestSecurity注釋,從 Quarkus 2.0開始,可能從1.13.2.Final (如果此 PR 將被向后移植): https://github.com/quarkusio/quarkus/pull/16362

最后,Quarkus 2.0將有一個 Keycloak 測試支持模塊 - 如果您使用 Keycloak,那么它將有助於針對實時 Keycloak 實例進行測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM