Support more fields

This commit is contained in:
Andrea Cavalli 2022-02-24 02:04:29 +01:00
parent 75b0525986
commit 60eed343f6
5 changed files with 138 additions and 57 deletions

View File

@ -1,5 +1,13 @@
package org.telegram.abilitybots.api.bot;
import static org.apache.commons.lang3.StringUtils.EMPTY;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.internal.verification.VerificationModeFactory.times;
import static org.telegram.abilitybots.api.bot.TestUtils.mockContext;
import static org.telegram.abilitybots.api.db.MapDBContext.offlineInstance;
import java.io.IOException;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@ -9,18 +17,40 @@ import org.telegram.abilitybots.api.sender.MessageSender;
import org.telegram.abilitybots.api.sender.SilentSender;
import org.telegram.telegrambots.meta.api.objects.User;
import java.io.IOException;
import static org.apache.commons.lang3.StringUtils.EMPTY;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.internal.verification.VerificationModeFactory.times;
import static org.telegram.abilitybots.api.bot.TestUtils.mockContext;
import static org.telegram.abilitybots.api.db.MapDBContext.offlineInstance;
class AbilityBotI18nTest {
private static final User NO_LANGUAGE_USER = new User(1L, "first", false, "last", "username", null, false, false, false, null, null, null, null, null);
private static final User ITALIAN_USER = new User(2L, "first", false, "last", "username", "it-IT", false, false, false, null, null, null, null, null);
private static final User NO_LANGUAGE_USER = new User(1L,
"first",
false,
"last",
"username",
null,
false,
false,
false,
null,
null,
null,
null,
null,
null
);
private static final User ITALIAN_USER = new User(2L,
"first",
false,
"last",
"username",
"it-IT",
false,
false,
false,
null,
null,
null,
null,
null,
null
);
private DBContext db;
private NoPublicCommandsBot bot;

View File

@ -1,44 +1,5 @@
package org.telegram.abilitybots.api.bot;
import com.google.common.collect.ImmutableMap;
import com.google.common.io.Files;
import org.jetbrains.annotations.NotNull;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.ArgumentMatchers;
import org.mockito.Mockito;
import org.telegram.abilitybots.api.db.DBContext;
import org.telegram.abilitybots.api.objects.Ability;
import org.telegram.abilitybots.api.objects.Flag;
import org.telegram.abilitybots.api.objects.Locality;
import org.telegram.abilitybots.api.objects.MessageContext;
import org.telegram.abilitybots.api.objects.Privacy;
import org.telegram.abilitybots.api.sender.MessageSender;
import org.telegram.abilitybots.api.sender.SilentSender;
import org.telegram.abilitybots.api.util.AbilityUtils;
import org.telegram.abilitybots.api.util.Pair;
import org.telegram.abilitybots.api.util.Trio;
import org.telegram.telegrambots.meta.api.methods.groupadministration.GetChatAdministrators;
import org.telegram.telegrambots.meta.api.objects.Document;
import org.telegram.telegrambots.meta.api.objects.File;
import org.telegram.telegrambots.meta.api.objects.Message;
import org.telegram.telegrambots.meta.api.objects.Update;
import org.telegram.telegrambots.meta.api.objects.User;
import org.telegram.telegrambots.meta.api.objects.chatmember.ChatMember;
import org.telegram.telegrambots.meta.api.objects.chatmember.ChatMemberAdministrator;
import org.telegram.telegrambots.meta.exceptions.TelegramApiException;
import java.io.BufferedWriter;
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.Arrays;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.function.Consumer;
import static com.google.common.collect.Lists.newArrayList;
import static com.google.common.collect.Sets.newHashSet;
import static java.lang.String.format;
@ -74,6 +35,44 @@ import static org.telegram.abilitybots.api.objects.Privacy.ADMIN;
import static org.telegram.abilitybots.api.objects.Privacy.GROUP_ADMIN;
import static org.telegram.abilitybots.api.objects.Privacy.PUBLIC;
import com.google.common.collect.ImmutableMap;
import com.google.common.io.Files;
import java.io.BufferedWriter;
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.Arrays;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.function.Consumer;
import org.jetbrains.annotations.NotNull;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.ArgumentMatchers;
import org.mockito.Mockito;
import org.telegram.abilitybots.api.db.DBContext;
import org.telegram.abilitybots.api.objects.Ability;
import org.telegram.abilitybots.api.objects.Flag;
import org.telegram.abilitybots.api.objects.Locality;
import org.telegram.abilitybots.api.objects.MessageContext;
import org.telegram.abilitybots.api.objects.Privacy;
import org.telegram.abilitybots.api.sender.MessageSender;
import org.telegram.abilitybots.api.sender.SilentSender;
import org.telegram.abilitybots.api.util.AbilityUtils;
import org.telegram.abilitybots.api.util.Pair;
import org.telegram.abilitybots.api.util.Trio;
import org.telegram.telegrambots.meta.api.methods.groupadministration.GetChatAdministrators;
import org.telegram.telegrambots.meta.api.objects.Document;
import org.telegram.telegrambots.meta.api.objects.File;
import org.telegram.telegrambots.meta.api.objects.Message;
import org.telegram.telegrambots.meta.api.objects.Update;
import org.telegram.telegrambots.meta.api.objects.User;
import org.telegram.telegrambots.meta.api.objects.chatmember.ChatMember;
import org.telegram.telegrambots.meta.api.objects.chatmember.ChatMemberAdministrator;
import org.telegram.telegrambots.meta.exceptions.TelegramApiException;
public class AbilityBotTest {
// Messages
private static final String RECOVERY_MESSAGE = "I am ready to receive the backup file. Please reply to this message with the backup file attached.";
@ -374,7 +373,22 @@ public class AbilityBotTest {
String newFirstName = USER.getFirstName() + "-test";
String newLastName = USER.getLastName() + "-test";
long sameId = USER.getId();
User changedUser = new User(sameId, newFirstName, false, newLastName, newUsername, "en", false, false, false, null, null, null, null, null);
User changedUser = new User(sameId,
newFirstName,
false,
newLastName,
newUsername,
"en",
false,
false,
false,
null,
null,
null,
null,
null,
null
);
mockAlternateUser(update, message, changedUser);

View File

@ -1,18 +1,49 @@
package org.telegram.abilitybots.api.bot;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import static org.telegram.abilitybots.api.objects.MessageContext.newContext;
import org.jetbrains.annotations.NotNull;
import org.telegram.abilitybots.api.objects.MessageContext;
import org.telegram.telegrambots.meta.api.objects.Message;
import org.telegram.telegrambots.meta.api.objects.Update;
import org.telegram.telegrambots.meta.api.objects.User;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import static org.telegram.abilitybots.api.objects.MessageContext.newContext;
public final class TestUtils {
public static final User USER = new User(1L, "first", false, "last", "username", null, false, false, false, null, null, null, null, null);
public static final User CREATOR = new User(1337L, "creatorFirst", false, "creatorLast", "creatorUsername", null, false, false, false, null, null, null, null, null);
public static final User USER = new User(1L,
"first",
false,
"last",
"username",
null,
false,
false,
false,
false,
false,
false,
false,
false,
false
);
public static final User CREATOR = new User(1337L,
"creatorFirst",
false,
"creatorLast",
"creatorUsername",
null,
false,
false,
false,
false,
false,
false,
false,
false,
false
);
private TestUtils() {

View File

@ -55,6 +55,7 @@ public class Chat implements BotApiObject {
private static final String SUPERGROUPCHATTYPE = "supergroup";
private static final String IS_VERIFIED_FIELD = "is_verified";
private static final String IS_SUPPORT_FIELD = "is_support";
private static final String IS_RESTRICTED_FIELD = "is_restricted";
private static final String IS_CREATOR_FIELD = "is_creator";
private static final String IS_SCAM_FIELD = "is_scam";
@ -143,6 +144,8 @@ public class Chat implements BotApiObject {
@JsonProperty(IS_VERIFIED_FIELD)
private Boolean isVerified; ///< Optional. Extra.
@JsonProperty(IS_SUPPORT_FIELD)
private Boolean isSupport; ///< Optional. Extra.
@JsonProperty(IS_CREATOR_FIELD)
private Boolean isCreator; ///< Optional. Extra.
@JsonProperty(IS_SCAM_FIELD)

View File

@ -38,6 +38,7 @@ public class User implements BotApiObject {
private static final String IS_RESTRICTED_FIELD = "is_restricted";
private static final String IS_CREATOR_FIELD = "is_creator";
private static final String IS_SCAM_FIELD = "is_scam";
private static final String IS_SUPPORT_FIELD = "is_support";
private static final String IS_FAKE_FIELD = "is_fake";
private static final String IS_DELETED_FIELD = "is_deleted";
@ -75,6 +76,8 @@ public class User implements BotApiObject {
private Boolean isCreator; ///< Optional. Extra.
@JsonProperty(IS_SCAM_FIELD)
private Boolean isScam; ///< Optional. Extra.
@JsonProperty(IS_SUPPORT_FIELD)
private Boolean isSupport; ///< Optional. Extra.
@JsonProperty(IS_FAKE_FIELD)
private Boolean isFake; ///< Optional. Extra.
@JsonProperty(IS_DELETED_FIELD)