[arquillian-issues] [JBoss JIRA] (ARQ-1509) Arquillian Droidium Multiple Container does not work correctly when used standalone

Stefan Miklosovic (JIRA) jira-events at lists.jboss.org
Wed Nov 20 09:03:05 EST 2013


    [ https://issues.jboss.org/browse/ARQ-1509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12925333#comment-12925333 ] 

Stefan Miklosovic commented on ARQ-1509:
----------------------------------------

[~kpiwko]

The solution to this one is to modify default [ContainerRegistryCreator|https://github.com/arquillian/arquillian-core/blob/master/container/impl-base/src/main/java/org/jboss/arquillian/container/impl/client/container/ContainerRegistryCreator.java#L62] which is already done for multicontainers purposes in [MultipleContainerRegistryCreator|https://github.com/arquillian/arquillian-droidium/blob/master/droidium-container/arquillian-droidium-multiple-containers/src/main/java/org/arquillian/droidium/multiplecontainers/MultipleContainerRegistryCreator.java] however when we want to control which containers get registered and which not from underlying ArquillianDescriptor, there is a need to be able to recognize if some container def is backed by actual container adapter class.

Lets say you have a group of Droidium and JBoss but you do not have Droidium container on classpath. To prevent your behaviour, I need to recognize that some container def relates to Android container in order to not add it to registry. And here, we can just guess ... It is _simple_ to use it for Android purpose, i just filter if container qualifier is something like "android" and when not, i can check the presence of other Android related properties and act accordingly, but in general I humbly guess it is quite unsolvable.
                
> Arquillian Droidium Multiple Container does not work correctly when used standalone
> -----------------------------------------------------------------------------------
>
>                 Key: ARQ-1509
>                 URL: https://issues.jboss.org/browse/ARQ-1509
>             Project: Arquillian
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Extension - Droidium
>    Affects Versions: droidium_1.0.0.Alpha1
>            Reporter: Karel Piwko
>            Priority: Critical
>
> Supposing you want to use web based testing with Droidium.
> In such case, you have a pretty specific configuration in arquillian.xml, as you need to enable multiple containers.
> However, if you don't want to run Android - you are for instance testing with Firefox, so no Android container is needed, then you need to create a separate <group> in order to do that.
> Otherwise, MultipleContainer Extension will let Arquillian create container def for each <container> in the group, leading to attempt to create JBoss AS - or whatever is you web container - using Android container configuration.
> This will obvisously fail, for instance with 
> {code}
> org.jboss.arquillian.container.spi.ConfigurationException: jbossHome 'null' must exist
>         at org.jboss.arquillian.container.spi.client.deployment.Validate.configurationDirectoryExists(Validate.java:139)
> {code}
> So, if you put only multicontainer extension jar into <dependencies>, behavior is broken. If you don't put anything there, you already have tailed arq.xml to be used with multiple container. If you indeed put Android container there, it is started even if it would actually never be used due to fact you asked for Firefox Browser.
> This represents a serious usability issues, hence marked as Critical.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the arquillian-issues mailing list