This commit is contained in:
139
e2e/go/batch_test.go
generated
Normal file
139
e2e/go/batch_test.go
generated
Normal file
@@ -0,0 +1,139 @@
|
||||
// This file is auto-generated by alef — DO NOT EDIT.
|
||||
// alef:hash:4e15143f4af1ae8bafbdb1506ef057da924484c66a19483966333558ad437e75
|
||||
// To regenerate: alef generate
|
||||
// To verify freshness: alef verify --exit-code
|
||||
// Issues & docs: https://github.com/kreuzberg-dev/alef
|
||||
|
||||
// E2e tests for category: batch
|
||||
package e2e_test
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
||||
kreuzberg "github.com/kreuzberg-dev/kreuzberg/v5"
|
||||
)
|
||||
|
||||
func Test_BatchBytesInvalidMime(t *testing.T) {
|
||||
// batch_extract_bytes_sync invalid MIME
|
||||
var items []kreuzberg.BatchBytesItem
|
||||
if err := json.Unmarshal([]byte(`[{"content":"SGVsbG8=","mime_type":"application/x-nonexistent"}]`), &items); err != nil {
|
||||
t.Fatalf("config parse failed: %v", err)
|
||||
}
|
||||
_, err := kreuzberg.BatchExtractBytesSync(items, kreuzberg.ExtractionConfig{})
|
||||
if err != nil {
|
||||
t.Fatalf("call failed: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func Test_BatchExtractBytesHappy(t *testing.T) {
|
||||
// batch_extract_bytes: happy path with mixed inputs
|
||||
var items []kreuzberg.BatchBytesItem
|
||||
if err := json.Unmarshal([]byte(`[{"content":"SGVsbG8sIHdvcmxkIQ==","mime_type":"text/plain"},{"content":"PGh0bWw+PGJvZHk+VGVzdDwvYm9keT48L2h0bWw+","mime_type":"text/html"}]`), &items); err != nil {
|
||||
t.Fatalf("config parse failed: %v", err)
|
||||
}
|
||||
result, err := kreuzberg.BatchExtractBytes(items, kreuzberg.ExtractionConfig{})
|
||||
if err != nil {
|
||||
t.Fatalf("call failed: %v", err)
|
||||
}
|
||||
assert.GreaterOrEqual(t, len(result), 1, "expected at least 1 elements")
|
||||
}
|
||||
|
||||
func Test_BatchExtractBytesMixedFormat(t *testing.T) {
|
||||
// batch_extract_bytes: handles unsupported MIME gracefully
|
||||
var items []kreuzberg.BatchBytesItem
|
||||
if err := json.Unmarshal([]byte(`[{"content":"UERGIHBsYWNlaG9sZGVy","mime_type":"application/x-unknown"}]`), &items); err != nil {
|
||||
t.Fatalf("config parse failed: %v", err)
|
||||
}
|
||||
_, err := kreuzberg.BatchExtractBytes(items, kreuzberg.ExtractionConfig{})
|
||||
if err != nil {
|
||||
t.Fatalf("call failed: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func Test_BatchExtractBytesSyncEmptyList(t *testing.T) {
|
||||
// batch_extract_bytes_sync: empty batch
|
||||
var items []kreuzberg.BatchBytesItem
|
||||
if err := json.Unmarshal([]byte(`[]`), &items); err != nil {
|
||||
t.Fatalf("config parse failed: %v", err)
|
||||
}
|
||||
result, err := kreuzberg.BatchExtractBytesSync(items, kreuzberg.ExtractionConfig{})
|
||||
if err != nil {
|
||||
t.Fatalf("call failed: %v", err)
|
||||
}
|
||||
assert.Equal(t, len(result), 0, "expected exactly 0 elements")
|
||||
}
|
||||
|
||||
func Test_BatchExtractBytesSyncInvalidMime(t *testing.T) {
|
||||
// batch_extract_bytes_sync: unsupported MIME
|
||||
var items []kreuzberg.BatchBytesItem
|
||||
if err := json.Unmarshal([]byte(`[{"content":"ZGF0YQ==","mime_type":"application/x-unknown"}]`), &items); err != nil {
|
||||
t.Fatalf("config parse failed: %v", err)
|
||||
}
|
||||
_, err := kreuzberg.BatchExtractBytesSync(items, kreuzberg.ExtractionConfig{})
|
||||
if err != nil {
|
||||
t.Fatalf("call failed: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func Test_BatchFileAsyncBasic(t *testing.T) {
|
||||
// Extract text from multiple files asynchronously
|
||||
var paths []kreuzberg.BatchFileItem
|
||||
if err := json.Unmarshal([]byte(`[{"path":"pdf/fake_memo.pdf"},{"path":"text/fake_text.txt"}]`), &paths); err != nil {
|
||||
t.Fatalf("config parse failed: %v", err)
|
||||
}
|
||||
_, err := kreuzberg.BatchExtractFiles(paths, kreuzberg.ExtractionConfig{})
|
||||
if err != nil {
|
||||
t.Fatalf("call failed: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func Test_BatchFileAsyncNotFound(t *testing.T) {
|
||||
// batch_extract_file async nonexistent
|
||||
var paths []kreuzberg.BatchFileItem
|
||||
if err := json.Unmarshal([]byte(`[{"path":"/nonexistent/a.pdf"}]`), &paths); err != nil {
|
||||
t.Fatalf("config parse failed: %v", err)
|
||||
}
|
||||
_, err := kreuzberg.BatchExtractFiles(paths, kreuzberg.ExtractionConfig{})
|
||||
if err != nil {
|
||||
t.Fatalf("call failed: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func Test_BatchFileNotFound(t *testing.T) {
|
||||
// batch_extract_file_sync nonexistent
|
||||
var paths []kreuzberg.BatchFileItem
|
||||
if err := json.Unmarshal([]byte(`[{"path":"/nonexistent/a.pdf"},{"path":"/nonexistent/b.txt"}]`), &paths); err != nil {
|
||||
t.Fatalf("config parse failed: %v", err)
|
||||
}
|
||||
_, err := kreuzberg.BatchExtractFilesSync(paths, kreuzberg.ExtractionConfig{})
|
||||
if err != nil {
|
||||
t.Fatalf("call failed: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func Test_BatchFilePartial(t *testing.T) {
|
||||
// batch_extract_file_sync mixed
|
||||
var paths []kreuzberg.BatchFileItem
|
||||
if err := json.Unmarshal([]byte(`[{"path":"text/plain.txt"},{"path":"/nonexistent/missing.pdf"}]`), &paths); err != nil {
|
||||
t.Fatalf("config parse failed: %v", err)
|
||||
}
|
||||
_, err := kreuzberg.BatchExtractFilesSync(paths, kreuzberg.ExtractionConfig{})
|
||||
if err != nil {
|
||||
t.Fatalf("call failed: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func Test_BatchFileSyncBasic(t *testing.T) {
|
||||
// Extract text from multiple files synchronously
|
||||
var paths []kreuzberg.BatchFileItem
|
||||
if err := json.Unmarshal([]byte(`[{"path":"pdf/fake_memo.pdf"},{"path":"text/fake_text.txt"}]`), &paths); err != nil {
|
||||
t.Fatalf("config parse failed: %v", err)
|
||||
}
|
||||
_, err := kreuzberg.BatchExtractFilesSync(paths, kreuzberg.ExtractionConfig{})
|
||||
if err != nil {
|
||||
t.Fatalf("call failed: %v", err)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user