fix(ocr): correct trainSenderModel URI from /train to /train-sender

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-04-17 20:08:18 +02:00
committed by marcel
parent a296ad527e
commit 68ec66002a
2 changed files with 42 additions and 1 deletions

View File

@@ -173,7 +173,7 @@ public class RestClientOcrClient implements OcrClient, OcrHealthClient {
TrainingResultJson result = addTrainingAuth(
trainingRestClient.post()
.uri("/train")
.uri("/train-sender")
.contentType(MediaType.MULTIPART_FORM_DATA))
.body(body)
.retrieve()

View File

@@ -0,0 +1,41 @@
package org.raddatz.familienarchiv.service;
import com.sun.net.httpserver.HttpServer;
import org.junit.jupiter.api.Test;
import java.io.OutputStream;
import java.net.InetSocketAddress;
import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import static org.assertj.core.api.Assertions.assertThat;
class RestClientOcrClientTrainingTest {
@Test
void trainSenderModel_postsToTrainSenderEndpoint() throws Exception {
List<String> capturedPaths = new CopyOnWriteArrayList<>();
HttpServer server = HttpServer.create(new InetSocketAddress(0), 0);
server.createContext("/", exchange -> {
capturedPaths.add(exchange.getRequestURI().getPath());
byte[] response = "{\"loss\":0.1,\"accuracy\":0.95,\"cer\":0.05,\"epochs\":3}"
.getBytes(StandardCharsets.UTF_8);
exchange.getResponseHeaders().set("Content-Type", "application/json");
exchange.sendResponseHeaders(200, response.length);
try (OutputStream os = exchange.getResponseBody()) {
os.write(response);
}
});
server.start();
try {
int port = server.getAddress().getPort();
RestClientOcrClient client = new RestClientOcrClient("http://localhost:" + port, "");
client.trainSenderModel(new byte[]{1, 2, 3}, "/app/models/sender_test.mlmodel");
assertThat(capturedPaths).contains("/train-sender");
} finally {
server.stop(0);
}
}
}