diff --git a/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/methods/commands/GetMyCommands.java b/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/methods/commands/GetMyCommands.java index ea339716..4fb9c343 100644 --- a/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/methods/commands/GetMyCommands.java +++ b/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/methods/commands/GetMyCommands.java @@ -1,10 +1,10 @@ package org.telegram.telegrambots.meta.api.methods.commands; import com.fasterxml.jackson.core.type.TypeReference; +import lombok.AllArgsConstructor; import lombok.Builder; import lombok.EqualsAndHashCode; import lombok.Getter; -import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; import org.telegram.telegrambots.meta.api.methods.BotApiMethod; @@ -27,7 +27,7 @@ import java.util.ArrayList; @Getter @Setter @ToString -@NoArgsConstructor +@AllArgsConstructor @Builder public class GetMyCommands extends BotApiMethod> { public static final String PATH = "getMyCommands"; diff --git a/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/methods/updates/Close.java b/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/methods/updates/Close.java index 0e40a1f1..73f461c4 100644 --- a/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/methods/updates/Close.java +++ b/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/methods/updates/Close.java @@ -1,15 +1,14 @@ package org.telegram.telegrambots.meta.api.methods.updates; import com.fasterxml.jackson.core.type.TypeReference; +import lombok.AllArgsConstructor; import lombok.Builder; import lombok.EqualsAndHashCode; import lombok.Getter; -import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; import org.telegram.telegrambots.meta.api.methods.BotApiMethod; import org.telegram.telegrambots.meta.api.objects.ApiResponse; -import org.telegram.telegrambots.meta.api.objects.WebhookInfo; import org.telegram.telegrambots.meta.exceptions.TelegramApiRequestException; import org.telegram.telegrambots.meta.exceptions.TelegramApiValidationException; @@ -28,9 +27,9 @@ import java.io.IOException; @Getter @Setter @ToString -@NoArgsConstructor +@AllArgsConstructor @Builder -public class Close extends BotApiMethod { +public class Close extends BotApiMethod { public static final String PATH = "close"; @Override @@ -39,15 +38,15 @@ public class Close extends BotApiMethod { } @Override - public WebhookInfo deserializeResponse(String answer) throws TelegramApiRequestException { + public Boolean deserializeResponse(String answer) throws TelegramApiRequestException { try { - ApiResponse result = OBJECT_MAPPER.readValue(answer, - new TypeReference>() { + ApiResponse result = OBJECT_MAPPER.readValue(answer, + new TypeReference>() { }); if (result.getOk()) { return result.getResult(); } else { - throw new TelegramApiRequestException("Error logging out info", result); + throw new TelegramApiRequestException("Error closing", result); } } catch (IOException e2) { throw new TelegramApiRequestException("Unable to deserialize response", e2); diff --git a/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/methods/updates/LogOut.java b/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/methods/updates/LogOut.java index 5fa8dea4..bf549d1c 100644 --- a/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/methods/updates/LogOut.java +++ b/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/methods/updates/LogOut.java @@ -9,7 +9,6 @@ import lombok.Setter; import lombok.ToString; import org.telegram.telegrambots.meta.api.methods.BotApiMethod; import org.telegram.telegrambots.meta.api.objects.ApiResponse; -import org.telegram.telegrambots.meta.api.objects.WebhookInfo; import org.telegram.telegrambots.meta.exceptions.TelegramApiRequestException; import org.telegram.telegrambots.meta.exceptions.TelegramApiValidationException; @@ -30,7 +29,7 @@ import java.io.IOException; @ToString @AllArgsConstructor @Builder -public class LogOut extends BotApiMethod { +public class LogOut extends BotApiMethod { public static final String PATH = "logOut"; @Override @@ -39,15 +38,15 @@ public class LogOut extends BotApiMethod { } @Override - public WebhookInfo deserializeResponse(String answer) throws TelegramApiRequestException { + public Boolean deserializeResponse(String answer) throws TelegramApiRequestException { try { - ApiResponse result = OBJECT_MAPPER.readValue(answer, - new TypeReference>() { + ApiResponse result = OBJECT_MAPPER.readValue(answer, + new TypeReference>() { }); if (result.getOk()) { return result.getResult(); } else { - throw new TelegramApiRequestException("Error logging out info", result); + throw new TelegramApiRequestException("Error logging out", result); } } catch (IOException e2) { throw new TelegramApiRequestException("Unable to deserialize response", e2); diff --git a/telegrambots-meta/src/test/java/org/telegram/telegrambots/meta/test/TestDeserialization.java b/telegrambots-meta/src/test/java/org/telegram/telegrambots/meta/test/TestDeserialization.java index 9c351069..aeb8b0e8 100644 --- a/telegrambots-meta/src/test/java/org/telegram/telegrambots/meta/test/TestDeserialization.java +++ b/telegrambots-meta/src/test/java/org/telegram/telegrambots/meta/test/TestDeserialization.java @@ -5,7 +5,10 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.telegram.telegrambots.meta.api.methods.commands.GetMyCommands; +import org.telegram.telegrambots.meta.api.methods.updates.Close; import org.telegram.telegrambots.meta.api.methods.updates.GetUpdates; +import org.telegram.telegrambots.meta.api.methods.updates.LogOut; import org.telegram.telegrambots.meta.api.objects.ApiResponse; import org.telegram.telegrambots.meta.api.objects.Audio; import org.telegram.telegrambots.meta.api.objects.CallbackQuery; @@ -17,6 +20,7 @@ import org.telegram.telegrambots.meta.api.objects.MessageEntity; import org.telegram.telegrambots.meta.api.objects.Update; import org.telegram.telegrambots.meta.api.objects.User; import org.telegram.telegrambots.meta.api.objects.Voice; +import org.telegram.telegrambots.meta.api.objects.commands.BotCommand; import org.telegram.telegrambots.meta.api.objects.inlinequery.ChosenInlineQuery; import org.telegram.telegrambots.meta.api.objects.inlinequery.InlineQuery; @@ -151,6 +155,50 @@ class TestDeserialization { } } + @Test + void TestDeserializationCloseMethod() throws Exception { + String updateText = "{\"ok\":true,\"result\": true}"; + + Boolean response = new Close().deserializeResponse(updateText); + + assertTrue(response); + } + + @Test + void TestDeserializationLogoutMethod() throws Exception { + String updateText = "{\"ok\":true,\"result\": true}"; + + Boolean response = new LogOut().deserializeResponse(updateText); + + assertTrue(response); + } + + @Test + void TestDeserializationGetMyCommandsMethod() throws Exception { + String updateText = "{\n" + + " \"ok\": true,\n" + + " \"result\": [\n" + + " {\n" + + " \"command\": \"enabled\",\n" + + " \"description\": \"Enabled Command\"\n" + + " },\n" + + " {\n" + + " \"command\": \"disabled\",\n" + + " \"description\": \"Disabled Command\"\n" + + " }\n" + + " ]\n" + + "}"; + + ArrayList response = new GetMyCommands().deserializeResponse(updateText); + + assertNotNull(response); + assertEquals(2, response.size()); + assertEquals("enabled", response.get(0).getCommand()); + assertEquals("Enabled Command", response.get(0).getDescription()); + assertEquals("disabled", response.get(1).getCommand()); + assertEquals("Disabled Command", response.get(1).getDescription()); + } + @Test void TestUpdateDeserialization() throws Exception { Update update = mapper.readValue(TelegramBotsHelper.GetUpdate(), Update.class);