<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="microprofile-rest-client-TCK" verbose="2"
       configfailurepolicy="continue">

    <!--
        There are classes in DisableTestsTransformer that throw:
        java.lang.NoClassDefFoundError: org/jboss/resteasy/specimpl/ResteasyUriBuilder
        These need to be disabled completely because simply ignoring all methods is not good enough
        as the exception occurs during @BeforeTest

        There are also some tests that are inherently racey
    -->
    <listeners>
        <listener class-name="io.quarkus.tck.restclient.SkipProblematicTests" />
    </listeners>

    <test name="microprofile-rest-client 1.2 TCK">
        <packages>
            <package
                    name="org.eclipse.microprofile.rest.client.tck.*">
                <!-- timeout not implemented -->
                <exclude name="org.eclipse.microprofile.rest.client.tck.timeout"/>
            </package>
        </packages>

        <classes>
            <!-- mp/scope not supported for ConversationScope and SessionScope-->
            <class name="org.eclipse.microprofile.rest.client.tck.cditests.HasConversationScopeTest">
                <methods>
                    <exclude name=".*" />
                </methods>
            </class>
            <class name="org.eclipse.microprofile.rest.client.tck.cditests.HasSessionScopeTest">
                <methods>
                    <exclude name=".*" />
                </methods>
            </class>


            <!-- excluded because of https://github.com/quarkusio/quarkus/issues/3089 -->
            <class name="org.eclipse.microprofile.rest.client.tck.cditests.CDIInvokeSimpleGetOperationTest">
                <methods>
                    <exclude name="testHasDependentScopedByDefault" />
                </methods>
            </class>

            <class name="org.eclipse.microprofile.rest.client.tck.cditests.HasRequestScopeTest">
                <methods>
                    <exclude name="testHasRequestScoped" />
                </methods>
            </class>

            <class name="org.eclipse.microprofile.rest.client.tck.cditests.HasAppScopeTest">
                <methods>
                    <exclude name="testHasApplicationScoped" />
                </methods>
            </class>

            <class name="org.eclipse.microprofile.rest.client.tck.cditests.HasSingletonScopeTest">
                <methods>
                    <exclude name="testHasSingletonScoped" />
                </methods>
            </class>

            <!-- can't inject without @RestClient qualifier -->
            <class name="org.eclipse.microprofile.rest.client.tck.InvokeWithJsonPProviderTest">
                <methods>
                    <exclude name=".*" />
                </methods>
            </class>
            <class name="org.eclipse.microprofile.rest.client.tck.FeatureRegistrationTest">
                <methods>
                    <exclude name=".*" />
                </methods>
            </class>

            <!-- RESTEASY004560: Failed to buffer aborted response -->
            <class name="org.eclipse.microprofile.rest.client.tck.CustomHttpMethodTest">
                <methods>
                    <exclude name=".*" />
                </methods>
            </class>
            <class name="org.eclipse.microprofile.rest.client.tck.RestClientBuilderListenerTest">
                <methods>
                    <exclude name=".*" />
                </methods>
            </class>
            <class name="org.eclipse.microprofile.rest.client.tck.RestClientListenerTest">
                <methods>
                    <exclude name=".*" />
                </methods>
            </class>

            <!-- RESTEASY003145: Unable to find a MessageBodyReader -->
            <class name="org.eclipse.microprofile.rest.client.tck.cditests.CDIInterceptorTest">
                <methods>
                    <exclude name=".*" />
                </methods>
            </class>
            <class name="org.eclipse.microprofile.rest.client.tck.ClientHeadersFactoryTest">
                <methods>
                    <exclude name=".*" />
                </methods>
            </class>
            <class name="org.eclipse.microprofile.rest.client.tck.ClientReuseTest">
                <methods>
                    <exclude name=".*" />
                </methods>
            </class>


            <!-- providers related -->
            <class name="org.eclipse.microprofile.rest.client.tck.InvokeWithBuiltProvidersTest">
                <methods>
                    <exclude name="testInvokesPutOperationWithRegisteredProviders" />
                    <exclude name="testInvokesPostOperationWithRegisteredProviders" />
                </methods>
            </class>
            <class name="org.eclipse.microprofile.rest.client.tck.cditests.CDIInvokeWithRegisteredProvidersTest">
                <methods>
                    <exclude name="testInvokesPostOperation_viaMPConfig" />
                    <exclude name="testInvokesPutOperation_viaMPConfig" />
                </methods>
            </class>

        </classes>

    </test>

</suite>
