Configuración de Allure gRPC
Esta página describe las opciones que afectan el comportamiento de la integración de Allure gRPC.
Para cambiar los valores predeterminados, crea el interceptor mediante AllureGrpc.builder() en lugar de new AllureGrpc(). Todos los métodos del builder son encadenables. Llama a build() al final para obtener el interceptor.
import io.grpc.ClientInterceptor;
import io.grpc.ManagedChannel;
import io.grpc.ManagedChannelBuilder;
import io.qameta.allure.grpc.AllureGrpc;
ClientInterceptor allure = AllureGrpc.builder()
.redactHeader("x-api-key")
.redactCookie("session")
.build();
ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 8080)
.intercept(allure)
.usePlaintext()
.build();Estado de paso
markStepFailedOnNonZeroCode(boolean enabled)
Por defecto, si una llamada termina con un código de estado gRPC distinto de cero, su paso se marca como fallido. Pasa false para mantener dichos pasos como aprobados, por ejemplo, si tus pruebas verifican respuestas de error intencionalmente.
ClientInterceptor allure = AllureGrpc.builder()
.markStepFailedOnNonZeroCode(false)
.build();Captura de metadatos
captureRequestMetadata(boolean enabled)captureResponseMetadata(boolean enabled)
Por defecto, el adjunto contiene los metadatos de la solicitud, y los encabezados y trailers de la respuesta. Pasa false para omitirlos en cualquiera de las direcciones. Los trailers grpc-status y grpc-message siempre se muestran.
ClientInterceptor allure = AllureGrpc.builder()
.captureRequestMetadata(false)
.captureResponseMetadata(false)
.build();Redactar datos sensibles
redactHeader(String name)- reemplaza el valor de la clave de metadatos indicada con un marcador de posición. El nombre no distingue mayúsculas y minúsculas.redactCookie(String name)- reemplaza el valor de la cookie indicada con un marcador de posición. Allure gRPC muestra las cookies de los metadatoscookiepor separado del resto de los metadatos.
Por defecto, el valor de metadatos authorization se reemplaza con un marcador de posición.
ClientInterceptor allure = AllureGrpc.builder()
.redactHeader("x-api-key")
.redactCookie("session")
.build();Configurar el adjunto de intercambio HTTP
configureExchange(Consumer<HttpExchange.Builder> customizer)
Allure gRPC registra cada llamada como un adjunto de intercambio HTTP. Usa configureExchange() para cambiar las demás propiedades de este adjunto, por ejemplo, el tamaño máximo de los mensajes. Si llamas a configureExchange(), redactHeader() o redactCookie() varias veces, se aplican todos los cambios.
Los siguientes métodos del builder de intercambio HTTP son útiles para llamadas gRPC:
redactHeader(String name),redactCookie(String name)- igual que los métodos del builder anteriores.setMaxBodySize(long maxBodySize)- el número máximo de bytes de los mensajes de solicitud o respuesta a conservar. Los mensajes más largos se truncan y se marcan como truncados en el reporte. Por defecto es 1 MiB.
ClientInterceptor allure = AllureGrpc.builder()
.configureExchange(exchange -> exchange.setMaxBodySize(256_000))
.build();