Hi Prasadi, This[1] example of multiple clients and context using.
[1] https://github.com/warunap/product-mb/blob/master/modules/integration/tests-common/integration-tests-utils/src/main/java/org/wso2/mb/integration/common/utils/backend/MBIntegrationBaseTest.java On Thu, Jan 29, 2015 at 3:03 PM, Malintha Adikari <[email protected]> wrote: > Hi pasadi, > > If you look at the parent class init method, there we prepare some > resources which are helpful to the test writer.IMo you can create a > separate method doing the same thing in your test class and create two > automation context objects. > > Regards, > Malintha > > On ursday, January 29, 2015, Pasadi Munasinghe <[email protected]> wrote: > >> Hi, >> Not using tenant key and user key was the reason for the previous >> exception. >> new AutomtherContext("ESB","esbs001","wso2", "user1" ); worked fine. >> >> The issue that I have now is, to make the users log in and for them to >> act as inboundAdminClients. They should use inbound endpoints and send >> messages from a queue. >> >> Above scenario requires separate session keys and contexturls for each >> client. Such variables are assigned from the base class [1] init method. >> But the init methods use a default tenant users hence I can't use that >> method. >> >> Is it okay to create another init() method within that class as >> init(String instanceName, String tenantName, String userName) ..?? If >> not, can some one suggest what should be done exactly..?? >> >> >> >> [1] >> https://github.com/wso2-dev/product-esb/blob/master/modules/integration/test-common/integration-test-utils/src/main/java/org/wso2/esb/integration/common/utils/ESBIntegrationTest.java >> >> On Wed, Jan 28, 2015 at 11:23 AM, Malintha Adikari <[email protected]> >> wrote: >> >>> Hi Pasadi, >>> >>> Can you share the code where you create AutomationContext objects ? >>> Which parameters you passed in to the constrictors ? >>> >>> Regards, >>> Malintha >>> >>> >>> >>> On Wed, Jan 28, 2015 at 5:41 AM, Pasadi Munasinghe <[email protected]> >>> wrote: >>> >>>> Hi Malintha, >>>> >>>> I tried to create separate automation contexts using productname as ESB >>>> and instance name as esbs001. But it throws a null pointer exception. Can >>>> you explain what I am doing wrong..? >>>> >>>> >>>> java.lang.NullPointerException >>>> at >>>> org.wso2.carbon.automation.engine.context.AutomationContext.getNonSuperTenant(AutomationContext.java:345) >>>> at >>>> org.wso2.carbon.automation.engine.context.AutomationContext.getContextTenant(AutomationContext.java:335) >>>> at >>>> org.wso2.carbon.automation.engine.context.AutomationContext.getContextUrls(AutomationContext.java:469) >>>> at >>>> org.wso2.carbon.integration.common.utils.LoginLogoutClient.<init>(LoginLogoutClient.java:51) >>>> at >>>> org.wso2.carbon.integration.common.utils.mgt.ServerConfigurationManager.<init>(ServerConfigurationManager.java:94) >>>> at >>>> org.wso2.carbon.esb.jms.inbound.transport.test.JMSInboundHttpTenantTestCase.init(JMSInboundHttpTenantTestCase.java:43) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>> at >>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>>> at >>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>>> at java.lang.reflect.Method.invoke(Method.java:597) >>>> at >>>> org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80) >>>> at >>>> org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:525) >>>> at >>>> org.testng.internal.Invoker.invokeConfigurations(Invoker.java:202) >>>> at >>>> org.testng.internal.Invoker.invokeConfigurations(Invoker.java:130) >>>> at >>>> org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:173) >>>> at >>>> org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:105) >>>> at org.testng.TestRunner.runWorkers(TestRunner.java:1178) >>>> at org.testng.TestRunner.privateRun(TestRunner.java:757) >>>> at org.testng.TestRunner.run(TestRunner.java:608) >>>> at org.testng.SuiteRunner.runTest(SuiteRunner.java:334) >>>> at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329) >>>> at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291) >>>> at org.testng.SuiteRunner.run(SuiteRunner.java:240) >>>> at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) >>>> at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) >>>> at org.testng.TestNG.runSuitesSequentially(TestNG.java:1158) >>>> at org.testng.TestNG.runSuitesLocally(TestNG.java:1083) >>>> at org.testng.TestNG.run(TestNG.java:999) >>>> at >>>> org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:178) >>>> at >>>> org.apache.maven.surefire.testng.TestNGXmlTestSuite.execute(TestNGXmlTestSuite.java:92) >>>> at >>>> org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:96) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>> at >>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>>> at >>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>>> at java.lang.reflect.Method.invoke(Method.java:597) >>>> at >>>> org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189) >>>> at >>>> org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165) >>>> at >>>> org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85) >>>> at >>>> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115) >>>> at >>>> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75) >>>> >>>> >>>> >>>> On Wed, Jan 28, 2015 at 8:08 AM, Saneth Dharmakeerthi <[email protected] >>>> > wrote: >>>> >>>>> HI Pasadi, >>>>> >>>>> You can do the multiple user login in same script as bellow. >>>>> >>>>> user login: >>>>> >>>>> LoginLogoutUtil loginUtil = new LoginLogoutUtil(9443, "localhost"); // >>>>> use correct port >>>>> *sessionCookie* = loginUtil.login(TENANT_NAME_1, TENANT_PASSWORD, >>>>> backendURL); >>>>> >>>>> Make sure to update the cookie information as above. Use updated >>>>> cookie for your next activities. >>>>> >>>>> Ex: >>>>> WebAppAdminClient webAppAdminClient = new >>>>> WebAppAdminClient(backendURL, *sessionCookie*); >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> Thanks and Best Regards, >>>>> >>>>> Saneth Dharmakeerthi >>>>> Senior Software Engineer >>>>> WSO2, Inc. >>>>> Mobile: +94772325511 >>>>> >>>>> On Tue, Jan 27, 2015 at 6:52 PM, Malintha Adikari <[email protected]> >>>>> wrote: >>>>> >>>>>> Hi Prasadi, >>>>>> >>>>>> In WSO2 Test Automation Framework, we store all configurations >>>>>> details related to tests in automation.xml file [1]. You can add/remove >>>>>> your tents under <userManagement> element of that file. Then Test >>>>>> Framework will automatically create tenants which are mentioned under >>>>>> above >>>>>> tag. So in your case please add two tenants in to that files >>>>>> >>>>>> >>>>>> <tenant domain="wso2.com" key="wso2.com"> <admin> <user key=" >>>>>> admin"> <userName>admin</userName> <password>admin</ >>>>>> password> </user> </admin> <users> <user key="user1"> < >>>>>> userName>testuser11</userName> <password>testuser11</password> >>>>>> </user> <user key="user2"> <userName>testuser21</userName> >>>>>> <password>testuser21</password> </user> </users> >>>>>> >>>>>> <tenant domain="test.com" key="test.com"> <admin><user key=" >>>>>> admin"> <userName>admin</userName> <password>admin</ >>>>>> password> </user> </admin> <users> <user key="user11"> < >>>>>> userName>testuser111</userName> <password>testuser11</password> </ >>>>>> user> <user key="user21"> <userName>testuser211</userName> < >>>>>> password>testuser21</password> </user> </users> >>>>>> >>>>>> >>>>>> >>>>>> Then you can use those tenants seperately inside your tests. You can >>>>>> create separate "AutomationContext" objects in your test (in your case >>>>>> two) >>>>>> and use those AutomationContext objects for writing your test case. You >>>>>> can >>>>>> achieve tenant separation through these objects. >>>>>> >>>>>> >>>>>> >>>>>> *AutomationContext tenant1Context= new >>>>>> AutomationContext(productGroupName, instanceName, "wso2.com >>>>>> <http://wso2.com>", "admin")AutomationContext tenant2Context= new >>>>>> AutomationContext(productGroupName, instanceName, "test.com >>>>>> <http://test.com>", "user11")* >>>>>> >>>>>> (Please refer AutmationContext.java class[4] for different >>>>>> constructors you can use to create your AutomationContext object) >>>>>> >>>>>> In ESB tests above "AutomationContext" object is created inside a >>>>>> base class [3] and all test classes inherited from that class. You can >>>>>> add >>>>>> your "AutomationContext" objects in your test class and it will do no >>>>>> harm >>>>>> >>>>>> Note: Tenant creation process is done by AutomationFramework here. >>>>>> (In the upstart of the carbon server) >>>>>> >>>>>> If you want to create tenants inside your test case it self please >>>>>> refer how Automation Framework do the same thing [2] >>>>>> >>>>>> [1] >>>>>> https://github.com/wso2/product-as/blob/master/modules/integration/tests-integration/tests/src/test/resources/automation.xml >>>>>> [2] >>>>>> https://github.com/wso2-dev/carbon-platform-integration-utils/tree/master/common-framework-extensions/src/main/java/org/wso2/carbon/integration/common/extensions/usermgt >>>>>> [3] >>>>>> https://github.com/wso2-dev/product-esb/blob/master/modules/integration/test-common/integration-test-utils/src/main/java/org/wso2/esb/integration/common/utils/ESBIntegrationTest.java >>>>>> [4] >>>>>> https://github.com/wso2-dev/carbon-platform-integration/blob/master/test-automation-framework/org.wso2.carbon.automation.engine/src/main/java/org/wso2/carbon/automation/engine/context/AutomationContext.java >>>>>> >>>>>> Regards, >>>>>> Malintha Adikari >>>>>> >>>>>> >>>>>> >>>>>> On Tue, Jan 27, 2015 at 12:46 PM, Irham Iqbal <[email protected]> wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> In this class[1] we populate users for tenant. you can go through >>>>>>> addTenantUsers method and see how you can add users. >>>>>>> >>>>>>> [1] >>>>>>> https://github.com/wso2-dev/carbon-platform-integration-utils/blob/master/common-framework-extensions/src/main/java/org/wso2/carbon/integration/common/extensions/usermgt/UserPopulator.java >>>>>>> >>>>>>> Thanks, >>>>>>> Iqbal >>>>>>> >>>>>>> On Tue, Jan 27, 2015 at 5:55 PM, Pasadi Munasinghe <[email protected] >>>>>>> > wrote: >>>>>>> >>>>>>>> Hi Irham, >>>>>>>> >>>>>>>> Thank you for the reply. >>>>>>>> What I actually need to do is to create one tenant and make him >>>>>>>> execute a certain process and the other one should log in and some >>>>>>>> other >>>>>>>> process. Can you please elaborate how can I get each user to perform >>>>>>>> their >>>>>>>> respective activities..?? >>>>>>>> Thanx..!! >>>>>>>> >>>>>>>> On Tue, Jan 27, 2015 at 5:40 PM, Irham Iqbal <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Hi Pasadi, >>>>>>>>> >>>>>>>>> You can use automation.xml[1] to create multiple tenants. >>>>>>>>> You can define your tenants inside <userManagement> tag and inside >>>>>>>>> <listenerExtensions> tag add the extension class[2]. This >>>>>>>>> automation.xml[1] already has those configuration. >>>>>>>>> >>>>>>>>> [1] >>>>>>>>> https://github.com/wso2/product-as/blob/master/modules/integration/tests-integration/tests/src/test/resources/automation.xml >>>>>>>>> >>>>>>>>> >>>>>>>>> [2]org.wso2.carbon.integration.common.extensions.usermgt.UserPopulateExtension >>>>>>>>> >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> Iqbal >>>>>>>>> >>>>>>>>> On Tue, Jan 27, 2015 at 5:20 PM, Pasadi Munasinghe < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> Hi, >>>>>>>>>> I am in the process of implementing a test case where initially 2 >>>>>>>>>> tenant users should be able to log in. How should I do this..?? >>>>>>>>>> Thanx..!!! >>>>>>>>>> -- >>>>>>>>>> Pasadi Munasinghe >>>>>>>>>> Software Engineer Intern >>>>>>>>>> WSO2, Inc >>>>>>>>>> Mobile: +9471 377 5515 >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> Dev mailing list >>>>>>>>>> [email protected] >>>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Irham Iqbal >>>>>>>>> Software Engineer - Test Automation >>>>>>>>> WSO2, Inc.: http://wso2.com >>>>>>>>> lean. enterprise. middleware >>>>>>>>> phone: +94 777888452 >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Pasadi Munasinghe >>>>>>>> Software Engineer Intern >>>>>>>> WSO2, Inc >>>>>>>> Mobile: +9471 377 5515 >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Irham Iqbal >>>>>>> Software Engineer - Test Automation >>>>>>> WSO2, Inc.: http://wso2.com >>>>>>> lean. enterprise. middleware >>>>>>> phone: +94 777888452 >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Dev mailing list >>>>>>> [email protected] >>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> *Malintha Adikari* >>>>>> Software Engineer >>>>>> WSO2 Inc.; http://wso2.com >>>>>> lean.enterprise.middleware >>>>>> >>>>>> Mobile: +94 71 2312958 >>>>>> Blog: http://malinthas.blogspot.com >>>>>> Page: http://about.me/malintha >>>>>> >>>>>> _______________________________________________ >>>>>> Dev mailing list >>>>>> [email protected] >>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>> >>>>>> >>>>> >>>> >>>> >>>> -- >>>> Pasadi Munasinghe >>>> Software Engineer Intern >>>> WSO2, Inc >>>> Mobile: +9471 377 5515 >>>> >>> >>> >>> >>> -- >>> *Malintha Adikari* >>> Software Engineer >>> WSO2 Inc.; http://wso2.com >>> lean.enterprise.middleware >>> >>> Mobile: +94 71 2312958 >>> Blog: http://malinthas.blogspot.com >>> Page: http://about.me/malintha >>> >> >> >> >> -- >> Pasadi Munasinghe >> Software Engineer Intern >> WSO2, Inc >> Mobile: +9471 377 5515 >> > > > -- > *Malintha Adikari* > Software Engineer > WSO2 Inc.; http://wso2.com > lean.enterprise.middleware > > Mobile: +94 71 2312958 > Blog: http://malinthas.blogspot.com > Page: http://about.me/malintha > > > _______________________________________________ > Dev mailing list > [email protected] > http://wso2.org/cgi-bin/mailman/listinfo/dev > > -- Waruna Perera Senior Software Engineer - Test Automation Mobile: +94 77 3867037 WSO2, Inc.; http://wso2.com/ lean . enterprise . middlewear.
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
