There should only be one hibernate.cfg.xml in your project. Delete the
one in src/test/resources.

Matt

On Thu, Jun 25, 2009 at 2:38 AM, Ger-Jan te Dorsthorst<ger...@dds.nl> wrote:
> Found the problem: there was no element <mapping
> class=nl.rivm.cda.model.Download"/> in src/test/resources/hibernate.cfg.xml.
> So it's clear why in the test the downloadManager failed to come up with a
> list of Downloads (although the root cause was hidden)
>
> In src/main/resources/hibernate.cfg.xml, the element was there all the time.
> Shouldn't appfuse:gen have added it in both files?
>
> Ger-Jan
>
> Ger-Jan te Dorsthorst wrote:
>>
>> Oops; just noticed that I deleted too many lines from the code I sent
>> earlier. It's missing the debug lines I referred to. Here is what I meant to
>> send:
>>
>> package nl.rivm.cda.webapp.controller;
>>
>> import nl.rivm.cda.model.Download;
>> import nl.rivm.cda.webapp.controller.BaseControllerTestCase;
>> import org.springframework.ui.ModelMap;
>> import org.springframework.web.servlet.ModelAndView;
>> import java.util.List;
>>
>> public class DownloadControllerTest extends BaseControllerTestCase {
>>
>>    private DownloadController controller;
>>
>>    public void setDownloadController(DownloadController controller) {
>>        this.controller = controller;
>>    }
>>
>>    public void testHandleRequest() throws Exception {
>>        log.debug("controller =
>> "+controller.getClass().getCanonicalName());
>>        ModelAndView mav = controller.handleRequest(null, null);
>>        ModelMap m = mav.getModelMap();
>>        List<Download> downloads = (List<Download>) m.get("downloadList");
>>        log.debug("string repres of download list (+ size) in model map =
>> "+downloads.toString()+" ("+downloads.size()+")");
>>        assertNotNull(m.get("downloadList"));
>>        assertTrue(((List) m.get("downloadList")).size() > 0);
>>    }
>>
>> }
>>
>> Ger-Jan te Dorsthorst wrote:
>>>
>>> Hello Matt, list,
>>>
>>> Matt Raible wrote:
>>>
>>>> Can you post the code for your DownloadControllerTest?
>>>
>>> Here's the code. It is what is generated by the AF maven plugin plus a
>>> couple of added debug lines, to verify that the controller is wired
>>> correctly and that the downloadList retrieved from the modelMap is in fact
>>> empty.
>>>
>>> package nl.rivm.cda.webapp.controller;
>>>
>>> import nl.rivm.cda.webapp.controller.BaseControllerTestCase;
>>> import org.springframework.ui.ModelMap;
>>> import org.springframework.web.servlet.ModelAndView;
>>> import java.util.List;
>>>
>>> public class DownloadControllerTest extends BaseControllerTestCase {
>>>
>>>    private DownloadController controller;
>>>
>>>    public void setDownloadController(DownloadController controller) {
>>>        this.controller = controller;
>>>    }
>>>
>>>    public void testHandleRequest() throws Exception {
>>>        ModelAndView mav = controller.handleRequest(null, null);
>>>        ModelMap m = mav.getModelMap();
>>>        assertNotNull(m.get("downloadList"));
>>>        assertTrue(((List) m.get("downloadList")).size() > 0);
>>>    }
>>>
>>> }
>>>
>>> Running this with the following command:
>>>
>>> ger...@stammetje:~/workspace/cda$ mvn clean test -Ppostgresql
>>> -Dtest=DownloadControllerTest -Dsurefire.useFile=false
>>>
>>> Gives:
>>>
>>> Running nl.rivm.cda.webapp.controller.DownloadControllerTest
>>> INFO - BaseControllerTestCase.loadContextLocations(57) | Loading
>>> additional configuration from:
>>> classpath:/applicationContext-resources.xml,classpath:/applicationContext-dao.xml,classpath:/applicationContext-service.xml,classpath*:/applicationContext.xml,/WEB-INF/applicationContext*.xml,/WEB-INF/dispatcher-servlet.xml
>>> DEBUG - AbstractTransactionalSpringContextTests.startNewTransaction(392)
>>> | Began transaction (1): transaction manager
>>> [org.springframework.orm.hibernate3.hibernatetransactionmana...@1ac13d7];
>>> rollback [true].
>>> DEBUG - DownloadControllerTest.testHandleRequest(18) | controller =
>>> nl.rivm.cda.webapp.controller.DownloadController
>>> DEBUG - DownloadControllerTest.testHandleRequest(22) | string repres of
>>> download list (+ size) in model map = [] (0)
>>> DEBUG - AbstractTransactionalSpringContextTests.endTransaction(360) |
>>> Rolled back transaction after execution of test [testHandleRequest].
>>> Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 2.326 sec
>>> <<< FAILURE!
>>> testHandleRequest(nl.rivm.cda.webapp.controller.DownloadControllerTest)
>>>  Time elapsed: 2.306 sec  <<< FAILURE!
>>> junit.framework.AssertionFailedError: null
>>>    at junit.framework.Assert.fail(Assert.java:47)
>>>    at junit.framework.Assert.assertTrue(Assert.java:20)
>>>    at junit.framework.Assert.assertTrue(Assert.java:27)
>>>    at
>>> nl.rivm.cda.webapp.controller.DownloadControllerTest.testHandleRequest(DownloadControllerTest.java:24)
>>> [...]
>>>
>>>  > Are you certain
>>>>
>>>> there's data for your "downloads" table in sample-data.xml?
>>>
>>> There is, and dbunit inserts it properly. If I subsequently run mvn
>>> jetty:run-war -Ppostgresql -Dmaven.test.skip=true, everything works as
>>> expected (= the downloadList inserted by the DownloadController in the
>>> ModelAndView's modelMap contains the three Downloads corresponding with the
>>> elements in sample-data.xml)
>>>
>>>>
>>>> On Wed, Jun 24, 2009 at 5:18 AM, <ger...@dds.nl> wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> I seem to have a problem retrieving objects from the database, but only
>>>>> when
>>>>> running a test. I added a model class 'Download' and generated CRUD
>>>>> using
>>>>> the appfuse maven plugin. All works fine when I run with
>>>>> maven.test.skip=true, but if I attempt to run with tests, or try to run
>>>>> the
>>>>> offending test in isolation (mvn test -Dtest=DownloadControllerTest),
>>>>> maven
>>>>> bails out with a test failure.
>>>>>
>>>>> The problem seems to be that when testing, the call to getAll() on
>>>>> downloadManager (an instance of GenericManager<Download, Long>) in the
>>>>> controller returns an empty List<Download>.
>>>>>
>>>>> What could be the cause of this happening only when testing?
>>>>>
>>>>> My DownloadController's handleRequest looks like this:
>>>>>
>>>>> ModelAndView mav = new ModelAndView();
>>>>> List<Download> downloads = downloadManager.getAll();
>>>>> log.debug("in downloadcontroller's handleRequest");
>>>>> log.debug("list of downloads retrieved from downloadmgr:
>>>>> "+downloads.toString()+"("+downloads.size()+")");
>>>>> mav.addObject("downloadList", downloads);
>>>>> return mav;
>>>>>
>>>>> When I run mvn jetty:run-war -Dmaven.skip.test=true I get this:
>>>>>
>>>>> [cda]DEBUG [btpool0-1] DownloadController.handleRequest(32) | in
>>>>> downloadcontroller's handleRequest
>>>>> [cda]DEBUG [btpool0-1] DownloadController.handleRequest(33) | list of
>>>>> downloads retrieved from dlmgr:
>>>>>
>>>>> [nl.rivm.cda.model.downl...@89b953...,nl.rivm.cda.model.downl...@abab54...,nl.rivm.cda.model.downl...@7d32cf...](3)
>>>>>
>>>>> Whereas running mvn test -Dtest=DownloadControllerTest gives:
>>>>>
>>>>> DEBUG - DownloadController.handleRequest(32) | in downloadcontroller's
>>>>> handleRequest
>>>>> DEBUG - DownloadController.handleRequest(33) | list of downloads
>>>>> retrieved
>>>>> from dlmgr: [](0)
>>>>>
>>>>> Tia,
>>>>>
>>>>> Ger-Jan
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscr...@appfuse.dev.java.net
>>>>> For additional commands, e-mail: users-h...@appfuse.dev.java.net
>>>>>
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscr...@appfuse.dev.java.net
>>>> For additional commands, e-mail: users-h...@appfuse.dev.java.net
>>>>
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@appfuse.dev.java.net
>>> For additional commands, e-mail: users-h...@appfuse.dev.java.net
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@appfuse.dev.java.net
>> For additional commands, e-mail: users-h...@appfuse.dev.java.net
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@appfuse.dev.java.net
> For additional commands, e-mail: users-h...@appfuse.dev.java.net
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@appfuse.dev.java.net
For additional commands, e-mail: users-h...@appfuse.dev.java.net

Reply via email to