// 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 using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; using System.Text; using System.Text.Json; using System.Text.Json.Serialization; using System.Threading.Tasks; using Xunit; using Kreuzberg; using static Kreuzberg.KreuzbergLib; namespace Kreuzberg { /// E2e tests for category: batch. public class BatchTests { private static readonly JsonSerializerOptions ConfigOptions = new() { Converters = { new JsonStringEnumConverter(JsonNamingPolicy.SnakeCaseLower) }, DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingDefault }; [Fact] public void Test_BatchBytesInvalidMime() { // batch_extract_bytes_sync invalid MIME var result = KreuzbergLib.BatchExtractBytesSync(new List() { new BatchBytesItem { Content = new byte[] { (byte)72, (byte)101, (byte)108, (byte)108, (byte)111 }, MimeType = "application/x-nonexistent" } }, null); } [Fact] public async Task Test_BatchExtractBytesHappy() { // batch_extract_bytes: happy path with mixed inputs var result = await KreuzbergLib.BatchExtractBytesAsync(new List() { new BatchBytesItem { Content = new byte[] { (byte)72, (byte)101, (byte)108, (byte)108, (byte)111, (byte)44, (byte)32, (byte)119, (byte)111, (byte)114, (byte)108, (byte)100, (byte)33 }, MimeType = "text/plain" }, new BatchBytesItem { Content = new byte[] { (byte)60, (byte)104, (byte)116, (byte)109, (byte)108, (byte)62, (byte)60, (byte)98, (byte)111, (byte)100, (byte)121, (byte)62, (byte)84, (byte)101, (byte)115, (byte)116, (byte)60, (byte)47, (byte)98, (byte)111, (byte)100, (byte)121, (byte)62, (byte)60, (byte)47, (byte)104, (byte)116, (byte)109, (byte)108, (byte)62 }, MimeType = "text/html" } }, null); Assert.True(result.Count >= 1, "expected at least 1 elements"); } [Fact] public async Task Test_BatchExtractBytesMixedFormat() { // batch_extract_bytes: handles unsupported MIME gracefully var result = await KreuzbergLib.BatchExtractBytesAsync(new List() { new BatchBytesItem { Content = new byte[] { (byte)80, (byte)68, (byte)70, (byte)32, (byte)112, (byte)108, (byte)97, (byte)99, (byte)101, (byte)104, (byte)111, (byte)108, (byte)100, (byte)101, (byte)114 }, MimeType = "application/x-unknown" } }, null); } [Fact] public void Test_BatchExtractBytesSyncEmptyList() { // batch_extract_bytes_sync: empty batch var result = KreuzbergLib.BatchExtractBytesSync(new List() { }, null); Assert.Equal(0, result.Count); } [Fact] public void Test_BatchExtractBytesSyncInvalidMime() { // batch_extract_bytes_sync: unsupported MIME var result = KreuzbergLib.BatchExtractBytesSync(new List() { new BatchBytesItem { Content = new byte[] { (byte)100, (byte)97, (byte)116, (byte)97 }, MimeType = "application/x-unknown" } }, null); } [Fact] public async Task Test_BatchFileAsyncBasic() { // Extract text from multiple files asynchronously var result = await KreuzbergLib.BatchExtractFilesAsync(new List() { new BatchFileItem { Path = "pdf/fake_memo.pdf" }, new BatchFileItem { Path = "text/fake_text.txt" } }, null); } [Fact] public async Task Test_BatchFileAsyncNotFound() { // batch_extract_file async nonexistent var result = await KreuzbergLib.BatchExtractFilesAsync(new List() { new BatchFileItem { Path = "/nonexistent/a.pdf" } }, null); } [Fact] public void Test_BatchFileNotFound() { // batch_extract_file_sync nonexistent var result = KreuzbergLib.BatchExtractFilesSync(new List() { new BatchFileItem { Path = "/nonexistent/a.pdf" }, new BatchFileItem { Path = "/nonexistent/b.txt" } }, null); } [Fact] public void Test_BatchFilePartial() { // batch_extract_file_sync mixed var result = KreuzbergLib.BatchExtractFilesSync(new List() { new BatchFileItem { Path = "text/plain.txt" }, new BatchFileItem { Path = "/nonexistent/missing.pdf" } }, null); } [Fact] public void Test_BatchFileSyncBasic() { // Extract text from multiple files synchronously var result = KreuzbergLib.BatchExtractFilesSync(new List() { new BatchFileItem { Path = "pdf/fake_memo.pdf" }, new BatchFileItem { Path = "text/fake_text.txt" } }, null); } } }