Skip to content

Commit 2ab6588

Browse files
authored
Merge pull request #446 from seratch/add-types-to-subteam-events
Add channel_count to subteam_created / subteam_updated events
2 parents 2a91976 + 95e802c commit 2ab6588

7 files changed

Lines changed: 61 additions & 6 deletions

File tree

json-logs/samples/events/SubteamCreatedPayload.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@
2828
"groups": [
2929
""
3030
]
31-
}
31+
},
32+
"channel_count": 12345
3233
},
3334
"event_ts": "0000000000.000000"
3435
},

json-logs/samples/events/SubteamUpdatedPayload.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@
3333
"W00000000"
3434
],
3535
"user_count": 12345,
36-
"deleted_by": "W00000000"
36+
"deleted_by": "W00000000",
37+
"channel_count": 12345
3738
},
3839
"event_ts": "0000000000.000000"
3940
},

slack-api-model/src/main/java/com/slack/api/model/event/SubteamCreatedEvent.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ public static class Subteam {
4141
private String updatedBy;
4242
private String deletedBy;
4343
private Prefs prefs;
44-
private String userCount;
44+
private Integer userCount;
45+
private Integer channelCount;
4546
}
4647

4748
@Data

slack-api-model/src/main/java/com/slack/api/model/event/SubteamUpdatedEvent.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@ public static class Subteam {
4848
private String deletedBy;
4949
private Prefs prefs;
5050
private List<String> users;
51-
private String userCount;
51+
private Integer userCount;
52+
private Integer channelCount;
5253
}
5354

5455
@Data

slack-api-model/src/test/java/test_locally/api/model/event/SubteamCreatedEventTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public void deserialize() {
5353
assertThat(event.getSubteam().getAutoType(), is(nullValue()));
5454
assertThat(event.getSubteam().getPrefs().getChannels(), is(notNullValue()));
5555
assertThat(event.getSubteam().getPrefs().getGroups(), is(notNullValue()));
56-
assertThat(event.getSubteam().getUserCount(), is("0"));
56+
assertThat(event.getSubteam().getUserCount(), is(0));
5757
}
5858

5959
@Test

slack-api-model/src/test/java/test_locally/api/model/event/SubteamUpdatedEventTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public void deserialize() {
5252
SubteamUpdatedEvent event = GsonFactory.createSnakeCase().fromJson(json, SubteamUpdatedEvent.class);
5353
assertThat(event.getType(), is("subteam_updated"));
5454
assertThat(event.getSubteam().getId(), is("S0614TZR7"));
55-
assertThat(event.getSubteam().getUserCount(), is("4"));
55+
assertThat(event.getSubteam().getUserCount(), is(4));
5656
assertThat(event.getSubteam().getUsers().size(), is(4));
5757
}
5858

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
package test_locally.app_backend.events.payload;
2+
3+
import com.google.gson.Gson;
4+
import com.google.gson.JsonParseException;
5+
import com.slack.api.SlackConfig;
6+
import com.slack.api.app_backend.events.payload.EventsApiPayload;
7+
import com.slack.api.util.json.GsonFactory;
8+
import config.SlackTestConfig;
9+
import org.junit.Test;
10+
11+
import java.io.IOException;
12+
import java.nio.file.Files;
13+
import java.nio.file.Path;
14+
import java.nio.file.Paths;
15+
import java.util.List;
16+
import java.util.stream.Collectors;
17+
18+
import static java.nio.charset.StandardCharsets.UTF_8;
19+
import static java.util.stream.Collectors.joining;
20+
import static org.hamcrest.CoreMatchers.is;
21+
import static org.hamcrest.CoreMatchers.notNullValue;
22+
import static org.hamcrest.MatcherAssert.assertThat;
23+
24+
public class SamplePayloadParsingTest {
25+
26+
static String readWholeAsString(Path path) throws IOException {
27+
return Files.readAllLines(path, UTF_8).stream().collect(joining());
28+
}
29+
30+
@Test
31+
public void readAll() throws Exception {
32+
SlackConfig testConfig = SlackTestConfig.get();
33+
Gson gson = GsonFactory.createSnakeCase(testConfig);
34+
List<Path> files = Files.list(Paths.get("../json-logs/samples/events")).collect(Collectors.toList());
35+
for (Path jsonFile : files) {
36+
String json = readWholeAsString(jsonFile);
37+
String className = jsonFile.getFileName().toString().replaceFirst("\\.json$", "");
38+
String fqdn = "com.slack.api.app_backend.events.payload." + className;
39+
Class<EventsApiPayload<?>> clazz = (Class<EventsApiPayload<?>>) Class.forName(fqdn);
40+
try {
41+
EventsApiPayload<?> payload = gson.fromJson(json, clazz);
42+
assertThat(payload, is(notNullValue()));
43+
} catch (JsonParseException e) {
44+
String message = "Check " + fqdn + " : " + e.getMessage();
45+
throw new RuntimeException(message, e);
46+
}
47+
}
48+
}
49+
50+
51+
}

0 commit comments

Comments
 (0)