]
Lucia Jelinkova closed JBIDE-20673.
-----------------------------------
Closing duplicated issue.
Arquillian deployment validation does not consider nested classes
-----------------------------------------------------------------
Key: JBIDE-20673
URL:
https://issues.jboss.org/browse/JBIDE-20673
Project: Tools (JBoss Tools)
Issue Type: Bug
Components: arquillian
Affects Versions: 4.3.0.Beta2
Reporter: Rich DiCroce
Assignee: Snjezana Peco
Fix For: 4.3.0.CR1
The Arquillian plugin validates deployments to ensure they contain all of the classes
that are referenced by the test. But the validation logic does not consider nested
classes.
I'm currently working on a patch for the Apache DeltaSpike project and decided to add
a few tests. One test references a class object:
{code:java}
@Test
public void testNoSecuredAnnotation()
{
testViewAccessHandlerMethods(Pages.NoSecurity.class, true, 0, 0);
}
{code}
The Arquillian plugin incorrectly flags the class name with this warning:
{noformat}
Arquillian: The org.apache.deltaspike.test.jsf.impl.config.view.security.Pages.NoSecurity
type is not included in any deployment.
{noformat}
Changing the class to Pages.class removes the warning, so the plugin does know about that
class, but is not noticing its nested classes. For reference, this is what Pages looks
like:
{code:java}
interface Pages extends ViewConfig
{
class NoSecurity implements ViewConfig
{
}
@Secured(AlwaysSucceedsVoter.class)
class AlwaysSucceeds implements ViewConfig
{
}
@Secured(AlwaysDeniedVoter.class)
class AlwaysDenied implements ViewConfig
{
}
@Secured(AlwaysDeniedVoter.class)
interface DeniedFolder
{
class InheritsDeniedFromFolder implements ViewConfig
{
}
@Secured(AlwaysSucceedsVoter.class)
class CompositionWithFolder implements ViewConfig
{
}
}
@Secured(AlwaysDeniedVoter.class)
interface SuperConfig extends ViewConfig
{
}
class InheritsDeniedFromSuper implements SuperConfig
{
}
@Secured(AlwaysSucceedsVoter.class)
class CompositionWithSuper implements SuperConfig
{
}
}
{code}