Skip to content

Commit 2fabec1

Browse files
committed
Added test for invalid configuration
1 parent 778c291 commit 2fabec1

File tree

2 files changed

+26
-2
lines changed

2 files changed

+26
-2
lines changed

core/trino-main/src/main/java/io/trino/security/GroupProviderManager.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,10 +97,10 @@ void loadConfiguredGroupProvider(File groupProviderFile)
9797
.filter(groupCase::equalsIgnoreCase)
9898
.map(Case::valueOf)
9999
.findFirst()
100-
.orElseThrow(() -> new IllegalArgumentException(format("Group provider configuration %s does not contain valid %s. Allowed: %s",
100+
.orElseThrow(() -> new IllegalArgumentException(format("Group provider configuration %s does not contain valid %s. Expected one of: %s",
101101
groupProviderFile.getAbsoluteFile(),
102102
GROUP_PROVIDER_PROPERTY_GROUP_CASE,
103-
stream(Case.values()).map(Case::toString).collect(joining(", ")))));
103+
stream(Case.values()).map(Case::toString).collect(joining(", ", "[", "]")))));
104104
}
105105

106106
setConfiguredGroupProvider(groupProviderName, properties);

core/trino-main/src/test/java/io/trino/security/TestGroupProviderManager.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,10 @@
2727
import java.nio.file.Files;
2828
import java.util.Map;
2929

30+
import static java.lang.String.format;
3031
import static org.assertj.core.api.Assertions.assertThat;
32+
import static org.junit.jupiter.api.Assertions.assertEquals;
33+
import static org.junit.jupiter.api.Assertions.assertThrows;
3134

3235
public class TestGroupProviderManager
3336
{
@@ -101,4 +104,25 @@ void setTestGroupProviderLowerCase() throws Exception
101104
assertThat(groupProviderManager.getGroups("Bob")).isEqualTo(ImmutableSet.of("test", "bob"));
102105
}
103106
}
107+
108+
@Test
109+
void setTestGroupProviderInvalidCase() throws Exception
110+
{
111+
try (TempFile tempFile = new TempFile()) {
112+
Files.writeString(tempFile.path(), """
113+
group-provider.name=testGroupProvider
114+
group-provider.group-case=invalid
115+
""");
116+
117+
GroupProviderManager groupProviderManager = new GroupProviderManager(new SecretsResolver(ImmutableMap.of()));
118+
groupProviderManager.addGroupProviderFactory(TEST_GROUP_PROVIDER_FACTORY);
119+
120+
IllegalArgumentException ex = assertThrows(IllegalArgumentException.class, () ->
121+
groupProviderManager.loadConfiguredGroupProvider(tempFile.file()));
122+
123+
assertEquals(format(
124+
"Group provider configuration %s does not contain valid group-provider.group-case. Expected one of: [KEEP, LOWER, UPPER]",
125+
tempFile.path().toAbsolutePath()), ex.getMessage());
126+
}
127+
}
104128
}

0 commit comments

Comments
 (0)