1   //----------------------------------------------------------------------
2   // 
3   // PerfectJPattern: "Design patterns are good but components are better!" 
4   // TestJpaManagedSessionStrategy.java Copyright (c) 2009 Giovanni Azua Garcia
5   // bravegag@hotmail.com
6   //  
7   // This program is free software; you can redistribute it and/or
8   // modify it under the terms of the GNU General Public License
9   // as published by the Free Software Foundation; either version 3
10  // of the License, or (at your option) any later version.
11  //
12  // This program is distributed in the hope that it will be useful,
13  // but WITHOUT ANY WARRANTY; without even the implied warranty of
14  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  // GNU General Public License for more details.
16  //
17  // You should have received a copy of the GNU General Public License
18  // along with this program; if not, see <http://www.gnu.org/licenses/>.
19  //
20  //----------------------------------------------------------------------
21  package org.perfectjpattern.jee.integration.dao;
22  
23  import javax.persistence.*;
24  
25  import junit.framework.*;
26  
27  import org.easymock.*;
28  import org.perfectjpattern.jee.api.integration.dao.*;
29  
30  /**
31   * Test suite for the {@link ManagedDaoSessionStrategy} implementation
32   * 
33   * @author <a href="mailto:bravegag@hotmail.com">Giovanni Azua</a>
34   * @version $Revision: 1.0 $Date: Feb 12, 2009 9:38:07 PM $
35   */
36  public 
37  class TestJpaManagedSessionStrategy
38  extends TestCase
39  {
40      //------------------------------------------------------------------------
41      // public
42      //------------------------------------------------------------------------
43      public void
44      testShutdown()
45      {
46          ISessionStrategy mySessionStrategy = new JpaManagedSessionStrategy();
47          
48          try
49          {
50              mySessionStrategy.shutdown();
51              
52              fail("ManagedDaoSessionStrategy did not work as expected");
53          }
54          catch (UnsupportedOperationException anException)
55          {
56              // ok
57          }
58      }
59  
60      //------------------------------------------------------------------------
61      public void
62      testGetSession()
63      {
64          EntityManager myEntityManager = EasyMock.createNiceMock(
65              EntityManager.class); 
66              
67          JpaManagedSessionStrategy mySessionStrategy = 
68              new JpaManagedSessionStrategy();
69          mySessionStrategy.setEntityManager(myEntityManager);
70          
71          ISession mySession = mySessionStrategy.getSession();
72          
73          assertNotNull("Session is expected not to be null", mySession);
74      }
75  }