Skip to content

Commit 99fb678

Browse files
fix: use initialized logging option in constructor (#843)
Add unit test to validate LoggingHandler construction with default args. Fixes #842 * 🦉 Updates from OwlBot See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
1 parent 66f80b2 commit 99fb678

File tree

2 files changed

+21
-5
lines changed

2 files changed

+21
-5
lines changed

‎google-cloud-logging/src/main/java/com/google/cloud/logging/LoggingHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ public LoggingHandler(
241241
setLevel(level);
242242
baseLevel = level.equals(Level.ALL) ? Level.FINEST : level;
243243
flushLevel = config.getFlushLevel();
244-
Boolean f1 = options.getAutoPopulateMetadata();
244+
Boolean f1 = loggingOptions.getAutoPopulateMetadata();
245245
Boolean f2 = config.getAutoPopulateMetadata();
246246
autoPopulateMetadata = isTrueOrNull(f1) && isTrueOrNull(f2);
247247
redirectToStdout = firstNonNull(config.getRedirectToStdout(), Boolean.FALSE);

‎google-cloud-logging/src/test/java/com/google/cloud/logging/LoggingHandlerTest.java

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import static org.easymock.EasyMock.reset;
2323
import static org.easymock.EasyMock.verify;
2424
import static org.junit.Assert.assertEquals;
25+
import static org.junit.Assert.assertNotNull;
2526
import static org.junit.Assert.assertTrue;
2627

2728
import com.google.api.client.util.Strings;
@@ -52,6 +53,7 @@ public class LoggingHandlerTest {
5253
private static final String LOG_NAME = "java.log";
5354
private static final String MESSAGE = "message";
5455
private static final String PROJECT = "project";
56+
private static final String PROJECT_ENV_NAME = "GOOGLE_CLOUD_PROJECT";
5557

5658
private static final MonitoredResource DEFAULT_RESOURCE =
5759
MonitoredResource.of("global", ImmutableMap.of("project_id", PROJECT));
@@ -205,9 +207,9 @@ public void setUp() {
205207
expect(options.getService()).andStubReturn(logging);
206208
expect(options.getAutoPopulateMetadata()).andStubReturn(Boolean.FALSE);
207209
logging.setFlushSeverity(EasyMock.anyObject(Severity.class));
208-
expectLastCall().once();
210+
expectLastCall().anyTimes();
209211
logging.setWriteSynchronicity(EasyMock.anyObject(Synchronicity.class));
210-
expectLastCall().once();
212+
expectLastCall().anyTimes();
211213
}
212214

213215
@After
@@ -221,6 +223,19 @@ private static LogRecord newLogRecord(Level level, String message) {
221223
return record;
222224
}
223225

226+
@Test
227+
public void testDefaultHandlerCreation() {
228+
String oldProject = System.getProperty(PROJECT_ENV_NAME);
229+
System.setProperty(PROJECT_ENV_NAME, PROJECT);
230+
replay(options, logging);
231+
assertNotNull(new LoggingHandler());
232+
if (oldProject != null) {
233+
System.setProperty(PROJECT_ENV_NAME, oldProject);
234+
} else {
235+
System.clearProperty(PROJECT_ENV_NAME);
236+
}
237+
}
238+
224239
@Test
225240
public void testPublishLevels() {
226241
logging.write(ImmutableList.of(FINEST_ENTRY), DEFAULT_OPTIONS);
@@ -483,6 +498,7 @@ public void testFlushLevel() {
483498

484499
@Test
485500
public void testSyncWrite() {
501+
reset(logging);
486502
LogEntry entry =
487503
LogEntry.newBuilder(Payload.StringPayload.of(MESSAGE))
488504
.setSeverity(Severity.DEBUG)
@@ -491,10 +507,10 @@ public void testSyncWrite() {
491507
.setTimestamp(123456789L)
492508
.build();
493509

510+
logging.setWriteSynchronicity(Synchronicity.ASYNC);
494511
logging.setWriteSynchronicity(Synchronicity.SYNC);
495-
expectLastCall().once();
496512
logging.write(ImmutableList.of(entry), DEFAULT_OPTIONS);
497-
expectLastCall().once();
513+
logging.setFlushSeverity(Severity.ERROR);
498514
replay(options, logging);
499515

500516
LoggingHandler handler = new LoggingHandler(LOG_NAME, options, DEFAULT_RESOURCE);

0 commit comments

Comments
 (0)