Re: [Architecture] [MB] Best Approach to write unit tests for DAO Layer ?
gt;>>>>>>>>>> *Cons* >>>>>>>>>>>>>> >>>>>>>>>>>>>> - As mention in [1] tests will be specific to cover only the >>>>>>>>>>>>>> features covered specific to the database which is being used >>>>>>>>>>>>>> (i.e h2) >>>>>>>>>>>>>> - Could also be thought of as an anti pattern for unit tests >>>>>>>>>>>>>> (though it's an in-memory database this could be considered as >>>>>>>>>>>>>> an external >>>>>>>>>>>>>> system) >>>>>>>>>>>>>> >>>>>>>>>>>>>> 2. Mock DB instance >>>>>>>>>>>>>> >>>>>>>>>>>>>> *Pros* >>>>>>>>>>>>>> >>>>>>>>>>>>>> - Since the control is on our side we could overcome the cons >>>>>>>>>>>>>> mentioned in the 1st approach. >>>>>>>>>>>>>> >>>>>>>>>>>>>> *Cons* >>>>>>>>>>>>>> >>>>>>>>>>>>>> - Could make the implementation more complex in comparison to >>>>>>>>>>>>>> the 1st approach >>>>>>>>>>>>>> >>>>>>>>>>>>>> Currently IMO option 1 would be a better option. Since >>>>>>>>>>>>>> currently our code is based on ANSI SQL and we don't have >>>>>>>>>>>>>> triggers, PLSQL >>>>>>>>>>>>>> (which will be database specific syntax which will require us to >>>>>>>>>>>>>> do mocks). >>>>>>>>>>>>>> thoughts ? will there be a better option ? >>>>>>>>>>>>>> >>>>>>>>>>>>>> [1] https://blog.jooq.org/tag/unit-testing/ >>>>>>>>>>>>>> >>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>> Pamod >>>>>>>>>>>>>> -- >>>>>>>>>>>>>> *Pamod Sylvester * >>>>>>>>>>>>>> >>>>>>>>>>>>>> *WSO2 Inc.; http://wso2.com <http://wso2.com>* >>>>>>>>>>>>>> cell: +94 77 7779495 <+94%2077%20777%209495> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> >>>>>>>>>>>>> *Manuri Amaya Perera* >>>>>>>>>>>>> >>>>>>>>>>>>> *Software Engineer* >>>>>>>>>>>>> >>>>>>>>>>>>> *WSO2 Inc.* >>>>>>>>>>>>> >>>>>>>>>>>>> *Blog: http://manuriamayaperera.blogspot.com >>>>>>>>>>>>> <http://manuriamayaperera.blogspot.com>* >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> *Hasitha Abeykoon* >>>>>>>>>>>> Senior Software Engineer; WSO2, Inc.; http://wso2.com >>>>>>>>>>>> *cell:* *+94 719363063* >>>>>>>>>>>> *blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Thanks & Regards, >>>>>>>>>>> >>>>>>>>>>> Fazlan Nazeem >>>>>>>>>>> >>>>>>>>>>> *Senior Software Engineer* >>>>>>>>>>> >>>>>>>>>>> *WSO2 Inc* >>>>>>>>>>> Mobile : +94772338839 >>>>>>>>>>> <%2B94%20%280%29%20773%20451194> >>>>>>>>>>> fazl...@wso2.com >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Ramith Jayasinghe >>>>>>>>>> Technical Lead >>>>>>>>>> WSO2 Inc., http://wso2.com >>>>>>>>>> lean.enterprise.middleware >>>>>>>>>> >>>>>>>>>> E: ram...@wso2.com >>>>>>>>>> P: +94 777542851 <+94%2077%20754%202851> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> >>>>>>>>> *Manuri Amaya Perera* >>>>>>>>> >>>>>>>>> *Software Engineer* >>>>>>>>> >>>>>>>>> *WSO2 Inc.* >>>>>>>>> >>>>>>>>> *Blog: http://manuriamayaperera.blogspot.com >>>>>>>>> <http://manuriamayaperera.blogspot.com>* >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Ramith Jayasinghe >>>>>>>> Technical Lead >>>>>>>> WSO2 Inc., http://wso2.com >>>>>>>> lean.enterprise.middleware >>>>>>>> >>>>>>>> E: ram...@wso2.com >>>>>>>> P: +94 777542851 <+94%2077%20754%202851> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Asanka Abeyweera >>>>>>> Senior Software Engineer >>>>>>> WSO2 Inc. >>>>>>> >>>>>>> Phone: +94 712228648 <071%20222%208648> >>>>>>> Blog: a5anka.github.io >>>>>>> >>>>>>> <https://wso2.com/signature> >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> *Pamod Sylvester * >>>>>> >>>>>> *WSO2 Inc.; http://wso2.com <http://wso2.com>* >>>>>> cell: +94 77 7779495 <+94%2077%20777%209495> >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Pumudu Ruhunage >>>>> Software Engineer | WSO2 Inc >>>>> M: +94 779 664493 | http://wso2.com >>>>> <https://wso2.com/signature> >>>>> >>>> >>>> >>>> >>>> -- >>>> Asanka Abeyweera >>>> Senior Software Engineer >>>> WSO2 Inc. >>>> >>>> Phone: +94 712228648 <+94%2071%20222%208648> >>>> Blog: a5anka.github.io >>>> >>>> <https://wso2.com/signature> >>>> >>> >>> >>> >>> -- >>> Sanjiva Weerawarana, Ph.D. >>> Founder, CEO & Chief Architect; WSO2, Inc.; http://wso2.com/ >>> email: sanj...@wso2.com; office: (+1 650 745 4499 <(650)%20745-4499> | >>> +94 11 214 5345) x5700; cell: +94 77 787 6880 <+94%2077%20787%206880> >>> | +1 408 466 5099 <(408)%20466-5099>; voip: +1 650 265 8311 >>> <(650)%20265-8311>; twitter: @sanjiva >>> Lean . Enterprise . Middleware >>> >> >> >> >> -- >> Regards, >> Uvindra >> >> Mobile: 33962 >> >> ___ >> Architecture mailing list >> Architecture@wso2.org >> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >> >> > > > -- > Malaka. > -- > Malaka Gangananda - Software Engineer | WSO2 > Email : mala...@wso2.com > Mobile : +94713564340 <071%20356%204340> > Web : http://wso2.com > <http://wso2.com/signature> > > ___ > Architecture mailing list > Architecture@wso2.org > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > -- Dharshana Warusavitharana Associate Technical Lead WSO2 Inc. http://wso2.com email : dharsha...@wso2.com <dharsha...@wso2.com> Tel : +94 11 214 5345 Fax :+94 11 2145300 cell : +94770342233 blog : http://dharshanaw.blogspot.com lean . enterprise . middleware ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Architecture] [MB] Best Approach to write unit tests for DAO Layer ?
u...@wso2.com> wrote: >>>>>>>>>> >>>>>>>>>>> Hi Pamod, >>>>>>>>>>> >>>>>>>>>>> API Manager team is using dynamically created containerized >>>>>>>>>>> databases for some tests[1]. With this approach we can perform the >>>>>>>>>>> tests >>>>>>>>>>> for several databases types. I think they have already implemented >>>>>>>>>>> this. >>>>>>>>>>> >>>>>>>>>>> Can we also do something like this? >>>>>>>>>>> >>>>>>>>>>> [1] [Build Team] Jenkins Build configuration on API Manager >>>>>>>>>>> >>>>>>>>>>> Thanks, >>>>>>>>>>> Manuri >>>>>>>>>>> >>>>>>>>>>> On Thu, May 18, 2017 at 10:23 AM, Pamod Sylvester < >>>>>>>>>>> pa...@wso2.com> wrote: >>>>>>>>>>> >>>>>>>>>>>> Hi All, >>>>>>>>>>>> >>>>>>>>>>>> When unit testing DAO layers what will be the best approach we >>>>>>>>>>>> should be using ? some of the approaches would be the following, >>>>>>>>>>>> >>>>>>>>>>>> 1. Use an in-memory database ? (h2,Derby or HSSQLDB) >>>>>>>>>>>> >>>>>>>>>>>> *Pros* >>>>>>>>>>>> >>>>>>>>>>>> - Easy to configure >>>>>>>>>>>> - SQL query executions will be covered >>>>>>>>>>>> >>>>>>>>>>>> *Cons* >>>>>>>>>>>> >>>>>>>>>>>> - As mention in [1] tests will be specific to cover only the >>>>>>>>>>>> features covered specific to the database which is being used (i.e >>>>>>>>>>>> h2) >>>>>>>>>>>> - Could also be thought of as an anti pattern for unit tests >>>>>>>>>>>> (though it's an in-memory database this could be considered as an >>>>>>>>>>>> external >>>>>>>>>>>> system) >>>>>>>>>>>> >>>>>>>>>>>> 2. Mock DB instance >>>>>>>>>>>> >>>>>>>>>>>> *Pros* >>>>>>>>>>>> >>>>>>>>>>>> - Since the control is on our side we could overcome the cons >>>>>>>>>>>> mentioned in the 1st approach. >>>>>>>>>>>> >>>>>>>>>>>> *Cons* >>>>>>>>>>>> >>>>>>>>>>>> - Could make the implementation more complex in comparison to >>>>>>>>>>>> the 1st approach >>>>>>>>>>>> >>>>>>>>>>>> Currently IMO option 1 would be a better option. Since >>>>>>>>>>>> currently our code is based on ANSI SQL and we don't have >>>>>>>>>>>> triggers, PLSQL >>>>>>>>>>>> (which will be database specific syntax which will require us to >>>>>>>>>>>> do mocks). >>>>>>>>>>>> thoughts ? will there be a better option ? >>>>>>>>>>>> >>>>>>>>>>>> [1] https://blog.jooq.org/tag/unit-testing/ >>>>>>>>>>>> >>>>>>>>>>>> Thanks, >>>>>>>>>>>> Pamod >>>>>>>>>>>> -- >>>>>>>>>>>> *Pamod Sylvester * >>>>>>>>>>>> >>>>>>>>>>>> *WSO2 Inc.; http://wso2.com <http://wso2.com>* >>>>>>>>>>>> cell: +94 77 7779495 <+94%2077%20777%209495> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> >>>>>>>>>>> *Manuri Amaya Perera* >>>>>>>>>>> >>>>>>>>>>> *Software Engineer* >>>>>>>>>>> >>>>>>>>>>> *WSO2 Inc.* >>>>>>>>>>> >>>>>>>>>>> *Blog: http://manuriamayaperera.blogspot.com >>>>>>>>>>> <http://manuriamayaperera.blogspot.com>* >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> *Hasitha Abeykoon* >>>>>>>>>> Senior Software Engineer; WSO2, Inc.; http://wso2.com >>>>>>>>>> *cell:* *+94 719363063* >>>>>>>>>> *blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Thanks & Regards, >>>>>>>>> >>>>>>>>> Fazlan Nazeem >>>>>>>>> >>>>>>>>> *Senior Software Engineer* >>>>>>>>> >>>>>>>>> *WSO2 Inc* >>>>>>>>> Mobile : +94772338839 >>>>>>>>> <%2B94%20%280%29%20773%20451194> >>>>>>>>> fazl...@wso2.com >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Ramith Jayasinghe >>>>>>>> Technical Lead >>>>>>>> WSO2 Inc., http://wso2.com >>>>>>>> lean.enterprise.middleware >>>>>>>> >>>>>>>> E: ram...@wso2.com >>>>>>>> P: +94 777542851 <+94%2077%20754%202851> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> >>>>>>> *Manuri Amaya Perera* >>>>>>> >>>>>>> *Software Engineer* >>>>>>> >>>>>>> *WSO2 Inc.* >>>>>>> >>>>>>> *Blog: http://manuriamayaperera.blogspot.com >>>>>>> <http://manuriamayaperera.blogspot.com>* >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Ramith Jayasinghe >>>>>> Technical Lead >>>>>> WSO2 Inc., http://wso2.com >>>>>> lean.enterprise.middleware >>>>>> >>>>>> E: ram...@wso2.com >>>>>> P: +94 777542851 <+94%2077%20754%202851> >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Asanka Abeyweera >>>>> Senior Software Engineer >>>>> WSO2 Inc. >>>>> >>>>> Phone: +94 712228648 <071%20222%208648> >>>>> Blog: a5anka.github.io >>>>> >>>>> <https://wso2.com/signature> >>>>> >>>> >>>> >>>> >>>> -- >>>> *Pamod Sylvester * >>>> >>>> *WSO2 Inc.; http://wso2.com <http://wso2.com>* >>>> cell: +94 77 7779495 <+94%2077%20777%209495> >>>> >>> >>> >>> >>> -- >>> Pumudu Ruhunage >>> Software Engineer | WSO2 Inc >>> M: +94 779 664493 | http://wso2.com >>> <https://wso2.com/signature> >>> >> >> >> >> -- >> Asanka Abeyweera >> Senior Software Engineer >> WSO2 Inc. >> >> Phone: +94 712228648 <+94%2071%20222%208648> >> Blog: a5anka.github.io >> >> <https://wso2.com/signature> >> > > > > -- > Sanjiva Weerawarana, Ph.D. > Founder, CEO & Chief Architect; WSO2, Inc.; http://wso2.com/ > email: sanj...@wso2.com; office: (+1 650 745 4499 <+1%20650-745-4499> | > +94 11 214 5345) x5700; cell: +94 77 787 6880 <077%20787%206880> | +1 > 408 466 5099 <+1%20408-466-5099>; voip: +1 650 265 8311 > <+1%20650-265-8311>; twitter: @sanjiva > Lean . Enterprise . Middleware > -- Dharshana Warusavitharana Associate Technical Lead WSO2 Inc. http://wso2.com email : dharsha...@wso2.com <dharsha...@wso2.com> Tel : +94 11 214 5345 Fax :+94 11 2145300 cell : +94770342233 blog : http://dharshanaw.blogspot.com lean . enterprise . middleware ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Architecture] [Dev] [VOTE] Release WSO2 Identity Server 5.3.0- RC3
Hi All, Tested following areas on Identity Server 5.3.0-RC3 pack 1. XACML policy deployment and XACML API. 2. Policy based provisioning. 3. Access policies during authorization flow. 4. Sample policies for Provisioning and Authorization. [+] Stable - go ahead and release Thank you, Dharshana. On Mon, Jan 9, 2017 at 9:33 AM, Dinali Dabarera <din...@wso2.com> wrote: > Hi, > I tested the following on the Identity Server 5.3.0-RC3 pack, > >- Discovery >- DCR >- Form Post >- Introspection >- SCIM API >- User Management > > Worked fine without any issues. > [+] Stable - go ahead and release > > On Fri, Jan 6, 2017 at 10:06 PM, Pulasthi Mahawithana <pulast...@wso2.com> > wrote: > >> Hi All, >> >> This is the 3rd Release Candidate of WSO2 Identity Server 5.3.0. >> >> Please download, test the product and vote. Vote will be open for 72 >> hours or as needed. >> >> This release fixes the following issues: >> >> Runtime : https://wso2.org/jira/issues/?filter=13612 >> Analytics : https://wso2.org/jira/issues/?filter=13614 >> >> Source and distribution >> >> Run-time : https://github.com/wso2/product-is/releases/tag/v5.3.0-rc3 >> Analytics : https://github.com/wso2/analytics-is/releases/tag/v5.3.0- >> rc3 >> >> Please vote as follows. >> [+] Stable - go ahead and release >> [-] Broken - do not release (explain why) >> >> Thanks, >> - WSO2 Identity Server Team - >> >> -- >> *Pulasthi Mahawithana* >> Senior Software Engineer >> WSO2 Inc., http://wso2.com/ >> Mobile: +94-71-5179022 <+94%2071%20517%209022> >> Blog: http://blog.pulasthi.org >> >> <https://wso2.com/signature> >> >> ___ >> Dev mailing list >> d...@wso2.org >> http://wso2.org/cgi-bin/mailman/listinfo/dev >> >> > > > -- > *Dinali Rosemin Dabarera* > Software Engineer > WSO2 Lanka (pvt) Ltd. > Web: http://wso2.com/ > Email : gdrdabar...@gmail.com > LinkedIn <https://lk.linkedin.com/in/dinalidabarera> > Mobile: +94770198933 <077%20019%208933> > > > > > <https://lk.linkedin.com/in/dinalidabarera> > > > > > > > > > > > > > > > ___ > Dev mailing list > d...@wso2.org > http://wso2.org/cgi-bin/mailman/listinfo/dev > > -- Dharshana Warusavitharana Associate Technical Lead WSO2 Inc. http://wso2.com email : dharsha...@wso2.com <dharsha...@wso2.com> Tel : +94 11 214 5345 Fax :+94 11 2145300 cell : +94770342233 blog : http://dharshanaw.blogspot.com lean . enterprise . middleware ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Architecture] [C5] [OSGi] Pax Exam Container for Carbon 5 - In-Container Testing
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 <m...@wso2.com> 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 <same...@wso2.com> > 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 <m...@wso2.com> 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 : m...@wso2.com >>> >>> ___ >>> Architecture mailing list >>> Architecture@wso2.org >>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>> >>> >> >> >> -- >> Sameera Jayasoma, >> Software Architect, >> >> WSO2, Inc. (http://wso2.com) >> email: same...@wso2.com >> 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 >> Architecture@wso2.org >> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >> >> > > > -- > With regards, > *Manu*ranga Perera. > > phone : 071 7 70 20 50 > mail : m...@wso2.com > > ___ > Architecture mailing list > Architecture@wso2.org > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > -- Dharshana Warusavitharana Senior Software Engineer , Test Automation WSO2 Inc. http://wso2.com email : dharsha...@wso2.com <dharsha...@wso2.com> Tel : +94 11 214 5345 Fax :+94 11 2145300 cell : +94770342233 blog : http://dharshanaw.blogspot.com lean . enterprise . middleware ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Architecture] [C5] [OSGi] Pax Exam Container for Carbon 5 - In-Container Testing
Hi Sameera, This seems to be a very progressive approach. And this will directly resolve the issues we talked about the discussion "C5 - Integration Test" too. And also, this will illuminate the requirement of providing generic mock bundle for PacExam tests. But we have to pay attention to few details here. 1. Avoid product teams to overuse containers to make it to the integration level. 2. Should provide the functionality to test individual feature with minimum depend on features ( Might need to come up with some mock bundles). I'm +1 for the approach Thank you, Dharshana On Fri, May 13, 2016 at 9:04 AM, Sameera Jayasoma <same...@wso2.com> wrote: > Hi Folks, > > Pax Exam lets you run tests within an OSGi runtime, i.e. all the TestNG > based test code now can run as OSGi bundles. You cannot cover all the > scenario with unit tests. e.g. tests which require an OSGi runtime. > Therefore in-container testing for OSGi plays a crucial role in validating > the Carbon kernel, components and products. Let me show you how. > > *Carbon kernel 5.0* - Carbon kernel contains unit tests and in-container > OSGi tests. We can completely test Carbon kernel using both the mechanisms. > > *Carbon Components* - Since there are no associated products for > individual components, we can use unit tests as well as OSGi tests to > validate our component releases. This would allow us to release components > independents of each other. > > *Carbon based Products* - Product functionality has to be tested with > a comprehensive set of integration tests. But OSGi testing can be used to > test some basic stuff before moving a product build to integration tests. > For example, you can check whether your product starts up without errors or > All the required OSGi services, modules are initialized without issues etc. > > > We are planning to implement a Pax Exam Container for Carbon 5. This would > allow us to start a Carbon kernel or any sort of C5 distribution with any > number of features from a zip file with all the bundles having TestNG based > test code. We can maintain this module withing Carbon for now. Here are > some of the Pax Exam containers maintained by the community. [1] > > We've been using Pax Exam for in-container testing, But in a suboptimal > way. We used their Native container mode where we launch an embedded OSGi > framework using all the Carbon bundles. These Carbon bundles are hard-code > in the test configuration classes. If you are adopting this for your > component, you have put all the Carbon level OSGi bundles as well as all > your component level OSGi bundles. For our experience, this is a major pain > point. Therefore, we planning to rectify these issues by introducing a new > Pax Exam container for Carbon 5. > > Thanks, > Sameera, > > https://ops4j1.jira.com/wiki/display/PAXEXAM4/Test+Containers > > > -- > Sameera Jayasoma, > Software Architect, > > WSO2, Inc. (http://wso2.com) > email: same...@wso2.com > blog: http://blog.sameera.org > twitter: https://twitter.com/sameerajayasoma > flickr: http://www.flickr.com/photos/sameera-jayasoma/collections > Mobile: 0094776364456 > > Lean . Enterprise . Middleware > > -- Dharshana Warusavitharana Senior Software Engineer , Test Automation WSO2 Inc. http://wso2.com email : dharsha...@wso2.com <dharsha...@wso2.com> Tel : +94 11 214 5345 Fax :+94 11 2145300 cell : +94770342233 blog : http://dharshanaw.blogspot.com lean . enterprise . middleware ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Architecture] Deployment Automation - Clustering with large number of nodes
Hi All, Moving on with Deployment Automation, we are evaluating a tool for deploying cross platform setup in order to integrate with 3rd party products with deployment framework. Main concerns are 1. Testing actoss multiple environments (OS, JVM, DBs etc). 2. Limitness of resources to maintain seperate environments of different servers, JVMs, OS and diffeent versions of differnt serves. 3. Eazy to manage configurations. 4. Ability to work with open stack, EC2 and local networks. Currently we are planning to eveluate Vagrant [1] based solution to achieve this As first phase we are planning to implement a solution based on Virtual box and OpenStack. [1]. https://www.vagrantup.com/ Thank You, Dharshana. On Mon, Jan 5, 2015 at 3:45 PM, Suhan Dharmasuriya suh...@wso2.com wrote: Thanks Manula. Will look for the possibility and move the central puppet config.pp file contents out of the module. Thanks, Suhan On Mon, Jan 5, 2015 at 3:09 PM, Manula Waidyanatha man...@wso2.com wrote: Hi Suhan, You have to use regex if you want to have different configurations for each server (hostname). If you can move all the node specific data out of the module (to node.pp or site.pp) On Mon, Jan 5, 2015 at 10:45 AM, Suhan Dharmasuriya suh...@wso2.com wrote: Hi, Test Automation team is currently in to RD of deployment automation. Currently we are focusing on deployment of WSO2 Application Server clusters of worker manager pattern. As of now, we have configured deployment automation in a way that the cluster node names in a deployment configuration file [1] and the product configuration information (appserver's axis2.xml, carbon.xml, etc...) in a config.pp [2] file which will be placed as /etc/puppet/modules/appserver/params.pp after running the main python script. Therefore when new instances are spawned in OpenStack according to the node names in config file [1] puppet agents pre-installed in them will retrieve their respective xml configurations from /etc/puppet/modules/appserver/params.pp file and perform puppet catalog runs. Refer Github repo [3] python_scripts for more clarifications. Currently node names are matched directly against the product configuration puppet file $servers names [2]. Our next step is to give the number of worker/manager subdomain node combination and spawn the cluster in to existence on OpenStack environment. We are planning of fronting an elb for each worker/manager subdomain. Then, our deployment.cfg file will be modified as follows by indicating the number of sub domain nodes. [nodes] appserver-mgr = 10 appserver-wkr = 20 config.pp file will be as follows. $servers = { appserver-mgr = { axis2 = {subDomain = 'mgt', members = ['elb1-ip', 'elb2-ip']}, carbon = {subDomain = 'mgt',}, serverOptions = '-Dsetup', server_home = $carbon_home, }, appserver- wkr = { axis2 = {subDomain = 'worker', members = ['elb1-ip', ' elb2-ip']}, carbon = {subDomain = 'worker',}, serverOptions = ' -DworkerNode=true', server_home = $carbon_home, }, } Instances will be spawned in OpenStack as follows. appserver-mgr-1 appserver-mgr-2 ... appserver-mgr-10 appserver-wkr-1 appserver-wkr-2 ... appserver-wkr-20 How can I match the new server names against the new product configuration file? Can I use regular expressions? Is it a recommended approach? Is there any better alternative for pushing product configurations in terms of standards, practices and performance for clusters with large number of nodes? [1] https://github.com/suhand/Deployment-Automation/blob/master/deployment-automation-total-puppet/python_scripts/deployment.cfg [2] https://github.com/suhand/Deployment-Automation/blob/master/deployment-automation-total-puppet/python_scripts/config.pp [3] https://github.com/suhand/Deployment-Automation/tree/master/deployment-automation-total-puppet Thanks, Suhan -- Suhan Dharmasuriya Software Engineer - Test Automation *WSO2, Inc. * lean . enterprise . middleware Tel: +94 112 145345 Mob: +94 779 869138 Blog: http://suhan-opensource.blogspot.com/ -- Regards, Manula Waidyanatha Systems Engineer, WSO2, Inc. Phone: +94 774 195853 Blog: blog.manula.org -- Suhan Dharmasuriya Software Engineer - Test Automation *WSO2, Inc. * lean . enterprise . middleware Tel: +94 112 145345 Mob: +94 779 869138 Blog: http://suhan-opensource.blogspot.com/ -- Dharshana Warusavitharana Senior Software Engineer , Test Automation WSO2 Inc. http://wso2.com email : dharsha...@wso2.com dharsha...@wso2.com Tel : +94 11 214 5345 Fax :+94 11 2145300 cell : +94770342233 blog : http://dharshanaw.blogspot.com lean . enterprise . middleware ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
[Architecture] WSO2 Test Automation Framework 4.3.0 is ready to be used.
WSO2 Test Automation Framework 4.3.0 is ready to be used. February 2014 WSO2 Test Automation Framework team is pleased to announce the internal release of version 4.3.0 of the framework. WSO2 Test Automation Framework (TAF) provides platform wide test automation facility. WSO2 Test Automation Framework is a Framework which enables to perform as a framework addressing the absence of a single framework which can perform equally in all stages of the development to deployment cycles of WSO2 products. WSO2 Test Automation Framework 4.3.0 will give you the flexibility of extending the framework capabilities through extensible support. And manage and execute test suite over the platform with different combinations and reuse existing test suites in different environments. This includes all of the extra integration and management functionality as well. WSO2 Test Automation Framework is an open source product available under the Apache Software License (v2.0)http://www.apache.org/licenses/LICENSE-2.0.html. Enhancements in WSO2 Test Automation Framework 4.3.0 - Introduction of lightweight automation engine. - Introduction of enhanced Automation Context API. - Ability to integrate third party products and platforms. - Native xpath based xml parsing implementation. - Introduction of single configuration file to manage all configurations. - Framework extensibility capability through pluggable modules. - Enhanced server management facility. - Enhanced User management capability. - Configuration file validator. - Introduction of enhanced code coverage through EMMA. - Enhanced support for cluster based platform wide test automation. Key Features - Platform wide Test execution support. - Simple Automation Context API. - TestNG listener based test execution. - REST backend support with JAX-RS services. - Embedded server support (FTP, Proxy server, JMS, ActiveMQ, HTTP Servers Axis2 Server). - Annotation based test execution management support. - Ability to execute same test on multiple environments. - Third party test tooling integration support (Jmeter) - Selenium webdriver integration and ability to run UI tests to cross browser environments. - Set of common test utilities to facilitate better test writing experience . Bugs Fixed and Feature implementation in This Release This release of WSO2 TAF comes with a number of bug fixes and feature implementation. All the issues which have been fixed in Test Framework 4.3.0 are recorded at following locations: - Fixed Test Framework specific issueshttps://wso2.org/jira/issues/?filter=11723 Reporting Problems - Issues can be reported using the Test Automation public JIRA available at https://wso2.org/jira/browse/TA SVN Repository - Test Framework Sourcehttps://svn.wso2.org/repos/wso2/carbon/platform/branches/turing/platform-integration/test-automation-framework-2/https://wso2.org/jira/browse/BPS Contact us WSO2 developers can be contacted via the mailing list: d...@wso2.org For details on subscriptions see http://wso2.org/mail https://wso2.org/jira/browse/TA-798?filter=11723 Discussion Forums Alternatively, questions could be raised on http://stackoverflow.comhttp://stackoverflow.com/questions/tagged/wso2 . Support We are committed to ensuring that your enterprise middleware deployment is completely supported from evaluation to production. Our unique approach ensures that all support leverages our open development methodology and is provided by the very same engineers who build the technology. For more details and to take advantage of this unique opportunity pleasevisit http://wso2.com/support/ http://wso2.com/products/business-process-server/ Thank you for your interest in WSO2 Test Automation Framework - The WSO2 Test Automation Framework Team - ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Architecture] [Dev] Updated Invitation: Introducing new Configuration file in to Automation Frame... @ Fri Aug 9, 2013 3pm - 4pm (dharsha...@wso2.com)
Participants - Srinath, Krishantha, Nuwanw, Dharshanaw Comments. 1. Come up with a comprehensive user guide to identify gaps. 2. Come up with minimal and maximum level configurations. 3. Categorize the configuration context as their high level category. 4. Come up with a simple naming of utility methods. 5. Add the use case of the each element with a parallel to the element comment. Thank You, Dharshana. On Tue, Aug 6, 2013 at 10:27 PM, Dharshana Warusavitharana dharsha...@wso2.com wrote: This event has been changed. more details »https://www.google.com/calendar/event?action=VIEWeid=dDIycWNvdWNkYW5icDViZmU2ODhvMGlkMWMgZGV2QHdzbzIub3Jntok=MTkjZGhhcnNoYW5hd0B3c28yLmNvbTE2MDViZTBiYTkzZmRmNWIzNjhjYjBhNTU1MTg2ZmYyMzM3MGVjNjIctz=Asia/Colombohl=en Introducing new Configuration file in to Automation Framework- Introduction and review Introduction to current approach of the Automation Framwork and review the configuration file and approach of the API *When* *Changed: *Fri Aug 9, 2013 3pm – 4pm Colombo *Where* LK #58 4th Floor Meeting room (maphttp://maps.google.lk/maps?q=LK+%2358+4th+Floor+Meeting+roomhl=en ) *Calendar* dharsha...@wso2.com *Who* • Dharshana Warusavitharana - organizer • Sanjiva Weerawarana • Srinath Perera • Afkham Azeez • Charitha Kankanamge • architecture@wso2.org • d...@wso2.org • Nuwan Wimalasekara • Krishantha Samaraweera Going? ***Yeshttps://www.google.com/calendar/event?action=RESPONDeid=dDIycWNvdWNkYW5icDViZmU2ODhvMGlkMWMgZGV2QHdzbzIub3Jnrst=1tok=MTkjZGhhcnNoYW5hd0B3c28yLmNvbTE2MDViZTBiYTkzZmRmNWIzNjhjYjBhNTU1MTg2ZmYyMzM3MGVjNjIctz=Asia/Colombohl=en- Maybehttps://www.google.com/calendar/event?action=RESPONDeid=dDIycWNvdWNkYW5icDViZmU2ODhvMGlkMWMgZGV2QHdzbzIub3Jnrst=3tok=MTkjZGhhcnNoYW5hd0B3c28yLmNvbTE2MDViZTBiYTkzZmRmNWIzNjhjYjBhNTU1MTg2ZmYyMzM3MGVjNjIctz=Asia/Colombohl=en- Nohttps://www.google.com/calendar/event?action=RESPONDeid=dDIycWNvdWNkYW5icDViZmU2ODhvMGlkMWMgZGV2QHdzbzIub3Jnrst=2tok=MTkjZGhhcnNoYW5hd0B3c28yLmNvbTE2MDViZTBiYTkzZmRmNWIzNjhjYjBhNTU1MTg2ZmYyMzM3MGVjNjIctz=Asia/Colombohl=en ***more options »https://www.google.com/calendar/event?action=VIEWeid=dDIycWNvdWNkYW5icDViZmU2ODhvMGlkMWMgZGV2QHdzbzIub3Jntok=MTkjZGhhcnNoYW5hd0B3c28yLmNvbTE2MDViZTBiYTkzZmRmNWIzNjhjYjBhNTU1MTg2ZmYyMzM3MGVjNjIctz=Asia/Colombohl=en Invitation from Google Calendar https://www.google.com/calendar/ You are receiving this courtesy email at the account d...@wso2.org because you are an attendee of this event. To stop receiving future notifications for this event, decline this event. Alternatively you can sign up for a Google account at https://www.google.com/calendar/ and control your notification settings for your entire calendar. ___ Dev mailing list d...@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev -- Dharshana Warusavitharana Senior Software Engineer , Test Automation WSO2 Inc. http://wso2.com email : dharsha...@wso2.com dharsha...@wso2.com cell : +94772202595 blog : http://dharshanaw.blogspot.com lean . enterprise . middleware ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
[Architecture] Updated Invitation: Introducing new Configuration file in to Automation Frame... @ Fri Aug 9, 2013 3pm - 4pm (dharsha...@wso2.com)
BEGIN:VCALENDAR PRODID:-//Google Inc//Google Calendar 70.9054//EN VERSION:2.0 CALSCALE:GREGORIAN METHOD:REQUEST BEGIN:VEVENT DTSTART:20130809T093000Z DTEND:20130809T103000Z DTSTAMP:20130806T165731Z ORGANIZER;CN=dharsha...@wso2.com:mailto:dharsha...@wso2.com UID:t22qcoucdanbp5bfe688o0i...@google.com ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP= TRUE;CN=Sanjiva Weerawarana;X-NUM-GUESTS=0:mailto:sanj...@wso2.com ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP= TRUE;CN=Srinath Perera;X-NUM-GUESTS=0:mailto:srin...@wso2.com ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;RSVP=TRUE ;CN=Dharshana Warusavitharana;X-NUM-GUESTS=0:mailto:dharsha...@wso2.com ATTENDEE;CUTYPE=RESOURCE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TR UE;CN=LK #58 4th Floor Meeting room;X-NUM-GUESTS=0:mailto:wso2.com_39313938 30333235383...@resource.calendar.google.com ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP= TRUE;CN=Afkham Azeez;X-NUM-GUESTS=0:mailto:az...@wso2.com ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP= TRUE;CN=Charitha Kankanamge;X-NUM-GUESTS=0:mailto:chari...@wso2.com ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP= TRUE;CN=architecture@wso2.org;X-NUM-GUESTS=0:mailto:architecture@wso2.org ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP= TRUE;CN=d...@wso2.org;X-NUM-GUESTS=0:mailto:d...@wso2.org ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP= TRUE;CN=Nuwan Wimalasekara;X-NUM-GUESTS=0:mailto:nuw...@wso2.com ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP= TRUE;CN=Krishantha Samaraweera;X-NUM-GUESTS=0:mailto:krishan...@wso2.com CREATED:20130805T055522Z DESCRIPTION:Introduction to current approach of the Automation Framwork and review the configuration file and approach of the API \nView your event at http://www.google.com/calendar/event?action=VIEWeid=dDIycWNvdWNkYW5icDViZ mU2ODhvMGlkMWMgYXJjaGl0ZWN0dXJlQHdzbzIub3Jntok=MTkjZGhhcnNoYW5hd0B3c28yLmN vbWYyZWRlOTdiZjI3MDRiN2MzNzRhMjFiNzU1YmE5Njk1OTdjOWRlMTQctz=Asia/Colomboh l=en. LAST-MODIFIED:20130806T165731Z LOCATION:LK #58 4th Floor Meeting room SEQUENCE:1 STATUS:CONFIRMED SUMMARY:Introducing new Configuration file in to Automation Framework- Intr oduction and review TRANSP:OPAQUE END:VEVENT END:VCALENDAR invite.ics Description: application/ics ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Re: [Architecture] Introducing new Configuration file in to Automation Framework
instance name=esbm002 type=manager hostlocalhost/host httpport9764/httpport httpsport9444/httpsport webContext//webContext /instance instance name=lbw001 type=lb_worker hostlocalhost/host httpport9763/httpport httpsport9443/httpsport webContext//webContext /instance instance name=lbm001 type=lb_manager hostlocalhost/host httpport9765/httpport httpsport9445/httpsport webContext//webContext /instance /cluster instances instance type=individual id=in001 hostlocalhost/host httpport9764/httpport httpsport9444/httpsport webContext//webContext /instance instance type=individual id=in002 hostlocalhost/host httpport9763/httpport httpsport9443/httpsport webContext//webContext /instance instance type=lb id=lb002 hostlocalhost/host httpport9763/httpport httpsport9443/httpsport webContext//webContext /instance /instances /product /platform /autoConfig Thank You, Dharshana. On Fri, Aug 2, 2013 at 9:02 AM, Dharshana Warusavitharana dharsha...@wso2.com wrote: Hi All, The WSO2 Test Automation Framework is currently using three different property files to read the context needed for executing automation tests. 1. automation.property 2. TenantList.csv 3. UserList.csv The main objective of the above property files is to provide 1. Environment details. 2. Endpoint details (Servers and server URLs) 3. User details. 4. Environment based settings In to automation framework to build the environment for the automated test execution. But with the new refactoring effort of the automation core API we are planning to give much user friendly API and easy to manage set of configurations through a single configuration file. The challenge is bundling all above requirements in a single configuration file with maximum level of readability and manageability. At the moment we have derived a XML configuration file based on the inputs from our previous code reviews and discussions with Azeez. And your valued inputs are welcome for coming out with an optimized config for the automation API. I'm attaching the derived configuration file with this mail and will post the whole XML in-line with the mail as well. Your valued inputs are welcome. Thank You, Dharshana. -- Dharshana Warusavitharana Senior Software Engineer , Test Automation WSO2 Inc. http://wso2.com email : dharsha...@wso2.com dharsha...@wso2.com cell : +94772202595 blog : http://dharshanaw.blogspot.com lean . enterprise . middleware -- Dharshana Warusavitharana Senior Software Engineer , Test Automation WSO2 Inc. http://wso2.com email : dharsha...@wso2.com dharsha...@wso2.com cell : +94772202595 blog : http://dharshanaw.blogspot.com lean . enterprise . middleware ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
[Architecture] Adding Embedded Proxy service to WSO2 Test Automation Framework
Hi All, Currently the Automation framework provides several embedded servers to provide backing support for urging automated testing scenarios. 1. Embedded Tomcat for Jax-RS support. 2. Embedded FTP server (Apache FTP). 3. Embedded ActiveMQ severs. The coming request is embedding a proxy server for testing proxy fronted scenarios. Basically proxy servers we have evaluated like Squid are not controllable as we suppose to do with Tomcat and Apache FTP. And another concern is most of available implementations are not compatible with apache licensing. My primary suggestion is to implement simple Java bases HTTP tunneling proxy to support this scenario. I would like some inputs on what are the areas we should cover other than HTTP tunneling based on the implementation scenarios of each product. Thank You, Dharshana. -- Dharshana Warusavitharana Senior Software Engineer , Test Automation WSO2 Inc. http://wso2.com email : dharsha...@wso2.com dharsha...@wso2.com cell : +94772202595 blog : http://dharshanaw.blogspot.com lean . enterprise . middleware ___ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture