+1 Thanks, Krishantha.
On Thu, Oct 30, 2014 at 2:14 PM, Malithi Edirisinghe <[email protected]> wrote: > Hi All, > > I could create the four artifacts when building the integration module > using maven-antrun-plugin and maven-dependency-plugin at > the process-test-resources phase as below. > > 1. Used the travelocity sample war as a dependency and unpack the war > using maven-dependency-plugin. > 2. Introduced an ant script with four targets, where each will replace > the property file for that combination and execute ant war task to package > a new war. > 3. Each target in the script is invoked using maven-antrun-plugin to > build the war artifact at process-test-resources phase > > I hope this solution is acceptable. Would like to know your thoughts on > this. > > Thanks, > Malithi. > > > On Mon, Oct 27, 2014 at 7:08 AM, Krishantha Samaraweera < > [email protected]> wrote: > >> Hi Malithi, >> >> We normally recommend to keep all test artefacts under integration module >> and build them before all test modules. In this case, if you >> copy travelocity sample code to integration module then it will introduce >> code duplication. So the best approach would be to modify the war file at >> test run time and create four war files with different names. You might be >> able to use war as a dependency and use unpack and find-and-replace plugins >> to create create combination of test artefacts. Then you can host those war >> files on tomcat server before executing any tests. >> >> You can use TestNG @BeforeTest annotation to start tomcat server before >> any tests in your test package. We have followed the same approach in ESB >> JMS tests where ActiveMQ serve is started before running any tests in the >> package [1] (you need to introduce new test block in testng.xml) >> >> Thanks, >> >> Krishantha. >> >> [1] >> https://github.com/wso2-dev/product-esb/blob/master/modules/integration/tests-integration/tests-transport/src/test/java/org/wso2/carbon/esb/jms/transport/test/JMSBrokerStartupTestCase.java >> >> On Sun, Oct 26, 2014 at 10:03 PM, Malithi Edirisinghe <[email protected]> >> wrote: >> >>> Hi All, >>> >>> I have used travelocity sample application to automate tests for the >>> Open Id, for following parameter combinations. >>> >>> User - (Admin/Login User/Tenant User) >>> User Consent - (Approve/Approve Always/Skip) >>> Association Type - (DB Store/Replication Store/Crypto Store) >>> OpenId Attribute Exchange - (With/Without) >>> Consumer Type - (Smart Mode/Dumb Mode) >>> >>> Test is being written using @factory annotation along with a TestNG data >>> provider to initiate tests for each parameter combination. >>> >>> In order to specify the consumer type and to specify whether attribute >>> exchange is requested or not I introduced two new properties to the sample >>> app as below. >>> >>> #Specify whether the consumer requests user attributes from the provider >>> OpenId.EnableAttributeExchange=true >>> >>> #Specify whether the consumer runs in dumb mode >>> OpenId.EnableDumbMode=false >>> >>> So for these two properties there are four combinations that I have to >>> test, and I see below two approaches to get this done. >>> >>> 1. Build four artifacts of the sample app for each combination of >>> the two properties. >>> 2. Use the same artifact for testing changing the property file for >>> each combination. >>> >>> I have tried on (1) using maven-war-plugin by adding four executions and >>> labelling each artifact with a classifer. But this approach packages four >>> additional artifacts though we need them only for testing. I'm not sure how >>> can we have those artifacts be packaged only at the test phase. >>> Further there are several ways of using the tomcat instance with the >>> deployed app. >>> >>> 1. Start tomcat before each test and deploy the relevant artifact. >>> Then stop the instance after the test. >>> 2. Start the tomcat instance before executing a test group and >>> deploy all artifacts needed before running tests. Then stop the instance >>> after running all tests in that group. >>> >>> I found that existing IS tests were written using the first approach. >>> But when considering this case considerable amount of tests would be >>> initiated for combinations of above parameters. So seems 2nd approach would >>> be better. >>> >>> I would like to know the best approach to be followed here. >>> Kindly expect your thoughts on this. >>> >>> Thanks, >>> Malithi. >>> >>> -- >>> >>> *Malithi Edirisinghe* >>> Senior Software Engineer >>> WSO2 Inc. >>> >>> Mobile : +94 (0) 718176807 >>> [email protected] >>> >> >> >> >> -- >> Krishantha Samaraweera >> Senior Technical Lead - Test Automation >> Mobile: +94 77 7759918 >> WSO2, Inc.; http://wso2.com/ >> lean . enterprise . middlewear. >> > > > > -- > > *Malithi Edirisinghe* > Senior Software Engineer > WSO2 Inc. > > Mobile : +94 (0) 718176807 > [email protected] > -- Krishantha Samaraweera Senior Technical Lead - Test Automation Mobile: +94 77 7759918 WSO2, Inc.; http://wso2.com/ lean . enterprise . middlewear.
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
