[JBoss JIRA] (ARQ-964) Verify that all tests in ServerAssertion has been called - prevents false negatives
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQ-964?page=com.atlassian.jira.plugin.sy... ]
Lukáš Fryč updated ARQ-964:
---------------------------
Original Estimate: 4 hours
Remaining Estimate: 4 hours
> Verify that all tests in ServerAssertion has been called - prevents false negatives
> -----------------------------------------------------------------------------------
>
> Key: ARQ-964
> URL: https://issues.jboss.org/browse/ARQ-964
> Project: Arquillian
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Components: Extension - Warp
> Reporter: Lukáš Fryč
> Priority: Minor
> Fix For: warp_1.0.0.Alpha2
>
> Original Estimate: 4 hours
> Remaining Estimate: 4 hours
>
> For {{Alpha1}}, if you don't install _Phaser_, and run the assertion from Phaser, it will pass all tests even though not all tests will be run.
> It would be handy to verify that all tests has passed.
> I suggest to add annotation, which will mark lifecycle event annotations like {{@BeforePhase}} and runtime will need to verify all the assertion methods were ran.
--
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
13 years, 3 months
[JBoss JIRA] (ARQ-1089) Warp should avoid depending on 'provided' container libs on client side
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQ-1089?page=com.atlassian.jira.plugin.s... ]
Lukáš Fryč updated ARQ-1089:
----------------------------
Original Estimate: 3 hours
Remaining Estimate: 3 hours
> Warp should avoid depending on 'provided' container libs on client side
> -----------------------------------------------------------------------
>
> Key: ARQ-1089
> URL: https://issues.jboss.org/browse/ARQ-1089
> Project: Arquillian
> Issue Type: Enhancement
> Security Level: Public(Everyone can see)
> Components: Extension - Warp
> Affects Versions: warp_1.0.0.Alpha1
> Reporter: Aslak Knutsen
> Priority: Minor
> Fix For: warp_1.0.0.Alpha2
>
> Original Estimate: 3 hours
> Remaining Estimate: 3 hours
>
> Warp require Servlet api jars on client side to package it self.
> The AuxiliaryArchiveAppender should be able to package it self without requiring 'provided' libs.
> {code}
> java.lang.NoClassDefFoundError: javax/servlet/Filter
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
> at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
> at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
> at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
> at org.jboss.arquillian.warp.DeploymentEnricher.createAuxiliaryArchive(DeploymentEnricher.java:86)
> {code}
--
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
13 years, 3 months
[JBoss JIRA] (ARQGRA-225) ClassCastException for multiple abstract classes
by Juraj Húska (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-225?page=com.atlassian.jira.plugin... ]
Juraj Húska commented on ARQGRA-225:
------------------------------------
The actual solution however does not work correctly with the use case when all actual implementations are declared in one class. That is why IMHO we should support in this release at least the basic use case (it needs some small improvements, I can create another issue for it) and to solve the whole issue correctly in future releases:
{code}
AbstractTest<T> {
@Page
T page;
}
{code}
{code}
SpecificTest extends AbstractTest<Implementation>
{code}
WDYT Lukas ?
In other words, the actual type parameters are declared in the same hierarchy level.
> ClassCastException for multiple abstract classes
> ------------------------------------------------
>
> Key: ARQGRA-225
> URL: https://issues.jboss.org/browse/ARQGRA-225
> Project: Arquillian Graphene
> Issue Type: Bug
> Affects Versions: 2.0.0.Alpha2
> Reporter: Pavol Pitonak
> Assignee: Juraj Húska
>
> Consider this test classes structure:
> {code:java}
> public class TestHCommandButton extends AbstractAjaxTest
> public abstract class AbstractAjaxTest extends AbstractWebDriverTest<AjaxPage>
> public abstract class AbstractWebDriverTest<P extends MetamerPage> extends AbstractMetamerTest
> public class AjaxPage extends MetamerPage
> {code}
> AbstractWebDriverTest contains a property page of type defined in AbstractAjaxTest
> {code:java}
> @Page
> protected P page;
> {code}
> When the tests are launched, a ClassCastException is thrown:
> {quote}
> org.jboss.arquillian.graphene.enricher.exception.PageObjectInitializationException:
> at org.jboss.arquillian.graphene.enricher.PageObjectEnricher.enrich(PageObjectEnricher.java:81)
> at org.jboss.arquillian.graphene.enricher.GrapheneEnricher.enrich(GrapheneEnricher.java:49)
> at org.jboss.arquillian.test.impl.TestInstanceEnricher.enrich(TestInstanceEnricher.java:52)
> at org.jboss.arquillian.container.test.impl.ClientTestInstanceEnricher.enrich(ClientTestInstanceEnricher.java:51)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
> at org.jboss.arquillian.container.test.impl.client.ContainerEventController.createContext(ContainerEventController.java:142)
> at org.jboss.arquillian.container.test.impl.client.ContainerEventController.createBeforeContext(ContainerEventController.java:124)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createTestContext(TestContextHandler.java:89)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:75)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
> at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.before(EventTestRunnerAdaptor.java:95)
> at org.jboss.arquillian.testng.Arquillian.arquillianBeforeTest(Arquillian.java:130)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> 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.invokeMethod(Invoker.java:613)
> at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:842)
> at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1166)
> at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
> at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
> 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:77)
> at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:110)
> at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:106)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> 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)
> Caused by: java.lang.ClassCastException: java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType
> at org.jboss.arquillian.graphene.enricher.AbstractSearchContextEnricher.getSuperClassActualTypeArguments(AbstractSearchContextEnricher.java:220)
> at org.jboss.arquillian.graphene.enricher.AbstractSearchContextEnricher.getActualType(AbstractSearchContextEnricher.java:90)
> at org.jboss.arquillian.graphene.enricher.PageObjectEnricher.enrich(PageObjectEnricher.java:56)
> ... 79 more
> Caused by: java.lang.ClassCastException: java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType
> at org.jboss.arquillian.graphene.enricher.AbstractSearchContextEnricher.getSuperClassActualTypeArguments(AbstractSearchContextEnricher.java:220)
> at org.jboss.arquillian.graphene.enricher.AbstractSearchContextEnricher.getActualType(AbstractSearchContextEnricher.java:90)
> at org.jboss.arquillian.graphene.enricher.PageObjectEnricher.enrich(PageObjectEnricher.java:56)
> ... 79 more
> {quote}
--
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
13 years, 3 months
[JBoss JIRA] (ARQ-1233) Warp: rename API according to results of survey
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQ-1233?page=com.atlassian.jira.plugin.s... ]
Lukáš Fryč updated ARQ-1233:
----------------------------
Original Estimate: 1 hour
Remaining Estimate: 1 hour
> Warp: rename API according to results of survey
> -----------------------------------------------
>
> Key: ARQ-1233
> URL: https://issues.jboss.org/browse/ARQ-1233
> Project: Arquillian
> Issue Type: Task
> Security Level: Public(Everyone can see)
> Components: Extension - Warp
> Reporter: Lukáš Fryč
> Priority: Blocker
> Fix For: warp_1.0.0.Alpha2
>
> Attachments: warp-api-method-naming-survey-responses.pdf
>
> Original Estimate: 1 hour
> Remaining Estimate: 1 hour
>
> There were discussion about Warp API method naming:
> As a result, interesting options were selected and survey for choosing most natural and popular ones was opened:
> https://docs.google.com/spreadsheet/viewform?formkey=dFlZeGI3ZklOUVlDX2M2...
> As a response, we got 8 answers with following results:
> {code}
> most favorite:
> option #1: Warp .initiate(Activity) .observe(What) .inspect(Inspection);
> followed by:
> option #5: Warp .execute(ClientAction) .filter(Filter) .inspect(ServerInspection);
> {code}
> The complete overview of responses is attached in PDF.
--
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
13 years, 3 months
[JBoss JIRA] (ARQ-992) Warp does not support request redirection.
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQ-992?page=com.atlassian.jira.plugin.sy... ]
Lukáš Fryč updated ARQ-992:
---------------------------
Original Estimate: 1 day
Remaining Estimate: 1 day
> Warp does not support request redirection.
> ------------------------------------------
>
> Key: ARQ-992
> URL: https://issues.jboss.org/browse/ARQ-992
> Project: Arquillian
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Extension - Warp
> Affects Versions: warp_1.0.0.Alpha1
> Environment: JBoss AS 7.1.1
> Reporter: Jakub Narloch
> Assignee: Lukáš Fryč
> Priority: Critical
> Labels: warp
> Fix For: warp_1.0.0.Alpha2
>
> Original Estimate: 1 day
> Remaining Estimate: 1 day
>
> When I was running tests of Spring controllers I found out that whenever a controller is redirecting the response for example by returning a String as view name: {code}return "redirect:welcome.do"{code} the execution of the test hangs till end of timeout.
> I've debuged the WarpFilter and it seems that the Warp header is not beeing added into the 302 HTTP response. On the client side this result with ResponseDeenrichmentFilter can not find any ResponsePayload in response.
> Taking into consideration fact that the RequestEnrichmentFilter allows to push the assertion only once, so when the second request is being made the assertion is not being send once again I'm unable to test such response.
--
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
13 years, 3 months
[JBoss JIRA] (ARQGRA-225) ClassCastException for multiple abstract classes
by Juraj Húska (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-225?page=com.atlassian.jira.plugin... ]
Juraj Húska commented on ARQGRA-225:
------------------------------------
The first proposed solution does not solve all possible options. This one for example can be a little bit tricky:
{code}
AbstractClass<T,E> {
@Page
T page1;
@Page
E page2;
}
{code}
{code}
MoreAbstractClass<E> extends AbstractClass<Implementation1, E>
{code}
{code}
EvenMoreAbstractClass extends MoreAbstractClass<Implementation2>
{code}
{code}
ConcreteTest extends EvenMoreAbstractClass
{code}
I need to rework the recursive searching for actual type parameters.
> ClassCastException for multiple abstract classes
> ------------------------------------------------
>
> Key: ARQGRA-225
> URL: https://issues.jboss.org/browse/ARQGRA-225
> Project: Arquillian Graphene
> Issue Type: Bug
> Affects Versions: 2.0.0.Alpha2
> Reporter: Pavol Pitonak
> Assignee: Juraj Húska
>
> Consider this test classes structure:
> {code:java}
> public class TestHCommandButton extends AbstractAjaxTest
> public abstract class AbstractAjaxTest extends AbstractWebDriverTest<AjaxPage>
> public abstract class AbstractWebDriverTest<P extends MetamerPage> extends AbstractMetamerTest
> public class AjaxPage extends MetamerPage
> {code}
> AbstractWebDriverTest contains a property page of type defined in AbstractAjaxTest
> {code:java}
> @Page
> protected P page;
> {code}
> When the tests are launched, a ClassCastException is thrown:
> {quote}
> org.jboss.arquillian.graphene.enricher.exception.PageObjectInitializationException:
> at org.jboss.arquillian.graphene.enricher.PageObjectEnricher.enrich(PageObjectEnricher.java:81)
> at org.jboss.arquillian.graphene.enricher.GrapheneEnricher.enrich(GrapheneEnricher.java:49)
> at org.jboss.arquillian.test.impl.TestInstanceEnricher.enrich(TestInstanceEnricher.java:52)
> at org.jboss.arquillian.container.test.impl.ClientTestInstanceEnricher.enrich(ClientTestInstanceEnricher.java:51)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
> at org.jboss.arquillian.container.test.impl.client.ContainerEventController.createContext(ContainerEventController.java:142)
> at org.jboss.arquillian.container.test.impl.client.ContainerEventController.createBeforeContext(ContainerEventController.java:124)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createTestContext(TestContextHandler.java:89)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:75)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
> at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.before(EventTestRunnerAdaptor.java:95)
> at org.jboss.arquillian.testng.Arquillian.arquillianBeforeTest(Arquillian.java:130)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> 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.invokeMethod(Invoker.java:613)
> at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:842)
> at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1166)
> at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
> at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
> 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:77)
> at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:110)
> at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:106)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> 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)
> Caused by: java.lang.ClassCastException: java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType
> at org.jboss.arquillian.graphene.enricher.AbstractSearchContextEnricher.getSuperClassActualTypeArguments(AbstractSearchContextEnricher.java:220)
> at org.jboss.arquillian.graphene.enricher.AbstractSearchContextEnricher.getActualType(AbstractSearchContextEnricher.java:90)
> at org.jboss.arquillian.graphene.enricher.PageObjectEnricher.enrich(PageObjectEnricher.java:56)
> ... 79 more
> Caused by: java.lang.ClassCastException: java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType
> at org.jboss.arquillian.graphene.enricher.AbstractSearchContextEnricher.getSuperClassActualTypeArguments(AbstractSearchContextEnricher.java:220)
> at org.jboss.arquillian.graphene.enricher.AbstractSearchContextEnricher.getActualType(AbstractSearchContextEnricher.java:90)
> at org.jboss.arquillian.graphene.enricher.PageObjectEnricher.enrich(PageObjectEnricher.java:56)
> ... 79 more
> {quote}
--
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
13 years, 3 months
[JBoss JIRA] (ARQGRA-225) ClassCastException for multiple abstract classes
by Juraj Húska (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-225?page=com.atlassian.jira.plugin... ]
Juraj Húska edited comment on ARQGRA-225 at 12/11/12 11:32 AM:
---------------------------------------------------------------
The first proposed solution does not solve all possible options. This one for example can be a little bit tricky (as Honza pointed out):
{code}
AbstractClass<T,E> {
@Page
T page1;
@Page
E page2;
}
{code}
{code}
MoreAbstractClass<E> extends AbstractClass<Implementation1, E>
{code}
{code}
EvenMoreAbstractClass extends MoreAbstractClass<Implementation2>
{code}
{code}
ConcreteTest extends EvenMoreAbstractClass
{code}
I need to rework the recursive searching for actual type parameters.
was (Author: jhuska):
The first proposed solution does not solve all possible options. This one for example can be a little bit tricky:
{code}
AbstractClass<T,E> {
@Page
T page1;
@Page
E page2;
}
{code}
{code}
MoreAbstractClass<E> extends AbstractClass<Implementation1, E>
{code}
{code}
EvenMoreAbstractClass extends MoreAbstractClass<Implementation2>
{code}
{code}
ConcreteTest extends EvenMoreAbstractClass
{code}
I need to rework the recursive searching for actual type parameters.
> ClassCastException for multiple abstract classes
> ------------------------------------------------
>
> Key: ARQGRA-225
> URL: https://issues.jboss.org/browse/ARQGRA-225
> Project: Arquillian Graphene
> Issue Type: Bug
> Affects Versions: 2.0.0.Alpha2
> Reporter: Pavol Pitonak
> Assignee: Juraj Húska
>
> Consider this test classes structure:
> {code:java}
> public class TestHCommandButton extends AbstractAjaxTest
> public abstract class AbstractAjaxTest extends AbstractWebDriverTest<AjaxPage>
> public abstract class AbstractWebDriverTest<P extends MetamerPage> extends AbstractMetamerTest
> public class AjaxPage extends MetamerPage
> {code}
> AbstractWebDriverTest contains a property page of type defined in AbstractAjaxTest
> {code:java}
> @Page
> protected P page;
> {code}
> When the tests are launched, a ClassCastException is thrown:
> {quote}
> org.jboss.arquillian.graphene.enricher.exception.PageObjectInitializationException:
> at org.jboss.arquillian.graphene.enricher.PageObjectEnricher.enrich(PageObjectEnricher.java:81)
> at org.jboss.arquillian.graphene.enricher.GrapheneEnricher.enrich(GrapheneEnricher.java:49)
> at org.jboss.arquillian.test.impl.TestInstanceEnricher.enrich(TestInstanceEnricher.java:52)
> at org.jboss.arquillian.container.test.impl.ClientTestInstanceEnricher.enrich(ClientTestInstanceEnricher.java:51)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
> at org.jboss.arquillian.container.test.impl.client.ContainerEventController.createContext(ContainerEventController.java:142)
> at org.jboss.arquillian.container.test.impl.client.ContainerEventController.createBeforeContext(ContainerEventController.java:124)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createTestContext(TestContextHandler.java:89)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:75)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
> at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.before(EventTestRunnerAdaptor.java:95)
> at org.jboss.arquillian.testng.Arquillian.arquillianBeforeTest(Arquillian.java:130)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> 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.invokeMethod(Invoker.java:613)
> at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:842)
> at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1166)
> at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
> at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
> 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:77)
> at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:110)
> at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:106)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> 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)
> Caused by: java.lang.ClassCastException: java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType
> at org.jboss.arquillian.graphene.enricher.AbstractSearchContextEnricher.getSuperClassActualTypeArguments(AbstractSearchContextEnricher.java:220)
> at org.jboss.arquillian.graphene.enricher.AbstractSearchContextEnricher.getActualType(AbstractSearchContextEnricher.java:90)
> at org.jboss.arquillian.graphene.enricher.PageObjectEnricher.enrich(PageObjectEnricher.java:56)
> ... 79 more
> Caused by: java.lang.ClassCastException: java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType
> at org.jboss.arquillian.graphene.enricher.AbstractSearchContextEnricher.getSuperClassActualTypeArguments(AbstractSearchContextEnricher.java:220)
> at org.jboss.arquillian.graphene.enricher.AbstractSearchContextEnricher.getActualType(AbstractSearchContextEnricher.java:90)
> at org.jboss.arquillian.graphene.enricher.PageObjectEnricher.enrich(PageObjectEnricher.java:56)
> ... 79 more
> {quote}
--
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
13 years, 3 months