Hi all, POC level implementation for the pax exam container has been completed for now. So we have discussed the following requirements as the initial step of the container implementation.
- Should be able to provide local zip file or a maven distribution or an unpacked directory as the distribution for the container. - Target path(unpack directory) as optional, if not specified create a random folder for the distribution. - Create a pax exam feature for the kernal. - Migrate all the Carbon kernel OSGi tests to this new CarbonTestContainer. - create a C5 test distribution with that feature and custom config files if there are any. E.g. wso2carbon-kernel-test-5.1.0.zip - Check on PerClass, PerMethod, PerSuite exam reactor strategies. - Code coverage with jacoco. Thanks, Chanaka. On Tue, May 17, 2016 at 4:59 PM, Chanaka Cooray <[email protected]> wrote: > Hi all, > > I'm trying to implement the pax exam container for C5. I'm going to > implement the container like the existing Karaf container in pax exam[1]. > So initially there has to be two implementations of "TestContainer" and > "TestContainerFactory" interfaces in pax exam. Currently I'm working on > those. But this is still a POC level implementation. > > [1]. https://ops4j1.jira.com/wiki/display/PAXEXAM4/Karaf+Container > > Thanks, > Chanaka. > > On Sat, May 14, 2016 at 6:20 AM, Dharshana Warusavitharana < > [email protected]> wrote: > >> Hi, Manu/Sameera. >> >> In any case, OSGI Container based tests won't be unit tests. And if any >> test integrates more than one unit it would be an integration test in >> theory. But we cannot stick to hard and fast rules. Yes, I'm also against >> to the point calling PaxExan test are unit tests. But we have to use them >> to test our containerized platform. So we have to give guys the option to >> write a PaxExan test only and only if it could not be covered by a java >> level unit test. But at some point mocking becomes really expensive we have >> to use alternative paths , sometimes violating some basics. >> >> At the moment MB team is doing a great job maintaining good discipline in >> adding tests. Other teams must come to that level and be active and >> discuss before adding PaxEam tests. >> >> But what Sameera initiates here is different from both existing unit test >> and PaxExam tests. It should come under the feature level, not component >> level. So that we can test each feature basic functionalities like whether >> feature starts correctly with the base carbon features. Whether all ports >> are exposed as expected so on. >> >> My point here is we need some mechanism to say this bundle is working and >> activated correctly before it gets deployed in final product pack. So as my >> understanding this is not a unit test. But this will cover the feature >> level before we build up the final pack and test whole scenario in >> production like platform. >> >> Thank you, >> Dharshana. >> >> On Sat, May 14, 2016 at 12:15 AM, Manuranga Perera <[email protected]> wrote: >> >>> In my view, >>> >>> A test is not a unit test if: >>>> >>>> - It talks to the database >>>> - It communicates across the network >>>> - It touches the file system >>>> - It can't run at the same time as any of your other unit tests >>>> - You have to do special things to your environment (such as >>>> editing config files) to run it. [1] >>>> >>>> But I am not saying integration tests are bad or anything. We need >>> integration tests, and PAX is a good way to do that. But those are >>> integration tests. >>> >>> >>> [1] http://www.artima.com/weblogs/viewpost.jsp?thread=126923 >>> >>> On Fri, May 13, 2016 at 2:11 PM, Sameera Jayasoma <[email protected]> >>> wrote: >>> >>>> Manu, >>>> >>>> You are missing the whole point here. Just because we copy a file in >>>> our tests, they don't become integration tests. Can you tell me what an >>>> integration test from your understanding? >>>> >>>> We do not need to copy files and hard-code OSGi bundles once this Pax >>>> Exam container for Carbon 5 is available. >>>> >>>> On Fri, May 13, 2016 at 10:48 PM, Manuranga Perera <[email protected]> >>>> wrote: >>>> >>>>> Hi Dharshana, >>>>> >>>>>> Avoid product teams to overuse containers to make it to the >>>>>> integration level. >>>>> >>>>> PAX is already at integration level. You can see the kernel team is >>>>> coping yaml files in PAX tests. This means they not unit tests. >>>>> >>>>> [1] >>>>> https://github.com/wso2/carbon-kernel/blob/master/tests/osgi-tests/src/test/java/org/wso2/carbon/osgi/runtime/CarbonRuntimeOSGiTest.java#L120 >>>>> -- >>>>> With regards, >>>>> *Manu*ranga Perera. >>>>> >>>>> phone : 071 7 70 20 50 >>>>> mail : [email protected] >>>>> >>>>> _______________________________________________ >>>>> Architecture mailing list >>>>> [email protected] >>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>> >>>>> >>>> >>>> >>>> -- >>>> Sameera Jayasoma, >>>> Software Architect, >>>> >>>> WSO2, Inc. (http://wso2.com) >>>> email: [email protected] >>>> blog: http://blog.sameera.org >>>> twitter: https://twitter.com/sameerajayasoma >>>> flickr: http://www.flickr.com/photos/sameera-jayasoma/collections >>>> Mobile: 0094776364456 >>>> >>>> Lean . Enterprise . Middleware >>>> >>>> >>>> _______________________________________________ >>>> Architecture mailing list >>>> [email protected] >>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>> >>>> >>> >>> >>> -- >>> With regards, >>> *Manu*ranga Perera. >>> >>> phone : 071 7 70 20 50 >>> mail : [email protected] >>> >>> _______________________________________________ >>> Architecture mailing list >>> [email protected] >>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>> >>> >> >> >> -- >> >> Dharshana Warusavitharana >> Senior Software Engineer , Test Automation >> WSO2 Inc. http://wso2.com >> email : [email protected] <[email protected]> >> Tel : +94 11 214 5345 >> Fax :+94 11 2145300 >> cell : +94770342233 >> blog : http://dharshanaw.blogspot.com >> >> lean . enterprise . middleware >> >> _______________________________________________ >> Architecture mailing list >> [email protected] >> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >> >> > > > -- > Chanaka Cooray > Software Engineer, WSO2 Inc. http://wso2.com > Email: [email protected] > Mobile: +94713149860 > > -- Chanaka Cooray Software Engineer, WSO2 Inc. http://wso2.com Email: [email protected] Mobile: +94713149860
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
