|
1 | 1 | package test_locally.api.model.event; |
2 | 2 |
|
3 | 3 | import com.slack.api.model.event.MessageChangedEvent; |
4 | | -import com.slack.api.model.event.MessageDeletedEvent; |
5 | 4 | import org.junit.Test; |
6 | 5 | import test_locally.unit.GsonFactory; |
7 | 6 |
|
@@ -59,9 +58,80 @@ public void deserialize_simple() { |
59 | 58 | assertThat(event.getType(), is("message")); |
60 | 59 | assertThat(event.getSubtype(), is("message_changed")); |
61 | 60 | assertThat(event.getMessage().getThreadTs(), is("1626342092.008500")); |
| 61 | + assertThat(event.getPreviousMessage().getMessage().getText(), is("test")); |
62 | 62 | assertThat(event.getPreviousMessage().getMessage().getThreadTs(), is("1626342092.008500")); |
63 | 63 | } |
64 | 64 |
|
| 65 | + @Test |
| 66 | + public void deserialize_issue_1384() { |
| 67 | + // https://github.com/slackapi/java-slack-sdk/issues/1384 |
| 68 | + String json = "{\n" + |
| 69 | + " \"type\": \"message\",\n" + |
| 70 | + " \"subtype\": \"message_changed\",\n" + |
| 71 | + " \"message\": {\n" + |
| 72 | + " \"subtype\": \"tombstone\",\n" + |
| 73 | + " \"text\": \"This message was deleted.\",\n" + |
| 74 | + " \"user\": \"USLACKBOT\",\n" + |
| 75 | + " \"hidden\": true,\n" + |
| 76 | + " \"type\": \"message\",\n" + |
| 77 | + " \"thread_ts\": \"1728639839.746989\",\n" + |
| 78 | + " \"reply_count\": 1,\n" + |
| 79 | + " \"reply_users_count\": 1,\n" + |
| 80 | + " \"latest_reply\": \"1728639845.335099\",\n" + |
| 81 | + " \"reply_users\": [\n" + |
| 82 | + " \"U06SSK\"\n" + |
| 83 | + " ],\n" + |
| 84 | + " \"is_locked\": false,\n" + |
| 85 | + " \"ts\": \"1728639839.746989\"\n" + |
| 86 | + " },\n" + |
| 87 | + " \"previous_message\": {\n" + |
| 88 | + " \"user\": \"U06TFGNC\",\n" + |
| 89 | + " \"type\": \"message\",\n" + |
| 90 | + " \"ts\": \"1728639839.746989\",\n" + |
| 91 | + " \"client_msg_id\": \"22b850d7_f2f3bd548f9e\",\n" + |
| 92 | + " \"text\": \"need help with VPN\",\n" + |
| 93 | + " \"team\": \"T06SCC\",\n" + |
| 94 | + " \"thread_ts\": \"1728639839.746989\",\n" + |
| 95 | + " \"reply_count\": 1,\n" + |
| 96 | + " \"reply_users_count\": 1,\n" + |
| 97 | + " \"latest_reply\": \"1728639845.335099\",\n" + |
| 98 | + " \"reply_users\": [\n" + |
| 99 | + " \"U0UK\"\n" + |
| 100 | + " ],\n" + |
| 101 | + " \"is_locked\": false,\n" + |
| 102 | + " \"subscribed\": true,\n" + |
| 103 | + " \"last_read\": \"1728639845.335099\",\n" + |
| 104 | + " \"blocks\": [\n" + |
| 105 | + " {\n" + |
| 106 | + " \"type\": \"rich_text\",\n" + |
| 107 | + " \"block_id\": \"x18EO\",\n" + |
| 108 | + " \"elements\": [\n" + |
| 109 | + " {\n" + |
| 110 | + " \"type\": \"rich_text_section\",\n" + |
| 111 | + " \"elements\": [\n" + |
| 112 | + " {\n" + |
| 113 | + " \"type\": \"text\",\n" + |
| 114 | + " \"text\": \"need help with VPN\"\n" + |
| 115 | + " }\n" + |
| 116 | + " ]\n" + |
| 117 | + " }\n" + |
| 118 | + " ]\n" + |
| 119 | + " }\n" + |
| 120 | + " ]\n" + |
| 121 | + " },\n" + |
| 122 | + " \"channel\": \"D0697V\",\n" + |
| 123 | + " \"hidden\": true,\n" + |
| 124 | + " \"ts\": \"1728639909.003400\",\n" + |
| 125 | + " \"event_ts\": \"1728639909.003400\",\n" + |
| 126 | + " \"channel_type\": \"im\"\n" + |
| 127 | + "}\n"; |
| 128 | + MessageChangedEvent event = GsonFactory.createSnakeCase().fromJson(json, MessageChangedEvent.class); |
| 129 | + assertThat(event.getType(), is("message")); |
| 130 | + assertThat(event.getSubtype(), is("message_changed")); |
| 131 | + assertThat(event.getMessage().getUser(), is("USLACKBOT")); |
| 132 | + assertThat(event.getPreviousMessage().getMessage().getUser(), is("U06TFGNC")); |
| 133 | + } |
| 134 | + |
65 | 135 | @Test |
66 | 136 | public void with_tombstone() { |
67 | 137 | String json = "{\n" + |
|
0 commit comments