package backend

import (
	"context"
	"errors"
	"testing"

	"github.com/mem9-ai/drive9/pkg/datastore"
)

func TestMediaExtractReadersRejectAppendLog(t *testing.T) {
	b := newTestBackend(t)
	file := &datastore.File{
		StorageType:   datastore.StorageS3,
		ContentLayout: datastore.ContentLayoutAppendLog,
		StorageRef:    "append-log/ns-a/file-a/generation-a",
	}
	ctx := context.Background()
	if _, _, err := b.stageMediaFile(ctx, nil, file, "source", 0); !errors.Is(err, ErrAppendLogUnsupported) {
		t.Fatalf("stageMediaFile error = %v, want ErrAppendLogUnsupported", err)
	}
	if _, err := b.loadAudioBytesForExtract(ctx, file, 0); !errors.Is(err, ErrAppendLogUnsupported) {
		t.Fatalf("loadAudioBytesForExtract error = %v, want ErrAppendLogUnsupported", err)
	}
	if _, err := b.loadImageBytesForExtract(ctx, file, 0, 0, false); !errors.Is(err, ErrAppendLogUnsupported) {
		t.Fatalf("loadImageBytesForExtract error = %v, want ErrAppendLogUnsupported", err)
	}
	if _, err := b.loadVideoBytesForExtract(ctx, file, 0); !errors.Is(err, ErrAppendLogUnsupported) {
		t.Fatalf("loadVideoBytesForExtract error = %v, want ErrAppendLogUnsupported", err)
	}
}
