diff --git a/core/src/main/java/org/apache/iceberg/rest/responses/OAuthTokenResponse.java b/core/src/main/java/org/apache/iceberg/rest/responses/OAuthTokenResponse.java index 56c35f3cc6c6..270fe50e824e 100644 --- a/core/src/main/java/org/apache/iceberg/rest/responses/OAuthTokenResponse.java +++ b/core/src/main/java/org/apache/iceberg/rest/responses/OAuthTokenResponse.java @@ -108,7 +108,7 @@ public Builder setExpirationInSeconds(int durationInSeconds) { } public Builder addScope(String scope) { - Preconditions.checkArgument(OAuth2Util.isValidScopeToken(scope), "Invalid scope: %s"); + Preconditions.checkArgument(OAuth2Util.isValidScopeToken(scope), "Invalid scope: %s", scope); this.scopes.add(scope); return this; } diff --git a/core/src/test/java/org/apache/iceberg/rest/responses/TestOAuthTokenResponse.java b/core/src/test/java/org/apache/iceberg/rest/responses/TestOAuthTokenResponse.java index aec052de9aa6..8961991cd345 100644 --- a/core/src/test/java/org/apache/iceberg/rest/responses/TestOAuthTokenResponse.java +++ b/core/src/test/java/org/apache/iceberg/rest/responses/TestOAuthTokenResponse.java @@ -130,4 +130,11 @@ public void testFailures() { .isInstanceOf(IllegalArgumentException.class) .hasMessageContaining("Cannot parse to a string value: token_type: 34"); } + + @Test + void invalidScopeReportsScopeValue() { + assertThatThrownBy(() -> OAuthTokenResponse.builder().addScope("bad scope")) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Invalid scope: bad scope"); + } }