4cddfcf2f3
Backend Tests / Tests (other) (push) Failing after 1s
Backend Tests / Static Checks (push) Failing after 2s
Backend Tests / Tests (internal) (push) Failing after 2s
Backend Tests / Tests (server) (push) Failing after 1s
Backend Tests / Tests (store) (push) Failing after 1s
Build Canary Image / build-frontend (push) Failing after 1s
Frontend Tests / Lint (push) Failing after 1s
Build Canary Image / build-push (linux/amd64) (push) Has been skipped
Build Canary Image / build-push (linux/arm64) (push) Has been skipped
Build Canary Image / merge (push) Has been skipped
Frontend Tests / Build (push) Failing after 1s
Release Please / release-please (push) Failing after 0s
Proto Linter / Lint Protos (push) Failing after 2s
35 lines
965 B
Go
35 lines
965 B
Go
package s3presign
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
"google.golang.org/protobuf/types/known/timestamppb"
|
|
|
|
storepb "github.com/usememos/memos/proto/gen/store"
|
|
)
|
|
|
|
func TestCloneAttachmentPayloadPreservesMotionMedia(t *testing.T) {
|
|
payload := &storepb.AttachmentPayload{
|
|
Payload: &storepb.AttachmentPayload_S3Object_{
|
|
S3Object: &storepb.AttachmentPayload_S3Object{
|
|
Key: "photos/live.jpg",
|
|
},
|
|
},
|
|
MotionMedia: &storepb.MotionMedia{
|
|
Family: storepb.MotionMediaFamily_ANDROID_MOTION_PHOTO,
|
|
Role: storepb.MotionMediaRole_CONTAINER,
|
|
GroupId: "motion-group",
|
|
},
|
|
}
|
|
|
|
cloned := cloneAttachmentPayload(payload)
|
|
require.NotNil(t, cloned)
|
|
require.NotSame(t, payload, cloned)
|
|
require.Equal(t, payload.MotionMedia, cloned.MotionMedia)
|
|
|
|
cloned.GetS3Object().LastPresignedTime = timestamppb.Now()
|
|
require.Nil(t, payload.GetS3Object().LastPresignedTime)
|
|
require.Equal(t, "motion-group", cloned.MotionMedia.GroupId)
|
|
}
|