Skip to content

Commit 445fe08

Browse files
committed
fix test setup timing issue.
1 parent 598d5b9 commit 445fe08

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

oauth2_http/java/com/google/auth/oauth2/LoggingConfigs.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,12 @@ class LoggingConfigs {
88

99
private static EnvironmentProvider environmentProvider = SystemEnvironmentProvider.getInstance();
1010
private static final Logger NO_OP_LOGGER = org.slf4j.helpers.NOPLogger.NOP_LOGGER;
11-
private static final boolean LOGGING_ENABLED = isLoggingEnabled();
12-
// expose this setter for testing purposes
11+
private static boolean loggingEnabled = isLoggingEnabled();
12+
// expose this setter only for testing purposes
1313
static void setEnvironmentProvider(EnvironmentProvider provider) {
1414
environmentProvider = provider;
15+
// Recalculate LOGGING_ENABLED after setting the new provider
16+
loggingEnabled = isLoggingEnabled();
1517
}
1618

1719
private LoggingConfigs() {}
@@ -22,7 +24,7 @@ static Logger getLogger(Class<?> clazz) {
2224

2325
// constructor with LoggerFactoryProvider to make testing easier
2426
static Logger getLogger(Class<?> clazz, LoggerFactoryProvider factoryProvider) {
25-
if (LOGGING_ENABLED) {
27+
if (loggingEnabled) {
2628
return factoryProvider.getLoggerFactory().getLogger(clazz.getName());
2729
} else {
2830
// use SLF4j's NOP logger regardless of bindings

oauth2_http/javatests/com/google/auth/oauth2/LoggingConfigsTest.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,6 @@ public class LoggingConfigsTest {
3333
@Before
3434
public void setup() {
3535
testEnvironmentProvider = new TestEnvironmentProvider();
36-
LoggingConfigs.setEnvironmentProvider(testEnvironmentProvider);
37-
3836
// need to setup a ConsoleAppender and attach to root logger because TestAppender
3937
// does not correctly capture MDC info
4038
LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
@@ -66,6 +64,7 @@ public void tearDown() {
6664
@Test
6765
public void testGetLogger_loggingEnabled_slf4jBindingPresent() {
6866
testEnvironmentProvider.setEnv("GOOGLE_SDK_JAVA_LOGGING", "true");
67+
LoggingConfigs.setEnvironmentProvider(testEnvironmentProvider);
6968
Logger logger = LoggingConfigs.getLogger(LoggingConfigsTest.class);
7069
assertTrue(logger instanceof org.slf4j.Logger);
7170
assertNotEquals(logger.getClass(), NOPLogger.class);
@@ -74,6 +73,7 @@ public void testGetLogger_loggingEnabled_slf4jBindingPresent() {
7473
@Test
7574
public void testGetLogger_loggingDisabled() {
7675
testEnvironmentProvider.setEnv("GOOGLE_SDK_JAVA_LOGGING", "false");
76+
LoggingConfigs.setEnvironmentProvider(testEnvironmentProvider);
7777

7878
Logger logger = LoggingConfigs.getLogger(LoggingConfigsTest.class);
7979
assertEquals(NOPLogger.class, logger.getClass());
@@ -82,6 +82,7 @@ public void testGetLogger_loggingDisabled() {
8282
@Test
8383
public void testGetLogger_loggingEnabled_noBinding() {
8484
testEnvironmentProvider.setEnv("GOOGLE_SDK_JAVA_LOGGING", "true");
85+
LoggingConfigs.setEnvironmentProvider(testEnvironmentProvider);
8586
// Create a mock LoggerFactoryProvider
8687
LoggerFactoryProvider mockLoggerFactoryProvider = mock(LoggerFactoryProvider.class);
8788
ILoggerFactory mockLoggerFactory = mock(ILoggerFactory.class);
@@ -99,15 +100,19 @@ public void testGetLogger_loggingEnabled_noBinding() {
99100
@Test
100101
public void testIsLoggingEnabled_true() {
101102
testEnvironmentProvider.setEnv("GOOGLE_SDK_JAVA_LOGGING", "true");
103+
LoggingConfigs.setEnvironmentProvider(testEnvironmentProvider);
102104
assertTrue(LoggingConfigs.isLoggingEnabled());
103105
testEnvironmentProvider.setEnv("GOOGLE_SDK_JAVA_LOGGING", "TRUE");
106+
LoggingConfigs.setEnvironmentProvider(testEnvironmentProvider);
104107
assertTrue(LoggingConfigs.isLoggingEnabled());
105108
testEnvironmentProvider.setEnv("GOOGLE_SDK_JAVA_LOGGING", "True");
109+
LoggingConfigs.setEnvironmentProvider(testEnvironmentProvider);
106110
assertTrue(LoggingConfigs.isLoggingEnabled());
107111
}
108112

109113
@Test
110114
public void testIsLoggingEnabled_defaultToFalse() {
115+
LoggingConfigs.setEnvironmentProvider(testEnvironmentProvider);
111116
assertFalse(LoggingConfigs.isLoggingEnabled());
112117
}
113118

0 commit comments

Comments
 (0)