Skip to content
This repository was archived by the owner on Aug 30, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions sentry-core/src/main/java/io/sentry/core/SentryClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,14 @@ public SentryClient(SentryOptions options, @Nullable AsyncConnection connection)
public SentryId captureEvent(SentryEvent event, @Nullable Scope scope) {
log(options.getLogger(), SentryLevel.DEBUG, "Capturing event: %s", event.getEventId());

// TODO: To be done in the main processor
if (event.getRelease() == null) {
event.setRelease(options.getRelease());
}
if (event.getEnvironment() == null) {
event.setEnvironment(options.getEnvironment());
}

for (EventProcessor processor : options.getEventProcessors()) {
processor.process(event);
}
Expand Down
18 changes: 18 additions & 0 deletions sentry-core/src/main/java/io/sentry/core/SentryOptions.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ public class SentryOptions {
private BeforeSendCallback beforeSend;
private BeforeBreadcrumbCallback beforeBreadcrumb;
private String cacheDirPath;
private String release;
private String environment;
private Proxy proxy;

public void addEventProcessor(EventProcessor eventProcessor) {
Expand Down Expand Up @@ -131,6 +133,22 @@ public void setCacheDirPath(String cacheDirPath) {
this.cacheDirPath = cacheDirPath;
}

public String getRelease() {
return release;
}

public void setRelease(String release) {
this.release = release;
}

public String getEnvironment() {
return environment;
}

public void setEnvironment(String environment) {
this.environment = environment;
}

public Proxy getProxy() {
return proxy;
}
Expand Down
45 changes: 45 additions & 0 deletions sentry-core/src/test/java/io/sentry/core/SentryClientTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -111,4 +111,49 @@ class SentryClientTest {
sut.captureMessage(actual)
assertEquals(actual, sentEvent!!.message.formatted)
}

@Test
fun `when event has release, value from options not applied`() {
val event = SentryEvent()
val expected = "original"
fixture.sentryOptions.environment = "not to be applied"
event.release = expected
val sut = fixture.getSut()
sut.captureEvent(event)
verify(fixture.connection).send(event)
assertEquals(expected, event.release)
}

@Test
fun `when event doesn't have release, value from options applied`() {
val event = SentryEvent()
val expected = "original"
fixture.sentryOptions.release = expected
val sut = fixture.getSut()
sut.captureEvent(event)
verify(fixture.connection).send(event)
assertEquals(expected, event.release)
}

@Test
fun `when event has environment, value from options not applied`() {
val event = SentryEvent()
val expected = "original"
fixture.sentryOptions.environment = "not to be applied"
event.environment = expected
val sut = fixture.getSut()
sut.captureEvent(event)
verify(fixture.connection).send(event)
assertEquals(expected, event.environment)
}

@Test
fun `when event doesn't have environment, value from options applied`() {
val event = SentryEvent()
val expected = "original"
fixture.sentryOptions.environment = expected
val sut = fixture.getSut()
sut.captureEvent(event)
assertEquals(expected, event.environment)
}
}