chore: refresh gramsrv public release
This commit is contained in:
parent
75cebe8dbf
commit
70b6820474
1274 changed files with 378751 additions and 59919 deletions
130
internal/rpc/messages_games_rpc_test.go
Normal file
130
internal/rpc/messages_games_rpc_test.go
Normal file
|
|
@ -0,0 +1,130 @@
|
|||
package rpc
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
|
||||
"github.com/gotd/td/tg"
|
||||
"github.com/gotd/td/tgerr"
|
||||
)
|
||||
|
||||
func TestMessagesGetEmojiGameInfoUnavailable(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
f := newInlineBotRPCTestFixture(t)
|
||||
|
||||
got, err := f.router.onMessagesGetEmojiGameInfo(WithUserID(ctx, f.owner.ID))
|
||||
if err != nil {
|
||||
t.Fatalf("get emoji game info: %v", err)
|
||||
}
|
||||
if _, ok := got.(*tg.MessagesEmojiGameUnavailable); !ok {
|
||||
t.Fatalf("emoji game info = %T, want *tg.MessagesEmojiGameUnavailable", got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestMessagesGameScoreRPCsRequireBot(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
f := newInlineBotRPCTestFixture(t)
|
||||
userCtx := WithUserID(ctx, f.owner.ID)
|
||||
inlineID := validInputBotInlineMessageID(f.owner.ID)
|
||||
|
||||
if _, err := f.router.onMessagesGetGameHighScores(userCtx, &tg.MessagesGetGameHighScoresRequest{
|
||||
Peer: inputPeerUser(f.peer),
|
||||
ID: 1,
|
||||
UserID: inputUser(f.owner),
|
||||
}); !tgerr.Is(err, "USER_BOT_REQUIRED") {
|
||||
t.Fatalf("get game high scores err = %v, want USER_BOT_REQUIRED", err)
|
||||
}
|
||||
if _, err := f.router.onMessagesGetInlineGameHighScores(userCtx, &tg.MessagesGetInlineGameHighScoresRequest{
|
||||
ID: inlineID,
|
||||
UserID: inputUser(f.owner),
|
||||
}); !tgerr.Is(err, "USER_BOT_REQUIRED") {
|
||||
t.Fatalf("get inline game high scores err = %v, want USER_BOT_REQUIRED", err)
|
||||
}
|
||||
if _, err := f.router.onMessagesSetGameScore(userCtx, &tg.MessagesSetGameScoreRequest{
|
||||
Peer: inputPeerUser(f.peer),
|
||||
ID: 1,
|
||||
UserID: inputUser(f.owner),
|
||||
Score: 10,
|
||||
}); !tgerr.Is(err, "USER_BOT_REQUIRED") {
|
||||
t.Fatalf("set game score err = %v, want USER_BOT_REQUIRED", err)
|
||||
}
|
||||
if ok, err := f.router.onMessagesSetInlineGameScore(userCtx, &tg.MessagesSetInlineGameScoreRequest{
|
||||
ID: inlineID,
|
||||
UserID: inputUser(f.owner),
|
||||
Score: 10,
|
||||
}); ok || !tgerr.Is(err, "USER_BOT_REQUIRED") {
|
||||
t.Fatalf("set inline game score = %v,%v, want false,USER_BOT_REQUIRED", ok, err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestMessagesGameScoreRPCsRejectWithoutGameModel(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
f := newInlineBotRPCTestFixture(t)
|
||||
botCtx := WithUserID(ctx, f.bot.ID)
|
||||
|
||||
if _, err := f.router.onMessagesGetGameHighScores(botCtx, &tg.MessagesGetGameHighScoresRequest{
|
||||
Peer: inputPeerUser(f.peer),
|
||||
ID: 1,
|
||||
UserID: inputUser(f.owner),
|
||||
}); !tgerr.Is(err, "MESSAGE_ID_INVALID") {
|
||||
t.Fatalf("get game high scores err = %v, want MESSAGE_ID_INVALID", err)
|
||||
}
|
||||
if _, err := f.router.onMessagesSetGameScore(botCtx, &tg.MessagesSetGameScoreRequest{
|
||||
Peer: inputPeerUser(f.peer),
|
||||
ID: 1,
|
||||
UserID: inputUser(f.owner),
|
||||
Score: 10,
|
||||
}); !tgerr.Is(err, "MESSAGE_ID_INVALID") {
|
||||
t.Fatalf("set game score err = %v, want MESSAGE_ID_INVALID", err)
|
||||
}
|
||||
if _, err := f.router.onMessagesSetGameScore(botCtx, &tg.MessagesSetGameScoreRequest{
|
||||
Peer: inputPeerUser(f.peer),
|
||||
ID: 1,
|
||||
UserID: inputUser(f.owner),
|
||||
Score: -1,
|
||||
}); !tgerr.Is(err, "SCORE_INVALID") {
|
||||
t.Fatalf("set negative game score err = %v, want SCORE_INVALID", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestMessagesInlineGameScoreRPCsRejectWithoutGameModel(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
f := newInlineBotRPCTestFixture(t)
|
||||
botCtx := WithUserID(ctx, f.bot.ID)
|
||||
inlineID := validInputBotInlineMessageID(f.owner.ID)
|
||||
|
||||
if _, err := f.router.onMessagesGetInlineGameHighScores(botCtx, &tg.MessagesGetInlineGameHighScoresRequest{
|
||||
ID: inlineID,
|
||||
UserID: inputUser(f.owner),
|
||||
}); !tgerr.Is(err, "MESSAGE_ID_INVALID") {
|
||||
t.Fatalf("get inline game high scores err = %v, want MESSAGE_ID_INVALID", err)
|
||||
}
|
||||
if ok, err := f.router.onMessagesSetInlineGameScore(botCtx, &tg.MessagesSetInlineGameScoreRequest{
|
||||
ID: inlineID,
|
||||
UserID: inputUser(f.owner),
|
||||
Score: 10,
|
||||
}); ok || !tgerr.Is(err, "MESSAGE_ID_INVALID") {
|
||||
t.Fatalf("set inline game score = %v,%v, want false,MESSAGE_ID_INVALID", ok, err)
|
||||
}
|
||||
if ok, err := f.router.onMessagesSetInlineGameScore(botCtx, &tg.MessagesSetInlineGameScoreRequest{
|
||||
ID: inlineID,
|
||||
UserID: inputUser(f.owner),
|
||||
Score: -1,
|
||||
}); ok || !tgerr.Is(err, "SCORE_INVALID") {
|
||||
t.Fatalf("set negative inline game score = %v,%v, want false,SCORE_INVALID", ok, err)
|
||||
}
|
||||
if _, err := f.router.onMessagesGetInlineGameHighScores(botCtx, &tg.MessagesGetInlineGameHighScoresRequest{
|
||||
UserID: inputUser(f.owner),
|
||||
}); !tgerr.Is(err, "MESSAGE_ID_INVALID") {
|
||||
t.Fatalf("get inline game high scores nil id err = %v, want MESSAGE_ID_INVALID", err)
|
||||
}
|
||||
}
|
||||
|
||||
func validInputBotInlineMessageID(ownerID int64) tg.InputBotInlineMessageIDClass {
|
||||
return &tg.InputBotInlineMessageID64{
|
||||
DCID: 2,
|
||||
OwnerID: ownerID,
|
||||
ID: 1,
|
||||
AccessHash: 12345,
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue