Re: [Dev] Writing a test case for ESB in tenant mode with 4.3.0 automation framework
Hi, Yes, this is a bug in the framework. Cause for the issue is *getUserName() *gives correct username ( appending @domainName) for all other users but not admin user of the tenant. This is valid for superTenant but wrong for other tenants. We can fix this by appending @domainName value to all usernames in the framework API implementation. Regards, Malintha Adikari On Sun, Jul 27, 2014 at 8:35 PM, Isuru Udana isu...@wso2.com wrote: Thanks Malintha. After adding the extension to automation.xml users are getting added properly and test case executed successfully. However we still need the modification done by me to the LoginLogoutClient. It looks to me a bug in the framework. Could you please verify the fix done by me and apply it ? Thanks. On Sun, Jul 27, 2014 at 7:58 PM, Malintha Adikari malin...@wso2.com wrote: Hi Isuru, We are using pluggable extensions in test automation framework to allow user to plug additional extensions to the test execution flow. We have already provided user management ( user population) as a pluggable extension. We have to register those extensions in automation.xml under *listenerExtensions* section in order to use those pluggable modules. In your issue , seems you haven't register that user populator extension in your automation.xml file. You can register user management extension in automation.xml as follows listenerExtensions platformExecutionManager extentionClasses classNameorg.wso2.carbon.integration.common.extensions. usermgt.UserPopulateExtension/className /extentionClasses /platformExecutionManager After registering this pluggable module , test framework will populate all the tenant users which you have mentioned in the automation.xml under userManagement section and you can use those tenant users for your tests. Ex: TestUserMode.TENANT_ADMIN represents the admin user of the first tenant of the tenant list we have populated. So y . On Sun, Jul 27, 2014 at 12:40 PM, Isuru Udana isu...@wso2.com wrote: Hi Automation Team, I am trying to write a automation test for ESB in tenant mode. As per offline information I got from NuwanW, we only have to use the following init(TestUserMode.TENANT_ADMIN); If we have populated the tenants correctly, we can prepare the test environment for tenant user as above and proceed with our test without any further change. instead of init(); to run the test case in tenant mode. When I try that approach I saw that artifacts are getting deployed to the super tenant even if we initialize the tenant mode. Reason for that is Login method always logs into super tenant to deploy artifacts. So I did the following change in the LoginLogoutClient. public String login() throws LoginAuthenticationExceptionException, IOException, XMLStreamException, URISyntaxException, SAXException, XPathExpressionException { -String userName; -userName = automationContext.getContextTenant().getContextUser().getUserName(); + +// Get the tenant +Tenant tenant = automationContext.getContextTenant(); + +String userName = + tenant.getContextUser().getUserName().concat(@).concat(tenant.getDomain()); + return loginClient.login(userName, automationContext.getContextTenant().getContextUser().getPassword() , automationContext.getInstance().getHosts().get(default)); } After making that modification now I am getting the following error. Invalid domain or unactivated tenant login Then I tried to manually log into the management console using the tenant admin credentials defined in the automation.xml and it wasn't successful. What am I missing here ? Or else is this way of running tests in tenant mode is not tested and still under development ? Thanks. -- *Isuru Udana* Senior * Software Engineer* WSO2 Inc.; http://wso2.com email: isu...@wso2.com cell: +94 77 3791887 blog: http://mytecheye.blogspot.com/ twitter: http://twitter.com/isudana Regards, Malintha Adikari -- *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 -- *Isuru Udana* Senior * Software Engineer* WSO2 Inc.; http://wso2.com email: isu...@wso2.com cell: +94 77 3791887 blog: http://mytecheye.blogspot.com/ twitter: http://twitter.com/isudana -- *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 Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
[Dev] Writing a test case for ESB in tenant mode with 4.3.0 automation framework
Hi Automation Team, I am trying to write a automation test for ESB in tenant mode. As per offline information I got from NuwanW, we only have to use the following init(TestUserMode.TENANT_ADMIN); instead of init(); to run the test case in tenant mode. When I try that approach I saw that artifacts are getting deployed to the super tenant even if we initialize the tenant mode. Reason for that is Login method always logs into super tenant to deploy artifacts. So I did the following change in the LoginLogoutClient. public String login() throws LoginAuthenticationExceptionException, IOException, XMLStreamException, URISyntaxException, SAXException, XPathExpressionException { -String userName; -userName = automationContext.getContextTenant().getContextUser().getUserName(); + +// Get the tenant +Tenant tenant = automationContext.getContextTenant(); + +String userName = + tenant.getContextUser().getUserName().concat(@).concat(tenant.getDomain()); + return loginClient.login(userName, automationContext.getContextTenant().getContextUser().getPassword() , automationContext.getInstance().getHosts().get(default)); } After making that modification now I am getting the following error. Invalid domain or unactivated tenant login Then I tried to manually log into the management console using the tenant admin credentials defined in the automation.xml and it wasn't successful. What am I missing here ? Or else is this way of running tests in tenant mode is not tested and still under development ? Thanks. -- *Isuru Udana* Senior * Software Engineer* WSO2 Inc.; http://wso2.com email: isu...@wso2.com cell: +94 77 3791887 blog: http://mytecheye.blogspot.com/ twitter: http://twitter.com/isudana ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
Re: [Dev] Writing a test case for ESB in tenant mode with 4.3.0 automation framework
Hi Isuru, We are using pluggable extensions in test automation framework to allow user to plug additional extensions to the test execution flow. We have already provided user management ( user population) as a pluggable extension. We have to register those extensions in automation.xml under *listenerExtensions* section in order to use those pluggable modules. In your issue , seems you haven't register that user populator extension in your automation.xml file. You can register user management extension in automation.xml as follows listenerExtensions platformExecutionManager extentionClasses classNameorg.wso2.carbon.integration.common.extensions. usermgt.UserPopulateExtension/className /extentionClasses /platformExecutionManager After registering this pluggable module , test framework will populate all the tenant users which you have mentioned in the automation.xml under userManagement section and you can use those tenant users for your tests. Ex: TestUserMode.TENANT_ADMIN represents the admin user of the first tenant of the tenant list we have populated. So y . On Sun, Jul 27, 2014 at 12:40 PM, Isuru Udana isu...@wso2.com wrote: Hi Automation Team, I am trying to write a automation test for ESB in tenant mode. As per offline information I got from NuwanW, we only have to use the following init(TestUserMode.TENANT_ADMIN); If we have populated the tenants correctly, we can prepare the test environment for tenant user as above and proceed with our test without any further change. instead of init(); to run the test case in tenant mode. When I try that approach I saw that artifacts are getting deployed to the super tenant even if we initialize the tenant mode. Reason for that is Login method always logs into super tenant to deploy artifacts. So I did the following change in the LoginLogoutClient. public String login() throws LoginAuthenticationExceptionException, IOException, XMLStreamException, URISyntaxException, SAXException, XPathExpressionException { -String userName; -userName = automationContext.getContextTenant().getContextUser().getUserName(); + +// Get the tenant +Tenant tenant = automationContext.getContextTenant(); + +String userName = + tenant.getContextUser().getUserName().concat(@).concat(tenant.getDomain()); + return loginClient.login(userName, automationContext.getContextTenant().getContextUser().getPassword() , automationContext.getInstance().getHosts().get(default)); } After making that modification now I am getting the following error. Invalid domain or unactivated tenant login Then I tried to manually log into the management console using the tenant admin credentials defined in the automation.xml and it wasn't successful. What am I missing here ? Or else is this way of running tests in tenant mode is not tested and still under development ? Thanks. -- *Isuru Udana* Senior * Software Engineer* WSO2 Inc.; http://wso2.com email: isu...@wso2.com cell: +94 77 3791887 blog: http://mytecheye.blogspot.com/ twitter: http://twitter.com/isudana Regards, Malintha Adikari -- *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 Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
Re: [Dev] Writing a test case for ESB in tenant mode with 4.3.0 automation framework
Thanks Malintha. After adding the extension to automation.xml users are getting added properly and test case executed successfully. However we still need the modification done by me to the LoginLogoutClient. It looks to me a bug in the framework. Could you please verify the fix done by me and apply it ? Thanks. On Sun, Jul 27, 2014 at 7:58 PM, Malintha Adikari malin...@wso2.com wrote: Hi Isuru, We are using pluggable extensions in test automation framework to allow user to plug additional extensions to the test execution flow. We have already provided user management ( user population) as a pluggable extension. We have to register those extensions in automation.xml under *listenerExtensions* section in order to use those pluggable modules. In your issue , seems you haven't register that user populator extension in your automation.xml file. You can register user management extension in automation.xml as follows listenerExtensions platformExecutionManager extentionClasses classNameorg.wso2.carbon.integration.common.extensions. usermgt.UserPopulateExtension/className /extentionClasses /platformExecutionManager After registering this pluggable module , test framework will populate all the tenant users which you have mentioned in the automation.xml under userManagement section and you can use those tenant users for your tests. Ex: TestUserMode.TENANT_ADMIN represents the admin user of the first tenant of the tenant list we have populated. So y . On Sun, Jul 27, 2014 at 12:40 PM, Isuru Udana isu...@wso2.com wrote: Hi Automation Team, I am trying to write a automation test for ESB in tenant mode. As per offline information I got from NuwanW, we only have to use the following init(TestUserMode.TENANT_ADMIN); If we have populated the tenants correctly, we can prepare the test environment for tenant user as above and proceed with our test without any further change. instead of init(); to run the test case in tenant mode. When I try that approach I saw that artifacts are getting deployed to the super tenant even if we initialize the tenant mode. Reason for that is Login method always logs into super tenant to deploy artifacts. So I did the following change in the LoginLogoutClient. public String login() throws LoginAuthenticationExceptionException, IOException, XMLStreamException, URISyntaxException, SAXException, XPathExpressionException { -String userName; -userName = automationContext.getContextTenant().getContextUser().getUserName(); + +// Get the tenant +Tenant tenant = automationContext.getContextTenant(); + +String userName = + tenant.getContextUser().getUserName().concat(@).concat(tenant.getDomain()); + return loginClient.login(userName, automationContext.getContextTenant().getContextUser().getPassword() , automationContext.getInstance().getHosts().get(default)); } After making that modification now I am getting the following error. Invalid domain or unactivated tenant login Then I tried to manually log into the management console using the tenant admin credentials defined in the automation.xml and it wasn't successful. What am I missing here ? Or else is this way of running tests in tenant mode is not tested and still under development ? Thanks. -- *Isuru Udana* Senior * Software Engineer* WSO2 Inc.; http://wso2.com email: isu...@wso2.com cell: +94 77 3791887 blog: http://mytecheye.blogspot.com/ twitter: http://twitter.com/isudana Regards, Malintha Adikari -- *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 -- *Isuru Udana* Senior * Software Engineer* WSO2 Inc.; http://wso2.com email: isu...@wso2.com cell: +94 77 3791887 blog: http://mytecheye.blogspot.com/ twitter: http://twitter.com/isudana ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
Re: [Dev] Writing a test case for ESB in tenant mode with 4.3.0 automation framework
Pull request sent for you to review. *https://wso2.org/jira/browse/TA-874 https://wso2.org/jira/browse/TA-874* Thanks. On Sun, Jul 27, 2014 at 8:35 PM, Isuru Udana isu...@wso2.com wrote: Thanks Malintha. After adding the extension to automation.xml users are getting added properly and test case executed successfully. However we still need the modification done by me to the LoginLogoutClient. It looks to me a bug in the framework. Could you please verify the fix done by me and apply it ? Thanks. On Sun, Jul 27, 2014 at 7:58 PM, Malintha Adikari malin...@wso2.com wrote: Hi Isuru, We are using pluggable extensions in test automation framework to allow user to plug additional extensions to the test execution flow. We have already provided user management ( user population) as a pluggable extension. We have to register those extensions in automation.xml under *listenerExtensions* section in order to use those pluggable modules. In your issue , seems you haven't register that user populator extension in your automation.xml file. You can register user management extension in automation.xml as follows listenerExtensions platformExecutionManager extentionClasses classNameorg.wso2.carbon.integration.common.extensions. usermgt.UserPopulateExtension/className /extentionClasses /platformExecutionManager After registering this pluggable module , test framework will populate all the tenant users which you have mentioned in the automation.xml under userManagement section and you can use those tenant users for your tests. Ex: TestUserMode.TENANT_ADMIN represents the admin user of the first tenant of the tenant list we have populated. So y . On Sun, Jul 27, 2014 at 12:40 PM, Isuru Udana isu...@wso2.com wrote: Hi Automation Team, I am trying to write a automation test for ESB in tenant mode. As per offline information I got from NuwanW, we only have to use the following init(TestUserMode.TENANT_ADMIN); If we have populated the tenants correctly, we can prepare the test environment for tenant user as above and proceed with our test without any further change. instead of init(); to run the test case in tenant mode. When I try that approach I saw that artifacts are getting deployed to the super tenant even if we initialize the tenant mode. Reason for that is Login method always logs into super tenant to deploy artifacts. So I did the following change in the LoginLogoutClient. public String login() throws LoginAuthenticationExceptionException, IOException, XMLStreamException, URISyntaxException, SAXException, XPathExpressionException { -String userName; -userName = automationContext.getContextTenant().getContextUser().getUserName(); + +// Get the tenant +Tenant tenant = automationContext.getContextTenant(); + +String userName = + tenant.getContextUser().getUserName().concat(@).concat(tenant.getDomain()); + return loginClient.login(userName, automationContext.getContextTenant().getContextUser().getPassword() , automationContext.getInstance().getHosts().get(default)); } After making that modification now I am getting the following error. Invalid domain or unactivated tenant login Then I tried to manually log into the management console using the tenant admin credentials defined in the automation.xml and it wasn't successful. What am I missing here ? Or else is this way of running tests in tenant mode is not tested and still under development ? Thanks. -- *Isuru Udana* Senior * Software Engineer* WSO2 Inc.; http://wso2.com email: isu...@wso2.com cell: +94 77 3791887 blog: http://mytecheye.blogspot.com/ twitter: http://twitter.com/isudana Regards, Malintha Adikari -- *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 -- *Isuru Udana* Senior * Software Engineer* WSO2 Inc.; http://wso2.com email: isu...@wso2.com cell: +94 77 3791887 blog: http://mytecheye.blogspot.com/ twitter: http://twitter.com/isudana -- *Isuru Udana* Senior * Software Engineer* WSO2 Inc.; http://wso2.com email: isu...@wso2.com cell: +94 77 3791887 blog: http://mytecheye.blogspot.com/ twitter: http://twitter.com/isudana ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev