init push

This commit is contained in:
2026-07-16 22:16:45 +07:00
commit 8b068bdb10
1021 changed files with 332816 additions and 0 deletions

View File

@@ -0,0 +1,54 @@
package queue
import (
"context"
"testing"
)
func TestJSONSerializerRoundTrip(t *testing.T) {
serializer := NewJSONSerializer("v1", true, QueueTypeStandard, "")
ctx := WithCorrelationID(context.Background(), "req-123")
message, err := serializer.Serialize(ctx, EmailJob{
Type: "invite_set_password",
To: "user@example.com",
Subject: "Welcome",
Body: "hello",
HTMLBody: "<b>hello</b>",
})
if err != nil {
t.Fatalf("serialize: %v", err)
}
envelope, err := serializer.Deserialize(message.Body, message.Attributes)
if err != nil {
t.Fatalf("deserialize: %v", err)
}
if envelope.MessageID == "" {
t.Fatalf("expected message id")
}
if envelope.CorrelationID != "req-123" {
t.Fatalf("expected correlation id req-123, got %q", envelope.CorrelationID)
}
if envelope.Payload.NormalizedType() != "invite_set_password" {
t.Fatalf("unexpected job type: %q", envelope.Payload.NormalizedType())
}
}
func TestJSONSerializerLegacyFallback(t *testing.T) {
serializer := NewJSONSerializer("v1", true, QueueTypeStandard, "")
envelope, err := serializer.Deserialize([]byte(`{"to":"user@example.com","subject":"Reset","body":"hello"}`), map[string]string{
"correlation_id": "legacy-1",
})
if err != nil {
t.Fatalf("deserialize legacy: %v", err)
}
if envelope.Version != "legacy" {
t.Fatalf("expected legacy version, got %q", envelope.Version)
}
if envelope.CorrelationID != "legacy-1" {
t.Fatalf("unexpected correlation id: %q", envelope.CorrelationID)
}
if envelope.Payload.To != "user@example.com" {
t.Fatalf("unexpected payload: %+v", envelope.Payload)
}
}