GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — allure-java/allure-grpc at main · MohabMohie/allure-java

Expand file tree

/

allure-grpc

/
Copy path

Directory actions

More options

More options

Directory actions

More options

More options

Latest commit

 

History

History
History
 
 
/

allure-grpc

/
Copy path

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
src
src
 
 
README.md
README.md
 
 
build.gradle.kts
build.gradle.kts
 
 

README.md

Outline

allure-grpc

gRPC client interceptor integration for Allure Java.

Use this module when your tests call gRPC services and you want method calls, metadata, messages, timing, and statuses to appear in Allure Report.

Supported Versions

  • Allure Java 3.x requires Java 17 or newer.
  • This module targets gRPC Java.
  • The current build validates against gRPC Java 1.83.1 and Protobuf Java 4.35.1.

Installation

Gradle:

dependencies {
    testImplementation(platform("io.qameta.allure:allure-bom:<allure-version>"))
    testImplementation("io.qameta.allure:allure-grpc")
}

Maven, with allure-bom imported in dependency management:

<dependency>
    <groupId>io.qameta.allure</groupId>
    <artifactId>allure-grpc</artifactId>
    <scope>test</scope>
</dependency>

Setup

Attach io.qameta.allure.grpc.AllureGrpc to a gRPC channel or stub as a client interceptor.

ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 8080)
        .intercept(new AllureGrpc())
        .usePlaintext()
        .build();

Request and response metadata are captured by default. Cookie metadata is represented as structured HTTP exchange cookies, so header and cookie redaction can be configured through the HTTP exchange capture policy.

Use the builder to add application-specific header and cookie redaction:

ClientInterceptor allure = AllureGrpc.builder()
        .redactHeader("x-api-key")
        .redactCookie("session")
        .build();

Metadata capture can be disabled independently for either direction:

ClientInterceptor allure = AllureGrpc.builder()
        .captureRequestMetadata(false)
        .captureResponseMetadata(false)
        .build();

For other HTTP exchange capture options, configure the underlying exchange builder:

ClientInterceptor allure = AllureGrpc.builder()
        .configureExchange(exchange -> exchange.setMaxBodySize(256_000))
        .build();

Report Output

  • gRPC method calls as Allure steps.
  • Request and response messages, metadata, status, and timing.
  • Repeated metadata values in their original order; binary metadata values are Base64-encoded.
  • Stream metadata for unary and streaming calls where available.
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.