Hi, Thanks everyone for having a look and thanks for the 2 +1s. One more would be needed for a release. Can anybody else take a look? @Daniel, did it work for you?
Thanks a lot! - Andrei On Wed, Sep 21, 2016 at 10:34 AM Andrei Dulvac <andrei.dul...@gmail.com> wrote: > Sorry, I forgot I had already added > https://sling.apache.org/documentation/tutorials-how-tos/testing-sling-based-applications.html#http-based-integration-tests > > Would it make sense to add it to the page you linked and maybe drop a > couple of lines regarding the usecases? > > - Andrei > > > On Wed, Sep 21, 2016 at 10:31 AM Andrei Dulvac <dul...@apache.org> wrote: > >> Hi Konrad, >> >> On Wed, Sep 21, 2016 at 10:18 AM Konrad Windszus <konra...@gmx.de> wrote: >> >>> Hey Andrei, could you briefly mention those new bundles in >>> https://sling.apache.org/documentation/development/sling-testing-tools.html >>> and/or >>> https://sling.apache.org/documentation/bundles/org-apache-sling-junit-bundles.html >>> just to have the complete picture on those pages? >>> >> >> Yes, I'll update those pages. Might take a while, as I'm still learning >> the ways of the apache CMS and all that. >> >> >>> >>> To me the difference to the Teleporter approach is not that obvious. >>> Maybe you can write some sentences on when it is recommended to choose >>> which approach. >>> >> >> Hmm, I think there are almost NO collisions there. >> >> The teleporter is a brilliant mechanism that runs a test on both the >> client-side (but only what's going on before the teleporter rule swaps the >> junit statement with a bundle creation, upload and test trigger on the >> server) and on the server-side, using sling junit core. You write tests on >> the serverside, but trigger them from the client-side and report them on >> the client-side. >> >> The Sling HTTP testing clients/ rules are a toolset of HTTP/ Junit >> goodies for writing tests that interact with instances at HTTP level. Think >> that you'd wanna test a servlet or a jsp. It would be a bit weird to do >> that from a server-side test written with the teleporter. >> >> Or that you want to test some clustering functionality where you have/ >> provision 3 instances and interact with them "from the top" and the test >> logic needs 3 instances (see *SlingInstanceRule*). If you write a test >> with the teleporter, it will run *inside* one instance. >> >> Or that you want to use the clients in a stress-testing scenario (we're >> using the http clients in an internal tool in Adobe to stress test the >> system with Sling-specific operations, like creating and deleting nodes). >> The client-side junit stays stable and can keep going if the server is >> unresponsive. >> >> Also, you can perfectly have a module with some tests using the http >> framework and some tests using the teleporter. >> >> I hope this makes sense and that I haven't misunderstood the question. >> >> - Andrei >> >> >>> >>> Thanks, >>> Konrad >>> >>> > Am 21.09.2016 um 10:11 schrieb Andrei Dulvac <dul...@apache.org>: >>> > >>> > Hi Stefan. >>> > Thanks for the +1. >>> > On Tue, Sep 20, 2016 at 6:20 PM Stefan Seifert <sseif...@pro-vision.de >>> > >>> > wrote: >>> > >>> >> +1 >>> >> >>> >> this is a lot of interesting stuff - do we already have some >>> >> documentation/sample project for this? >>> >> >>> > We have some docu on the junit rules [0] - the entrypoint for writing a >>> > test, some docu on the clients [1] (the FAQ at the end also provides >>> some >>> > insight into some design choices). >>> > >>> > I've also adapted the old SlingTestBase from sling.testing.tools in >>> > serversetup [2] in order to use those in the sling tests, using the >>> > existing mechanism to start a new sling instance for tests, as part of >>> the >>> > maven build. It's used in the SlingInstanceRule [3] which I used to >>> adapt >>> > some sample tests like [4] (I didn't want to touch launchpad tests or >>> > anything like that, but I'm willing to put in some work if needed). I >>> see >>> > Bertrand also adapted some tests there, in samples/ lately. >>> > >>> > That's mostly what we have, no wholesome documentation, unfortunately. >>> Ah, >>> > another helpful thing to have a look at is the unit tests for the >>> clients, >>> > like AbstractSlingClientGetUrlTest [5] which makes sure there are no >>> > regressions in terms of how URIs are dealt with. >>> > >>> > HTH, >>> > - Andrei >>> > >>> > --- >>> > [0] https://github.com/apache/sling/tree/trunk/testing/junit/rules >>> > [1] https://github.com/apache/sling/tree/trunk/testing/http/clients >>> > [2] >>> > >>> https://github.com/apache/sling/blob/trunk/testing/serversetup/src/main/java/org/apache/sling/testing/serversetup/instance/SlingTestBase.java >>> > [3] >>> > >>> https://github.com/apache/sling/blob/trunk/testing/junit/rules/src/main/java/org/apache/sling/testing/junit/rules/SlingInstanceRule.java >>> > [4] >>> > >>> https://github.com/apache/sling/blob/b0debb458d0ac7098ded772412adc11163865d2c/testing/samples/bundle-with-it/src/test/java/org/apache/sling/testing/samples/bundlewit/OsgiConsoleHttpIT.java >>> > [5] >>> > >>> https://github.com/apache/sling/blob/trunk/testing/http/clients/src/test/java/org/apache/sling/testing/AbstractSlingClientGetUrlTest.java >>> >>>