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="user2 >>> 1"> <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
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
