diff --git a/src/main/java/com/spotify/github/v3/checks/Annotation.java b/src/main/java/com/spotify/github/v3/checks/Annotation.java index 4f055af3..4bb953b4 100644 --- a/src/main/java/com/spotify/github/v3/checks/Annotation.java +++ b/src/main/java/com/spotify/github/v3/checks/Annotation.java @@ -43,7 +43,7 @@ @Value.Immutable @GithubStyle @JsonDeserialize(as = ImmutableAnnotation.class) -@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonInclude(JsonInclude.Include.NON_ABSENT) public interface Annotation { /** diff --git a/src/test/java/com/spotify/github/v3/checks/AnnotationTest.java b/src/test/java/com/spotify/github/v3/checks/AnnotationTest.java index 7c48d6b8..2194259b 100644 --- a/src/test/java/com/spotify/github/v3/checks/AnnotationTest.java +++ b/src/test/java/com/spotify/github/v3/checks/AnnotationTest.java @@ -24,11 +24,8 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.jupiter.api.Assertions.assertThrows; -import com.spotify.github.FixtureHelper; import com.spotify.github.jackson.Json; import com.spotify.github.v3.checks.ImmutableAnnotation.Builder; -import java.io.IOException; -import java.time.ZonedDateTime; import org.junit.Test; public class AnnotationTest { @@ -66,4 +63,20 @@ public void failsCreationWhenMaxLengthExceeded(){ builder().rawDetails("a".repeat(66000)).build() ); } + + @Test + public void serializesWithEmptyFields() { + Annotation annotationWithEmptyStringFields = ImmutableAnnotation.builder() + .message("") + .path("") + .title("") + .startLine(1) + .endLine(2) + .annotationLevel(AnnotationLevel.notice) + .build(); + + String serializedAnnotation = Json.create().toJsonUnchecked(annotationWithEmptyStringFields); + String expected = "{\"path\":\"\",\"annotation_level\":\"notice\",\"message\":\"\",\"title\":\"\",\"start_line\":1,\"end_line\":2}"; + assertThat(serializedAnnotation, is(expected)); + } }