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]
> <javascript:_e(%7B%7D,'cvml','[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]
>> <javascript:_e(%7B%7D,'cvml','[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]
>>> <javascript:_e(%7B%7D,'cvml','[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]
>>>> <javascript:_e(%7B%7D,'cvml','[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]
>>>>> <javascript:_e(%7B%7D,'cvml','[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]
>>>>>> <javascript:_e(%7B%7D,'cvml','[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]
>>>>>>> <javascript:_e(%7B%7D,'cvml','[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] <javascript:_e(%7B%7D,'cvml','[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] <javascript:_e(%7B%7D,'cvml','[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] <javascript:_e(%7B%7D,'cvml','[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] <javascript:_e(%7B%7D,'cvml','[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

Reply via email to