#java #testing #quarkus #quarkus-oidc
Вопрос:
Написание Тестов Компонентов/Интеграции. Использование Quarkus 2.0 с гарантией безопасности, quarkus-junit5-mockito и quarkus-тест-безопасность-oidc
Я хочу протестировать метод ресурсов с предварительным заданием (создать), потому что я хочу протестировать GET.
Проблема в том, что вызовы работают нормально отдельно или не приводят к ошибке.
С обоими вызовами, заканчивающимися: Ожидаемый код состояния <200>, но был <200><403>.
Ввел ресурс, но иметь дело с cdi-это боль, особенно когда об этом позаботятся аннотации к тесту.
Есть какие-нибудь идеи?
import static io.restassured.RestAssured.given;
...
@QuarkusTest
@TestHTTPEndpoint(MyResource.class)
class MyResourceTest {
private static final String AUTHTOKEN = "Foo Bar.eyJmb28iOiJiYXIifQ==";
@Test
@TestSecurity(user = "user",
roles = "user",
attributes = { @SecurityAttribute(key = "username",
value = "testuser") })
void testGetProducts() {
final UUID id = given().header(AUTHORIZATION, AUTHTOKEN).when().post("/something").then().statusCode(200).extract().as(UUID.class);
given().header(AUTHORIZATION, AUTHTOKEN).when().get("/something/all").then().statusCode(200);
//...
}
Ответ №1:
Не могу поверить в свою глупость.
Проблема заключалась в том, что Ресурсы, на которые я звонил, были помечены разными ролями, что заставляло меня искать часами.
Отлично работает с предоставленными правильными ролями.