51 lines
1.6 KiB
Go
51 lines
1.6 KiB
Go
package rpc
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"strings"
|
|
"testing"
|
|
|
|
"github.com/iamxvbaba/td/clock"
|
|
"go.uber.org/zap"
|
|
|
|
telegramloginapp "telesrv/internal/app/telegramlogin"
|
|
)
|
|
|
|
func TestAssertNoTypedNilDepsRejectsTelegramLogin(t *testing.T) {
|
|
var service *telegramloginapp.Service
|
|
defer func() {
|
|
value := recover()
|
|
if value == nil {
|
|
t.Fatal("assertNoTypedNilDeps accepted a typed-nil Telegram Login service")
|
|
}
|
|
message := fmt.Sprint(value)
|
|
if !strings.Contains(message, "dependency TelegramLogin is a typed nil *telegramlogin.Service") {
|
|
t.Fatalf("panic = %q, want TelegramLogin typed-nil diagnostic", message)
|
|
}
|
|
}()
|
|
New(Config{}, Deps{TelegramLogin: service}, zap.NewNop(), clock.System)
|
|
}
|
|
|
|
func TestAssertNoTypedNilDepsAcceptsAbsentTelegramLogin(t *testing.T) {
|
|
assertNoTypedNilDeps(Deps{})
|
|
}
|
|
|
|
func TestDisabledTelegramLoginWebAuthorizationRPCs(t *testing.T) {
|
|
router := New(Config{}, Deps{}, zap.NewNop(), clock.System)
|
|
ctx := WithUserID(context.Background(), 42)
|
|
|
|
listed, err := router.onAccountGetWebAuthorizations(ctx)
|
|
if err != nil {
|
|
t.Fatalf("get disabled web authorizations: %v", err)
|
|
}
|
|
if len(listed.Authorizations) != 0 || len(listed.Users) != 0 {
|
|
t.Fatalf("disabled web authorizations = %#v, want empty vectors", listed)
|
|
}
|
|
if reset, err := router.onAccountResetWebAuthorization(ctx, 123); err != nil || !reset {
|
|
t.Fatalf("reset disabled web authorization = %v, %v; want true, nil", reset, err)
|
|
}
|
|
if reset, err := router.onAccountResetWebAuthorizations(ctx); err != nil || !reset {
|
|
t.Fatalf("reset all disabled web authorizations = %v, %v; want true, nil", reset, err)
|
|
}
|
|
}
|