This is an automated email from the ASF dual-hosted git repository.

tballison pushed a commit to branch TIKA-4809-stage-1
in repository https://gitbox.apache.org/repos/asf/tika.git

commit 12cdd944b339343a80371c013968cb11257731a8
Author: tallison <[email protected]>
AuthorDate: Fri Aug 7 10:41:39 2026 -0400

    TIKA-4809: Delete disabled, non-asserting TikaServerAsyncIntegrationTest
---
 .../core/TikaServerAsyncIntegrationTest.java       | 180 ---------------------
 1 file changed, 180 deletions(-)

diff --git 
a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaServerAsyncIntegrationTest.java
 
b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaServerAsyncIntegrationTest.java
deleted file mode 100644
index fb7aaf554b..0000000000
--- 
a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaServerAsyncIntegrationTest.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tika.server.core;
-
-
-import static java.nio.charset.StandardCharsets.UTF_8;
-import static org.apache.tika.server.core.CXFTestBase.EMITTER_JSON_ID;
-import static org.apache.tika.server.core.CXFTestBase.FETCHER_ID;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.fail;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Random;
-
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import jakarta.ws.rs.core.Response;
-import org.apache.cxf.jaxrs.client.WebClient;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Disabled;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.io.TempDir;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.pipes.api.FetchEmitTuple;
-import org.apache.tika.pipes.api.ParseMode;
-import org.apache.tika.pipes.api.emitter.EmitKey;
-import org.apache.tika.pipes.api.fetcher.FetchKey;
-import org.apache.tika.pipes.core.serialization.JsonFetchEmitTupleList;
-import org.apache.tika.sax.BasicContentHandlerFactory;
-import org.apache.tika.sax.ContentHandlerFactory;
-
-@Disabled("useful for development...need to turn it into a real unit test")
-public class TikaServerAsyncIntegrationTest extends IntegrationTestBase {
-
-    private static final Logger LOG = 
LoggerFactory.getLogger(TikaServerAsyncIntegrationTest.class);
-    private static final int NUM_FILES = 100;
-    private static FetchEmitTuple.ON_PARSE_EXCEPTION ON_PARSE_EXCEPTION = 
FetchEmitTuple.ON_PARSE_EXCEPTION.EMIT;
-
-    @TempDir
-    private static Path TMP_DIR;
-    private static Path TMP_OUTPUT_DIR;
-    private static Path TIKA_CONFIG;
-    private static List<String> FILE_LIST = new ArrayList<>();
-    private static String[] FILES = new String[]{"hello_world.xml", 
"null_pointer.xml",
-            // "heavy_hang_30000.xml", "real_oom.xml",
-            "system_exit.xml"};
-
-    @BeforeAll
-    public static void setUpBeforeClass() throws Exception {
-        Path inputDir = TMP_DIR.resolve("input");
-        TMP_OUTPUT_DIR = TMP_DIR.resolve("output");
-        Files.createDirectories(inputDir);
-        Files.createDirectories(TMP_OUTPUT_DIR);
-        Random rand = new Random();
-        for (int i = 0; i < NUM_FILES; i++) {
-            for (String mockFile : FILES) {
-                if (mockFile.equals("system_exit.xml")) {
-                    if (rand.nextFloat() > 0.1) {
-                        continue;
-                    }
-                }
-                String targetName = i + "-" + mockFile;
-                Path target = inputDir.resolve(targetName);
-                FILE_LIST.add(targetName);
-                
Files.copy(TikaPipesTest.class.getResourceAsStream("/test-documents/mock/" + 
mockFile), target);
-
-            }
-        }
-        TIKA_CONFIG = TMP_DIR.resolve("tika-config.json");
-
-        CXFTestBase.createPluginsConfig(TIKA_CONFIG, inputDir, TMP_OUTPUT_DIR, 
null, null);
-    }
-
-
-    @BeforeEach
-    public void setUpEachTest() throws Exception {
-        for (String problemFile : FILES) {
-            Path targ = TMP_OUTPUT_DIR.resolve(problemFile + ".json");
-
-            if (Files.exists(targ)) {
-                Files.delete(targ);
-                assertFalse(Files.isRegularFile(targ));
-            }
-        }
-    }
-
-
-    @Test
-    public void testBasic() throws Exception {
-
-        Thread serverThread = new Thread(() -> TikaServerCli.main(new String[]{
-                //for debugging/development, use no fork; otherwise go with 
the default
-                //"-noFork",
-                "-p", INTEGRATION_TEST_PORT, "-config", 
TIKA_CONFIG.toAbsolutePath().toString() }));
-        serverThread.start();
-
-        try {
-            long start = System.currentTimeMillis();
-
-            JsonNode response = sendAsync(FILE_LIST);
-
-            String status = response
-                    .get("status")
-                    .asText();
-
-            if (!"ok".equals(status)) {
-                fail("bad status: '" + status + "' -> " + 
response.toPrettyString());
-            }
-            int expected = (ON_PARSE_EXCEPTION == 
FetchEmitTuple.ON_PARSE_EXCEPTION.EMIT) ? FILE_LIST.size() : FILE_LIST.size() / 
3;
-            int targets = 0;
-            while (targets < NUM_FILES * 2) {
-                targets = countTargets();
-                Thread.sleep(100);
-            }
-//            System.out.println("elapsed : " + (System.currentTimeMillis() - 
start));
-        } finally {
-            serverThread.interrupt();
-        }
-    }
-
-    private int countTargets() {
-        return TMP_OUTPUT_DIR
-                .toFile()
-                .listFiles().length;
-    }
-
-    private JsonNode sendAsync(List<String> fileNames) throws Exception {
-        awaitServerStartup();
-        List<FetchEmitTuple> tuples = new ArrayList<>();
-        for (String f : fileNames) {
-            tuples.add(getFetchEmitTuple(f));
-        }
-        String json = JsonFetchEmitTupleList.toJson(tuples);
-
-        Response response = WebClient
-                .create(endPoint + "/async")
-                .accept("application/json")
-                .post(json);
-        if (response.getStatus() != 200) {
-            throw new IllegalArgumentException("status must be 200, but I got: 
" + response.getStatus());
-        }
-        Reader reader = new InputStreamReader((InputStream) 
response.getEntity(), UTF_8);
-        return new ObjectMapper().readTree(reader);
-    }
-
-    private FetchEmitTuple getFetchEmitTuple(String fileName) throws 
IOException {
-        ParseContext parseContext = new ParseContext();
-        parseContext.set(ContentHandlerFactory.class,
-                new 
BasicContentHandlerFactory(BasicContentHandlerFactory.HANDLER_TYPE.XML, -1));
-        parseContext.set(ParseMode.class, ParseMode.RMETA);
-
-        return new FetchEmitTuple(fileName, new FetchKey(FETCHER_ID, 
fileName), new EmitKey(EMITTER_JSON_ID, ""), new Metadata(), parseContext, 
ON_PARSE_EXCEPTION);
-    }
-}

Reply via email to