telekom / testerra-xray-connector

testerra-xray-connector is used for synchronizing test results with Xray plugin for Atlassian Jira.
Apache License 2.0
4 stars 1 forks source link

Update libs to latest version #8

Open martingrossmann opened 2 years ago

martingrossmann commented 2 years ago

Some of the used libaries are very outdated, e.g. com.fasterxml.jackson.core:jackson-databind:2.3.1 from Dec 2013.

We have to update our libaries to reduce critical vulnerabilities and conflicts if somebody uses a newer version of a lib.

martingrossmann commented 11 months ago

There is also an issue with JDK11 and syncing of single test steps. I asume its caused because of the old com.sun.jersey libs.

Using Testerra test steps Xray connector can also sync these steps to Xray test steps. In that case the connector will also look for existing screenshots which are belong to Testerra steps (data model...). With JDK11 the following exception occours:

java.lang.NoClassDefFoundError: javax/activation/MimetypesFileTypeMap

    at eu.tsystems.mms.tic.testerra.plugins.xray.mapper.xray.XrayTestExecutionImport$TestRun$Evidence.<init>(XrayTestExecutionImport.java:254)
    at eu.tsystems.mms.tic.testerra.plugins.xray.synchronize.AbstractXrayResultsSynchronizer.lambda$updateTestRunForImport$14(AbstractXrayResultsSynchronizer.java:532)
    at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
    at java.base/java.util.LinkedList$LLSpliterator.forEachRemaining(LinkedList.java:1239)
    at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658)
    at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:274)
        ...

Adding the following lib

implementation 'javax.activation:activation:1.1.1'

will solve this.

martingrossmann commented 2 weeks ago

Local run with JDK11 and Testerra 2.8 and Selenoid-Connector 2.1 occurs a java.lang.NoClassDefFoundError: com/sun/jersey/api/client/filter/ClientFilter. The Xray connector still uses very outdated Jersey libs com.sun.jersey:jersey-client:1.19.3 which needs to be replaced by org.glassfish.jersey.core:3.x or JDK http libs.