2026-06-21 19:57:41 -07:00
|
|
|
package kmsvc
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"context"
|
|
|
|
|
"testing"
|
|
|
|
|
|
2026-08-21 20:05:51 -07:00
|
|
|
kafkamgmtv1 "forgejo.riotpiao.com/rock/kmsvc-proto/gen/kafkamgmt/v1"
|
2026-06-21 19:57:41 -07:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func TestClientAttachesBearerToken(t *testing.T) {
|
|
|
|
|
fake := &fakeQueueService{
|
|
|
|
|
sendMessage: func(ctx context.Context, req *kafkamgmtv1.SendMessageRequest) (*kafkamgmtv1.SendMessageResponse, error) {
|
|
|
|
|
return &kafkamgmtv1.SendMessageResponse{MessageId: "m1"}, nil
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
client := newTestClient(t, fake, WithTokenSource(StaticToken("test-token")))
|
|
|
|
|
|
|
|
|
|
_, err := client.SendMessage(context.Background(), SendMessageInput{QueueName: "q", Body: []byte("hi")})
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Fatalf("SendMessage: %v", err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if got, want := fake.lastIncomingAuth, "Bearer test-token"; got != want {
|
|
|
|
|
t.Errorf("authorization header = %q, want %q", got, want)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestClientWithoutTokenSourceSendsNoAuthHeader(t *testing.T) {
|
|
|
|
|
fake := &fakeQueueService{
|
|
|
|
|
sendMessage: func(ctx context.Context, req *kafkamgmtv1.SendMessageRequest) (*kafkamgmtv1.SendMessageResponse, error) {
|
|
|
|
|
return &kafkamgmtv1.SendMessageResponse{MessageId: "m1"}, nil
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
client := newTestClient(t, fake)
|
|
|
|
|
|
|
|
|
|
_, err := client.SendMessage(context.Background(), SendMessageInput{QueueName: "q", Body: []byte("hi")})
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Fatalf("SendMessage: %v", err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if fake.lastIncomingAuth != "" {
|
|
|
|
|
t.Errorf("authorization header = %q, want empty", fake.lastIncomingAuth)
|
|
|
|
|
}
|
|
|
|
|
}
|