Skip to content

Commit

Permalink
Merge pull request #251 from HubSpot/add_method_for_conversation_kick…
Browse files Browse the repository at this point in the history
…_api

Add method for conversation kick api.
  • Loading branch information
higityan authored Nov 2, 2021
2 parents 052f8c4 + 9be6adc commit 1119790
Show file tree
Hide file tree
Showing 8 changed files with 96 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package com.hubspot.slack.client.methods.params.conversations;

import org.immutables.value.Value;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.hubspot.immutables.style.HubSpotStyle;
import com.hubspot.slack.client.methods.interceptor.HasChannel;

@Value.Immutable
@HubSpotStyle
public interface ConversationKickParamsIF extends HasChannel {
@Override
@JsonProperty("channel")
String getChannelId();

@JsonProperty("user")
String getUserId();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.hubspot.slack.client.models.response.conversations;

import org.immutables.value.Value;

import com.hubspot.immutables.style.HubSpotStyle;
import com.hubspot.slack.client.models.response.SlackResponse;

@Value.Immutable
@HubSpotStyle
public interface ConversationKickResponseIF extends SlackResponse {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package com.hubspot.slack.client.methods.params.conversation;

import java.io.IOException;

import org.junit.Test;

import com.hubspot.slack.client.SerializationTestBase;
import com.hubspot.slack.client.methods.params.conversations.ConversationKickParams;

public class ConversationKickParamsSerializationTest extends SerializationTestBase {
@Test
public void itSerializesConversationKickParams() throws IOException {
testSerialization("conversation_kick_params.json", ConversationKickParams.class);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package com.hubspot.slack.client.models.conversations;

import static org.assertj.core.api.Assertions.assertThat;

import java.io.IOException;

import org.junit.Test;

import com.hubspot.slack.client.jackson.ObjectMapperUtils;
import com.hubspot.slack.client.models.JsonLoader;
import com.hubspot.slack.client.models.response.conversations.ConversationKickResponse;

public class ConversationKickResponseDeserializationTest {
@Test
public void itDeserializesChatScheduledMessagesListResponse() throws IOException {
ConversationKickResponse conversationKickResponse =
fetchAndDeserializeConversationKickResponse("conversation_kick_response.json");

assertThat(conversationKickResponse.isOk()).isTrue();
}

private ConversationKickResponse fetchAndDeserializeConversationKickResponse(String jsonFileName) throws IOException {
String rawJson = JsonLoader.loadJsonFromFile(jsonFileName);
return ObjectMapperUtils.mapper().readValue(rawJson, ConversationKickResponse.class);
}
}
4 changes: 4 additions & 0 deletions slack-base/src/test/resources/conversation_kick_params.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"channel": "D0LAN2Q65",
"user": "U061F7AUR"
}
6 changes: 6 additions & 0 deletions slack-base/src/test/resources/conversation_kick_response.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"ok": true,
"response_metadata": {
"next_cursor": ""
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import com.hubspot.slack.client.methods.params.conversations.ConversationCreateParams;
import com.hubspot.slack.client.methods.params.conversations.ConversationInviteParams;
import com.hubspot.slack.client.methods.params.conversations.ConversationInviteSharedParams;
import com.hubspot.slack.client.methods.params.conversations.ConversationKickParams;
import com.hubspot.slack.client.methods.params.conversations.ConversationMemberParams;
import com.hubspot.slack.client.methods.params.conversations.ConversationOpenParams;
import com.hubspot.slack.client.methods.params.conversations.ConversationSetPurposeParams;
Expand Down Expand Up @@ -84,6 +85,7 @@
import com.hubspot.slack.client.models.response.chat.ChatScheduledMessagesListResponse;
import com.hubspot.slack.client.models.response.chat.ChatUnfurlResponse;
import com.hubspot.slack.client.models.response.chat.ChatUpdateMessageResponse;
import com.hubspot.slack.client.models.response.conversations.ConversationKickResponse;
import com.hubspot.slack.client.models.response.conversations.ConversationListResponse;
import com.hubspot.slack.client.models.response.conversations.ConversationMemberResponse;
import com.hubspot.slack.client.models.response.conversations.ConversationSetPurposeResponse;
Expand Down Expand Up @@ -234,6 +236,7 @@ CompletableFuture<Result<DndSnoozeResponse, SlackError>> setDndSnooze(
CompletableFuture<Result<ConversationsInfoResponse, SlackError>> joinConversation(ConversationsJoinParams params);
CompletableFuture<Result<ConversationSetPurposeResponse, SlackError>> setConversationPurpose(ConversationSetPurposeParams params);
CompletableFuture<Result<ConversationSetTopicResponse, SlackError>> setConversationTopic(ConversationSetTopicParams params);
CompletableFuture<Result<ConversationKickResponse, SlackError>> kickUserFromConversation(ConversationKickParams params);

// usergroups
CompletableFuture<Result<UsergroupCreateResponse, SlackError>> createUsergroup(UsergroupCreateParams params);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@
import com.hubspot.slack.client.methods.params.conversations.ConversationCreateParams;
import com.hubspot.slack.client.methods.params.conversations.ConversationInviteParams;
import com.hubspot.slack.client.methods.params.conversations.ConversationInviteSharedParams;
import com.hubspot.slack.client.methods.params.conversations.ConversationKickParams;
import com.hubspot.slack.client.methods.params.conversations.ConversationMemberParams;
import com.hubspot.slack.client.methods.params.conversations.ConversationOpenParams;
import com.hubspot.slack.client.methods.params.conversations.ConversationSetPurposeParams;
Expand Down Expand Up @@ -133,6 +134,7 @@
import com.hubspot.slack.client.models.response.chat.ChatScheduledMessagesListResponse;
import com.hubspot.slack.client.models.response.chat.ChatUnfurlResponse;
import com.hubspot.slack.client.models.response.chat.ChatUpdateMessageResponse;
import com.hubspot.slack.client.models.response.conversations.ConversationKickResponse;
import com.hubspot.slack.client.models.response.conversations.ConversationListResponse;
import com.hubspot.slack.client.models.response.conversations.ConversationMemberResponse;
import com.hubspot.slack.client.models.response.conversations.ConversationSetPurposeResponse;
Expand Down Expand Up @@ -358,6 +360,17 @@ public CompletableFuture<Result<ConversationSetTopicResponse, SlackError>> setCo
);
}

@Override
public CompletableFuture<Result<ConversationKickResponse, SlackError>> kickUserFromConversation(
ConversationKickParams params
) {
return postSlackCommand(
SlackMethods.conversations_kick,
params,
ConversationKickResponse.class
);
}

@Override
public Iterable<CompletableFuture<Result<List<SlackUser>, SlackError>>> listUsers() {
return new AbstractPagedIterable<Result<List<SlackUser>, SlackError>, String>() {
Expand Down

0 comments on commit 1119790

Please sign in to comment.