datahub/datahub-frontend/test/auth/sso/oidc/OidcConfigsRetryTest.java

150 lines
4.3 KiB
Java
Raw Normal View History

2025-09-03 23:05:41 -05:00
package auth.sso.oidc;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.*;
import com.typesafe.config.Config;
import com.typesafe.config.ConfigFactory;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
public class OidcConfigsRetryTest {
private OidcConfigs oidcConfigs;
@BeforeEach
void setUp() {
String configString =
"""
auth {
oidc {
clientId = "test-client-id"
clientSecret = "test-client-secret"
discoveryUri = "https://example.com/.well-known/openid_configuration"
}
baseUrl = "https://example.com"
enabled = true
}
""";
Config config = ConfigFactory.parseString(configString);
OidcConfigs.Builder builder = new OidcConfigs.Builder();
builder.from(config);
oidcConfigs = new OidcConfigs(builder);
}
@Test
void testDefaultHttpRetryAttempts() {
assertEquals("3", oidcConfigs.getHttpRetryAttempts());
}
@Test
void testDefaultHttpRetryDelay() {
assertEquals("1000", oidcConfigs.getHttpRetryDelay());
}
@Test
void testRetryConfigurationWithCustomValues() {
String configString =
"""
auth {
oidc {
clientId = "test-client-id"
clientSecret = "test-client-secret"
discoveryUri = "https://example.com/.well-known/openid_configuration"
httpRetryAttempts = "5"
httpRetryDelay = "2000"
}
baseUrl = "https://example.com"
enabled = true
}
""";
Config config = ConfigFactory.parseString(configString);
OidcConfigs.Builder builder = new OidcConfigs.Builder();
builder.from(config);
OidcConfigs customConfigs = new OidcConfigs(builder);
assertEquals("5", customConfigs.getHttpRetryAttempts());
assertEquals("2000", customConfigs.getHttpRetryDelay());
}
@Test
void testRetryConfigurationCombination() {
String configString =
"""
auth {
oidc {
clientId = "test-client-id"
clientSecret = "test-client-secret"
discoveryUri = "https://example.com/.well-known/openid_configuration"
httpRetryAttempts = "4"
httpRetryDelay = "1500"
}
baseUrl = "https://example.com"
enabled = true
}
""";
Config config = ConfigFactory.parseString(configString);
OidcConfigs.Builder builder = new OidcConfigs.Builder();
builder.from(config);
OidcConfigs customConfigs = new OidcConfigs(builder);
assertEquals("4", customConfigs.getHttpRetryAttempts());
assertEquals("1500", customConfigs.getHttpRetryDelay());
}
@Test
void testRetryConfigurationWithZeroAttempts() {
String configString =
"""
auth {
oidc {
clientId = "test-client-id"
clientSecret = "test-client-secret"
discoveryUri = "https://example.com/.well-known/openid_configuration"
httpRetryAttempts = "0"
httpRetryDelay = "500"
}
baseUrl = "https://example.com"
enabled = true
}
""";
Config config = ConfigFactory.parseString(configString);
OidcConfigs.Builder builder = new OidcConfigs.Builder();
builder.from(config);
OidcConfigs customConfigs = new OidcConfigs(builder);
assertEquals("0", customConfigs.getHttpRetryAttempts());
assertEquals("500", customConfigs.getHttpRetryDelay());
}
@Test
void testRetryConfigurationWithHighValues() {
String configString =
"""
auth {
oidc {
clientId = "test-client-id"
clientSecret = "test-client-secret"
discoveryUri = "https://example.com/.well-known/openid_configuration"
httpRetryAttempts = "10"
httpRetryDelay = "5000"
}
baseUrl = "https://example.com"
enabled = true
}
""";
Config config = ConfigFactory.parseString(configString);
OidcConfigs.Builder builder = new OidcConfigs.Builder();
builder.from(config);
OidcConfigs customConfigs = new OidcConfigs(builder);
assertEquals("10", customConfigs.getHttpRetryAttempts());
assertEquals("5000", customConfigs.getHttpRetryDelay());
}
}