Skip to content

Commit 19ece4c

Browse files
committed
fixup! Replace gcs.use-access-token with gcs.auth-type configuration
1 parent 3e8e94f commit 19ece4c

File tree

2 files changed

+30
-20
lines changed

2 files changed

+30
-20
lines changed

lib/trino-filesystem-gcs/src/main/java/io/trino/filesystem/gcs/GcsFileSystemConfig.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public enum AuthType
4848
private String projectId;
4949
private Optional<String> endpoint = Optional.empty();
5050

51-
private boolean useGcsAccessToken;
51+
private Optional<Boolean> useGcsAccessToken = Optional.empty();
5252
private AuthType authType;
5353
private String jsonKey;
5454
private String jsonKeyFilePath;
@@ -151,22 +151,23 @@ public AuthType getAuthType()
151151
@Config("gcs.auth-type")
152152
public GcsFileSystemConfig setAuthType(AuthType authType)
153153
{
154+
checkArgument(useGcsAccessToken.isEmpty(), "Cannot set both gcs.use-access-token and gcs.auth-type");
154155
this.authType = authType;
155156
return this;
156157
}
157158

158159
@Deprecated
159160
public boolean isUseGcsAccessToken()
160161
{
161-
return useGcsAccessToken;
162+
return useGcsAccessToken.orElse(false);
162163
}
163164

164165
@Deprecated
165166
@Config("gcs.use-access-token")
166167
public GcsFileSystemConfig setUseGcsAccessToken(boolean useGcsAccessToken)
167168
{
168169
checkArgument(authType == null, "Cannot set both gcs.use-access-token and gcs.auth-type");
169-
this.useGcsAccessToken = useGcsAccessToken;
170+
this.useGcsAccessToken = Optional.of(useGcsAccessToken);
170171
if (useGcsAccessToken) {
171172
this.authType = AuthType.ACCESS_TOKEN;
172173
}

lib/trino-filesystem-gcs/src/test/java/io/trino/filesystem/gcs/TestGcsFileSystemConfig.java

Lines changed: 26 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -38,23 +38,26 @@ public class TestGcsFileSystemConfig
3838
@Test
3939
void testDefaults()
4040
{
41-
assertRecordedDefaults(recordDefaults(GcsFileSystemConfig.class)
42-
.setReadBlockSize(DataSize.of(2, MEGABYTE))
43-
.setWriteBlockSize(DataSize.of(16, MEGABYTE))
44-
.setPageSize(100)
45-
.setBatchSize(100)
46-
.setProjectId(null)
47-
.setEndpoint(Optional.empty())
48-
.setUseGcsAccessToken(false)
49-
.setAuthType(null)
50-
.setJsonKey(null)
51-
.setJsonKeyFilePath(null)
52-
.setMaxRetries(20)
53-
.setBackoffScaleFactor(3.0)
54-
.setMaxRetryTime(new Duration(25, SECONDS))
55-
.setMinBackoffDelay(new Duration(10, MILLISECONDS))
56-
.setMaxBackoffDelay(new Duration(2000, MILLISECONDS))
57-
.setApplicationId("Trino"));
41+
assertThatThrownBy(
42+
() -> assertRecordedDefaults(recordDefaults(GcsFileSystemConfig.class)
43+
.setReadBlockSize(DataSize.of(2, MEGABYTE))
44+
.setWriteBlockSize(DataSize.of(16, MEGABYTE))
45+
.setPageSize(100)
46+
.setBatchSize(100)
47+
.setProjectId(null)
48+
.setEndpoint(Optional.empty())
49+
.setAuthType(null)
50+
.setJsonKey(null)
51+
.setJsonKeyFilePath(null)
52+
.setMaxRetries(20)
53+
.setBackoffScaleFactor(3.0)
54+
.setMaxRetryTime(new Duration(25, SECONDS))
55+
.setMinBackoffDelay(new Duration(10, MILLISECONDS))
56+
.setMaxBackoffDelay(new Duration(2000, MILLISECONDS))
57+
.setApplicationId("Trino")))
58+
.isInstanceOf(AssertionError.class)
59+
// use-access-token is not deprecated and isn't allowed to be set with auth-type
60+
.hasMessage("Untested attributes: [UseGcsAccessToken]");
5861
}
5962

6063
@Test
@@ -102,6 +105,12 @@ void testSetUseGcsAccessTokenWithAuthType()
102105
assertThatThrownBy(() -> new GcsFileSystemConfig().setAuthType(AuthType.DEFAULT).setUseGcsAccessToken(false))
103106
.isInstanceOf(IllegalArgumentException.class)
104107
.hasMessage("Cannot set both gcs.use-access-token and gcs.auth-type");
108+
assertThatThrownBy(() -> new GcsFileSystemConfig().setUseGcsAccessToken(true).setAuthType(AuthType.ACCESS_TOKEN))
109+
.isInstanceOf(IllegalArgumentException.class)
110+
.hasMessage("Cannot set both gcs.use-access-token and gcs.auth-type");
111+
assertThatThrownBy(() -> new GcsFileSystemConfig().setUseGcsAccessToken(true).setAuthType(AuthType.DEFAULT))
112+
.isInstanceOf(IllegalArgumentException.class)
113+
.hasMessage("Cannot set both gcs.use-access-token and gcs.auth-type");
105114
}
106115

107116
@Test

0 commit comments

Comments
 (0)