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,53 @@
package queue
import (
"context"
"testing"
"wucher/internal/shared/pkg/uuidv7"
)
func TestFileProcessingJSONSerializerRoundTrip(t *testing.T) {
serializer := NewFileProcessingJSONSerializer("v1", QueueTypeStandard, "")
fileUUID, err := uuidv7.String(uuidv7.MustNew())
if err != nil {
t.Fatalf("uuid string: %v", err)
}
ctx := WithCorrelationID(context.Background(), "upload-req-1")
message, err := serializer.Serialize(ctx, FileProcessingJob{
FileUUID: fileUUID,
Bucket: "wucher-file-dev",
ObjectKey: "files/2026/04/03/a.pdf",
MimeType: "application/pdf",
SizeBytes: 1234,
})
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 != "upload-req-1" {
t.Fatalf("unexpected correlation id: %q", envelope.CorrelationID)
}
if envelope.Payload.FileUUID != fileUUID {
t.Fatalf("unexpected file uuid: %q", envelope.Payload.FileUUID)
}
if envelope.Payload.ObjectKey != "files/2026/04/03/a.pdf" {
t.Fatalf("unexpected object key: %q", envelope.Payload.ObjectKey)
}
}
func TestFileProcessingJSONSerializerRejectsInvalidPayload(t *testing.T) {
serializer := NewFileProcessingJSONSerializer("v1", QueueTypeStandard, "")
_, err := serializer.Deserialize([]byte(`{"version":"v1","message_id":"m1","kind":"file_manager.processing","occurred_at":"2026-04-03T00:00:00Z","payload":{"bucket":"b","object_key":"k","size_bytes":1}}`), nil)
if err == nil {
t.Fatalf("expected invalid payload error")
}
}