mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-10-02 14:56:38 +08:00
7ca6dbe272
Pin github.com/tencent-connect/botgo v0.2.1. Connect uses C2C intent only via the official WebSocket session manager.
43 lines
1.0 KiB
Go
43 lines
1.0 KiB
Go
// Copyright 2026 Arctel.net
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package qq
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"github.com/Rain-kl/Wavelet/pkg/message_gateway"
|
|
)
|
|
|
|
func TestHandleEvent_DropsNonC2C(t *testing.T) {
|
|
var got int
|
|
a := &Adapter{onInbound: func(ctx context.Context, msg message_gateway.InboundMessage) error {
|
|
got++
|
|
return nil
|
|
}}
|
|
a.handleEvent(qqEvent{Kind: "group", UserID: "u1", Text: "hi"})
|
|
if got != 0 {
|
|
t.Fatal("non-C2C must be ignored")
|
|
}
|
|
}
|
|
|
|
func TestHandleEvent_C2CText(t *testing.T) {
|
|
var got message_gateway.InboundMessage
|
|
a := &Adapter{cfg: message_gateway.ChannelConfig{ID: 3}, onInbound: func(ctx context.Context, msg message_gateway.InboundMessage) error {
|
|
got = msg
|
|
return nil
|
|
}}
|
|
a.handleEvent(qqEvent{Kind: "c2c", UserID: "openid-1", Text: "hello", MessageID: "m1"})
|
|
if got.Text != "hello" || got.PlatformUserID != "openid-1" || got.ChannelID != 3 {
|
|
t.Fatalf("%+v", got)
|
|
}
|
|
}
|
|
|
|
func TestNew_RequiresCreds(t *testing.T) {
|
|
_, err := New(message_gateway.ChannelConfig{}, nil)
|
|
if err == nil {
|
|
t.Fatal("expected error")
|
|
}
|
|
}
|