You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wookie.apache.org by Scott Wilson <sc...@gmail.com> on 2011/01/12 10:12:23 UTC

Re: Release

On 17 Dec 2010, at 16:08, Ross Gardler wrote:

> On 17/12/2010 15:48, Scott Wilson wrote:
>> On 17 Dec 2010, at 15:17, Kris Popat wrote:
>> 
>>> On 17 Dec 2010, at 14:50, Ross Gardler wrote:
>>> 
>>>> On 17/12/2010 14:32, Kris Popat wrote:
>>>> 
>>>> Lets go with Scotts suggestion to distribute a WAR alongside a
>>>> binary. The standalone version is only to make it easy for
>>>> developers so there is no need to worry about a binary of that.
>>>> 
>>> 
>>> Okay I'll create and test a war with Tomcat, what other application
>>> servers should we test against?
>> 
>> I think just testing against a couple of versions of Tomcat (6, 7)
>> should be enough for now, we can always put a note with the WAR to
>> that effect.
> 
> The testing is done by the community. Create a release candidate and make it available. Ask our community to test in any environment they have available to them and submit the results to an issue.
> 
> We should really have a set of test scripts (as in human readable things) that test at least the critical paths in the system. Here's a starter:


I've put the script up on the Wiki and made a few edits:

https://cwiki.apache.org/confluence/display/WOOKIE/Testing+a+Release

(Note that testing service types is still TODO)

> 
> Testing
> =======
> 
> Ideally the client will access from a different network machine to the server.
> 
> - deploy the war and check index page responds
> 
> Widget Gallery
> ==============
> 
> - open a new browser window on the server home page
> 
> - click view widget gallery
> 
> - pick a random widget and click "Demo"
> 
> - ensure the widget behaves as expected
> 
> - refresh the page
> 
> - ensure the widget behaves as expected
> 
> - repeat above for at least one other widget (more is better)
> 
> Administration
> ==============
> 
> Widget Deployment
> -----------------
> 
> - open a new browser window on the server home page
> 
> - click "Administration menu"
> 
> - enter username and password (default is java, java)
> 
> - click "View existing widgets"
> 
> - expand random widgets and ensure page behaves as expected
> 
> - click back button
> 
> - click "add new widget"
> 
> - upload the test widget (we should provide a simple test widget in SVN that is packaged but not bundled with the release - need only be a hello world at this stage)
> 
> - repeat the "Widget Gallery" tests above with the test widget
> 
> Gadget Deployment
> -----------------
> 
> - Repeat the Widget Deployment above but with a Gadget rather than a Widget
> 
> Remove Widget
> -------------
> 
> - Click "Remove widget"
> 
> - find the test widget and delete it
> 
> - check widget is not available in widget gallery
> 
> Service Types
> -------------
> 
> How do we test this?
> 
> White List
> ----------
> 
> - Click White List
> 
> Access request policies
> -----------------------
> 
> - Click "Manage widget access request policies"
> 
> - revoke policies for weather widget
> 
> - Check Weather widget does not work via the gallery (note it silently fails at present)
> 
> - add http://feeds.bbc.co.uk to the whitelist
> 
> - Check weather widget works via widget gallery
> 
> Instantiation
> =============
> 
> - go back to the index page (Other - back to main menu)
> 
> - click "instantiate a widget"
> 
> - select a random widget in "Service Type"
> 
> - click submit
> 
> - copy URL from returned XML document
> 
> - enter URL into browser
> 
> - check widget works OK
> 
> Reporting
> =========
> 
> Thanks for testing. Please be sure to report your successes and failures in the issue XXXXXXXX. Please include:
> 
> Server OS:
> Client OS:
> Server and Client separate machines?:
> Servlet Engine:
> Java version:
> Browser:
> Browser version:
> 
> Ross


Re: Release

Posted by Kris Popat <kj...@gmail.com>.
On 14 Jan 2011, at 11:09, Scott Wilson wrote:

> On 12 Jan 2011, at 10:31, Kris Popat wrote:
> 
>> Hi All
>> 
>> On 12 Jan 2011, at 09:12, Scott Wilson wrote:
>>> 
>>> On 17 Dec 2010, at 16:08, Ross Gardler wrote:
>>> 
>>>> On 17/12/2010 15:48, Scott Wilson wrote:
>>>>> On 17 Dec 2010, at 15:17, Kris Popat wrote:
>>>>> 
>>>>>> On 17 Dec 2010, at 14:50, Ross Gardler wrote:
>>>>>> 
>>>>>>> On 17/12/2010 14:32, Kris Popat wrote:
>>>>>>> 
>>>>>>> Lets go with Scotts suggestion to distribute a WAR alongside a
>>>>>>> binary. The standalone version is only to make it easy for
>>>>>>> developers so there is no need to worry about a binary of that.
>>>>>>> 
>>>>>> 
>>>>>> Okay I'll create and test a war with Tomcat, what other application
>>>>>> servers should we test against?
>>>>> 
>>>>> I think just testing against a couple of versions of Tomcat (6, 7)
>>>>> should be enough for now, we can always put a note with the WAR to
>>>>> that effect.
>> 
>> I have come up against a persistence issue with the WAR file.  This can be made to work under tomcat using mysql.  As I understand it having a dependency on mysql is a licensing problem. I'm just working out how that dependency can be unpicked.  However if anyone knows how this can be done (or if there is a simple way to build the WAR file so it will work with derby out of the box) just to save me going round the houses that would be great.
> 
> That is so annoying. I guess we haven't really tested it much using Tomcat+Derby. 
> 

There is a persistence error trying to save the test api key. 

This is the error log

SEVERE: Exception sending context initialized event to listener instance of class org.apache.wookie.server.ContextListener
java.lang.RuntimeException: Initialization exception: org.apache.wookie.beans.util.PersistenceCommitException: Transaction commit exception: <openjpa-2.0.0-r422266:935683 fatal store error> org.apache.openjpa.persistence.RollbackException: Errors encountered while resolving metadata.  See nested exceptions for details.
	at org.apache.wookie.beans.util.PersistenceManagerFactory.initialize(PersistenceManagerFactory.java:241)
	at org.apache.wookie.server.ContextListener.contextInitialized(ContextListener.java:106)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4135)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)
	at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1276)
	at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:624)
	at org.apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.java:136)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Thread.java:680)
Caused by: org.apache.wookie.beans.util.PersistenceCommitException: Transaction commit exception: <openjpa-2.0.0-r422266:935683 fatal store error> org.apache.openjpa.persistence.RollbackException: Errors encountered while resolving metadata.  See nested exceptions for details.
	at org.apache.wookie.beans.jpa.JPAPersistenceManager.commit(JPAPersistenceManager.java:370)
	at org.apache.wookie.beans.util.PersistenceManagerFactory.initialize(PersistenceManagerFactory.java:237)
	... 21 more
Caused by: <openjpa-2.0.0-r422266:935683 fatal store error> org.apache.openjpa.persistence.RollbackException: Errors encountered while resolving metadata.  See nested exceptions for details.
	at org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:583)
	at org.apache.wookie.beans.jpa.JPAPersistenceManager.commit(JPAPersistenceManager.java:366)
	... 22 more
Caused by: <openjpa-2.0.0-r422266:935683 fatal user error> org.apache.openjpa.persistence.ArgumentException: Errors encountered while resolving metadata.  See nested exceptions for details.
	at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:642)
	at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:385)
	at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:358)
	at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2568)
	at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2423)
	at org.apache.openjpa.kernel.DelegatingBroker.persist(DelegatingBroker.java:1069)
	at org.apache.openjpa.persistence.EntityManagerImpl.persist(EntityManagerImpl.java:705)
	at org.apache.wookie.beans.jpa.JPAPersistenceManager.save(JPAPersistenceManager.java:1057)
	at org.apache.wookie.beans.util.PersistenceManagerFactory.initialize(PersistenceManagerFactory.java:227)
	... 21 more
Caused by: <openjpa-2.0.0-r422266:935683 fatal user error> org.apache.openjpa.persistence.ArgumentException: Table "ApiKey" given for "org.apache.wookie.beans.jpa.impl.ApiKeyImpl" does not exist.
	at org.apache.openjpa.jdbc.meta.MappingInfo.createTable(MappingInfo.java:532)
	at org.apache.openjpa.jdbc.meta.ClassMappingInfo.getTable(ClassMappingInfo.java:309)
	at org.apache.openjpa.jdbc.meta.ClassMappingInfo.getTable(ClassMappingInfo.java:331)
	at org.apache.openjpa.jdbc.meta.strats.FullClassStrategy.map(FullClassStrategy.java:73)
	at org.apache.openjpa.jdbc.meta.ClassMapping.setStrategy(ClassMapping.java:391)
	at org.apache.openjpa.jdbc.meta.RuntimeStrategyInstaller.installStrategy(RuntimeStrategyInstaller.java:56)
	at org.apache.openjpa.jdbc.meta.MappingRepository.prepareMapping(MappingRepository.java:411)
	at org.apache.openjpa.meta.MetaDataRepository.preMapping(MetaDataRepository.java:736)
	at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:625)
	... 29 more


Re: Release

Posted by Scott Wilson <sc...@gmail.com>.
On 12 Jan 2011, at 10:31, Kris Popat wrote:

> Hi All
> 
> On 12 Jan 2011, at 09:12, Scott Wilson wrote:
>> 
>> On 17 Dec 2010, at 16:08, Ross Gardler wrote:
>> 
>>> On 17/12/2010 15:48, Scott Wilson wrote:
>>>> On 17 Dec 2010, at 15:17, Kris Popat wrote:
>>>> 
>>>>> On 17 Dec 2010, at 14:50, Ross Gardler wrote:
>>>>> 
>>>>>> On 17/12/2010 14:32, Kris Popat wrote:
>>>>>> 
>>>>>> Lets go with Scotts suggestion to distribute a WAR alongside a
>>>>>> binary. The standalone version is only to make it easy for
>>>>>> developers so there is no need to worry about a binary of that.
>>>>>> 
>>>>> 
>>>>> Okay I'll create and test a war with Tomcat, what other application
>>>>> servers should we test against?
>>>> 
>>>> I think just testing against a couple of versions of Tomcat (6, 7)
>>>> should be enough for now, we can always put a note with the WAR to
>>>> that effect.
> 
> I have come up against a persistence issue with the WAR file.  This can be made to work under tomcat using mysql.  As I understand it having a dependency on mysql is a licensing problem. I'm just working out how that dependency can be unpicked.  However if anyone knows how this can be done (or if there is a simple way to build the WAR file so it will work with derby out of the box) just to save me going round the houses that would be great.

That is so annoying. I guess we haven't really tested it much using Tomcat+Derby. 


Re: Release

Posted by Kris Popat <kj...@gmail.com>.
Hi All

On 12 Jan 2011, at 09:12, Scott Wilson wrote:

> 
> On 17 Dec 2010, at 16:08, Ross Gardler wrote:
> 
>> On 17/12/2010 15:48, Scott Wilson wrote:
>>> On 17 Dec 2010, at 15:17, Kris Popat wrote:
>>> 
>>>> On 17 Dec 2010, at 14:50, Ross Gardler wrote:
>>>> 
>>>>> On 17/12/2010 14:32, Kris Popat wrote:
>>>>> 
>>>>> Lets go with Scotts suggestion to distribute a WAR alongside a
>>>>> binary. The standalone version is only to make it easy for
>>>>> developers so there is no need to worry about a binary of that.
>>>>> 
>>>> 
>>>> Okay I'll create and test a war with Tomcat, what other application
>>>> servers should we test against?
>>> 
>>> I think just testing against a couple of versions of Tomcat (6, 7)
>>> should be enough for now, we can always put a note with the WAR to
>>> that effect.

I have come up against a persistence issue with the WAR file.  This can be made to work under tomcat using mysql.  As I understand it having a dependency on mysql is a licensing problem. I'm just working out how that dependency can be unpicked.  However if anyone knows how this can be done (or if there is a simple way to build the WAR file so it will work with derby out of the box) just to save me going round the houses that would be great.



>> 
>> The testing is done by the community. Create a release candidate and make it available. Ask our community to test in any environment they have available to them and submit the results to an issue.
>> 
>> We should really have a set of test scripts (as in human readable things) that test at least the critical paths in the system. Here's a starter:
> 
> 
> I've put the script up on the Wiki and made a few edits:
> 
> https://cwiki.apache.org/confluence/display/WOOKIE/Testing+a+Release
> 
> (Note that testing service types is still TODO)
> 
>> 
>> Testing
>> =======
>> 
>> Ideally the client will access from a different network machine to the server.
>> 
>> - deploy the war and check index page responds
>> 
>> Widget Gallery
>> ==============
>> 
>> - open a new browser window on the server home page
>> 
>> - click view widget gallery
>> 
>> - pick a random widget and click "Demo"
>> 
>> - ensure the widget behaves as expected
>> 
>> - refresh the page
>> 
>> - ensure the widget behaves as expected
>> 
>> - repeat above for at least one other widget (more is better)
>> 
>> Administration
>> ==============
>> 
>> Widget Deployment
>> -----------------
>> 
>> - open a new browser window on the server home page
>> 
>> - click "Administration menu"
>> 
>> - enter username and password (default is java, java)
>> 
>> - click "View existing widgets"
>> 
>> - expand random widgets and ensure page behaves as expected
>> 
>> - click back button
>> 
>> - click "add new widget"
>> 
>> - upload the test widget (we should provide a simple test widget in SVN that is packaged but not bundled with the release - need only be a hello world at this stage)
>> 
>> - repeat the "Widget Gallery" tests above with the test widget
>> 
>> Gadget Deployment
>> -----------------
>> 
>> - Repeat the Widget Deployment above but with a Gadget rather than a Widget
>> 
>> Remove Widget
>> -------------
>> 
>> - Click "Remove widget"
>> 
>> - find the test widget and delete it
>> 
>> - check widget is not available in widget gallery
>> 
>> Service Types
>> -------------
>> 
>> How do we test this?
>> 
>> White List
>> ----------
>> 
>> - Click White List
>> 
>> Access request policies
>> -----------------------
>> 
>> - Click "Manage widget access request policies"
>> 
>> - revoke policies for weather widget
>> 
>> - Check Weather widget does not work via the gallery (note it silently fails at present)
>> 
>> - add http://feeds.bbc.co.uk to the whitelist
>> 
>> - Check weather widget works via widget gallery
>> 
>> Instantiation
>> =============
>> 
>> - go back to the index page (Other - back to main menu)
>> 
>> - click "instantiate a widget"
>> 
>> - select a random widget in "Service Type"
>> 
>> - click submit
>> 
>> - copy URL from returned XML document
>> 
>> - enter URL into browser
>> 
>> - check widget works OK
>> 
>> Reporting
>> =========
>> 
>> Thanks for testing. Please be sure to report your successes and failures in the issue XXXXXXXX. Please include:
>> 
>> Server OS:
>> Client OS:
>> Server and Client separate machines?:
>> Servlet Engine:
>> Java version:
>> Browser:
>> Browser version:
>> 
>> Ross
>