refac: decouple persistence and image storage behind driver registries

This commit is contained in:
fsylvain committed 2026-10-06 02:13:35 +02:00
1 parent 421cfafec3
commit 81e299f09a
46 files changed
+1036 -374

No files matched your search

+6 -6
View File
@@ -411,7 +411,7 @@ func TestMediaUploading(t *testing.T) {
if len(env.images.images) != 1 || env.images.images[1].UploadedByID != mediaVerifiedUserId {
t.Errorf("expected one new image with UploadedByID 1, got %+v", env.images.images)
}
if !reflect.DeepEqual(env.images.lastContent, content) {
if !reflect.DeepEqual(env.storage.lastContent, content) {
t.Errorf("expected the repository to receive the uploaded bytes")
}
})
@@ -947,7 +947,7 @@ func TestMediaMerging(t *testing.T) {
t.Run("A duplicated id reaching the use case is refused before anything is read", func(t *testing.T) {
env := newEnv(t)
uc := useCases.NewMergeMediaUseCase(env.images, env.articles)
uc := useCases.NewMergeMediaUseCase(env.images, env.articles, env.storage)
_, err := uc.Merge(2, []uint32{3, 3})
@@ -996,7 +996,7 @@ func TestMediaMerging(t *testing.T) {
func TestMediaSentinels(t *testing.T) {
t.Run("Create reports unreadable bytes as ErrImageUnreadable", func(t *testing.T) {
uc := useCases.NewCreateImageUseCase(newMockImageRepo())
uc := useCases.NewCreateImageUseCase(newMockImageRepo(), newMockImageStorage())
for _, contentType := range domainImage.AllowedContentTypes() {
_, err := uc.CreateImage(inputOf([]byte("not an image"), contentType))
@@ -1007,7 +1007,7 @@ func TestMediaSentinels(t *testing.T) {
})
t.Run("An svg without an svg root is unreadable", func(t *testing.T) {
uc := useCases.NewCreateImageUseCase(newMockImageRepo())
uc := useCases.NewCreateImageUseCase(newMockImageRepo(), newMockImageStorage())
_, err := uc.CreateImage(inputOf([]byte("<html/>"), "image/svg+xml"))
@@ -1017,7 +1017,7 @@ func TestMediaSentinels(t *testing.T) {
})
t.Run("Bytes of another raster format than the declared type are unreadable", func(t *testing.T) {
uc := useCases.NewCreateImageUseCase(newMockImageRepo())
uc := useCases.NewCreateImageUseCase(newMockImageRepo(), newMockImageStorage())
_, err := uc.CreateImage(inputOf(jpegBytes(t, 3, 2), "image/png"))
@@ -1042,7 +1042,7 @@ func TestMediaSentinels(t *testing.T) {
env.seedImage(2, "b.png", 1, "image/png", 1, 1, hashB, 1)
env.seedImage(3, "c.png", 1, "image/png", 1, 1, "", 1)
env.seedImage(4, "d.png", 1, "image/png", 1, 1, "", 1)
uc := useCases.NewMergeMediaUseCase(env.images, env.articles)
uc := useCases.NewMergeMediaUseCase(env.images, env.articles, env.storage)
if _, err := uc.Merge(1, []uint32{9999}); !errors.Is(err, domainImage.ErrMergeCopyMissing) {
t.Errorf("expected ErrMergeCopyMissing, got %v", err)