diff --git a/src/main/java/com/spotify/github/v3/comment/Comment.java b/src/main/java/com/spotify/github/v3/comment/Comment.java index e50b985a..9621255f 100644 --- a/src/main/java/com/spotify/github/v3/comment/Comment.java +++ b/src/main/java/com/spotify/github/v3/comment/Comment.java @@ -7,9 +7,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -75,4 +75,8 @@ public interface Comment extends UpdateTracking { /** The issueURL which the comment belongs to. */ Optional issueUrl(); + + /** Node ID */ + @Nullable + String nodeId(); } diff --git a/src/test/java/com/spotify/github/v3/activity/events/IssueCommentEventTest.java b/src/test/java/com/spotify/github/v3/activity/events/IssueCommentEventTest.java new file mode 100644 index 00000000..15d1c78d --- /dev/null +++ b/src/test/java/com/spotify/github/v3/activity/events/IssueCommentEventTest.java @@ -0,0 +1,49 @@ +/*- + * -\-\- + * github-api + * -- + * Copyright (C) 2016 - 2020 Spotify AB + * -- + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * -/-/- + */ + +package com.spotify.github.v3.activity.events; + +import java.io.IOException; +import static java.nio.charset.Charset.defaultCharset; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.core.Is.is; +import org.junit.jupiter.api.Test; + +import com.google.common.io.Resources; +import static com.google.common.io.Resources.getResource; +import com.spotify.github.jackson.Json; + +public class IssueCommentEventTest { + + @Test + public void testDeserialization() throws IOException { + String fixture = + Resources.toString( + getResource(this.getClass(), "fixtures/issue_comment_event.json"), defaultCharset()); + final IssueCommentEvent event = Json.create().fromJson(fixture, IssueCommentEvent.class); + assertThat(event.action(), is("created")); + assertThat(event.issue().number(), is(2L)); + assertThat(event.comment().id(), is(99262140L)); + assertThat(event.comment().nodeId(), is("asd123")); + assertThat( + event.comment().body(), is("You are totally right! I'll get this fixed right away.")); + } +} diff --git a/src/test/resources/com/spotify/github/v3/activity/events/fixtures/issue_comment_event.json b/src/test/resources/com/spotify/github/v3/activity/events/fixtures/issue_comment_event.json index 6f6e7d89..650d4ce4 100644 --- a/src/test/resources/com/spotify/github/v3/activity/events/fixtures/issue_comment_event.json +++ b/src/test/resources/com/spotify/github/v3/activity/events/fixtures/issue_comment_event.json @@ -32,7 +32,9 @@ { "url": "https://api.github.com/repos/baxterthehacker/public-repo/labels/bug", "name": "bug", - "color": "fc2929" + "color": "fc2929", + "default": false, + "id": 208045946 } ], "state": "open", @@ -50,6 +52,7 @@ "html_url": "https://github.com/baxterthehacker/public-repo/issues/2#issuecomment-99262140", "issue_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/2", "id": 99262140, + "node_id": "asd123", "user": { "login": "baxterthehacker", "id": 6752317,