Skip to content

Unable to disable RestAssured's logging causing heap overflow #48885

@jnycc

Description

@jnycc

Describe the bug

By default RestAssured disabled the logging of request and response if validation fails. As part of PR#47862 in v.3.24.0.CR1, QuarkusTests always enable RestAssured's logging without any configuration to disable it again. When applying a custom RestAssured configuration, Quarkus overwrites the log setting.
However, I have tests to verify if REST-endpoints indeed invalidate requests and I do not wish to have logging enabled. Moreover, in case of large files in the request, it attempts to log this, causing heap overflows and failed quarkus tests.

Expected behavior

Provide a Quarkus configuration option to control RestAssured's logging or do not enable it by default - in line with RestAssured's default setting.

Actual behavior

In Quarkus tests, when applying a new LogConfig in which logging is disabled by default (RestAssured.config().logConfig(new LogConfig());) Quarkus enables the logging back on.

How to Reproduce?

If you create a QuarkusTest using RestAssured, POST-ing a file that is larger than allowed and for example 500MB, it invalidates it and tries to log the file, causing a heap overflow.

given()
    .multiPart("file", "file.txt", new byte[{largerThanAllowed}])
  .when()
    .post("/files")
  .then()
    .statusCode(413);

Output of uname -a or ver

No response

Output of java -version

No response

Quarkus version or git rev

3.24.0 and further

Build tool (ie. output of mvnw --version or gradlew --version)

No response

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions