1   package com.atlassian.user.impl.hibernate.configuration;
2   
3   import java.io.File;
4   import java.io.FileInputStream;
5   
6   import com.atlassian.cache.empty.EmptyCacheManager;
7   import com.atlassian.user.configuration.AbstractRepositoryProcessorTestCase;
8   import com.atlassian.user.configuration.RepositoryAccessor;
9   import com.atlassian.user.configuration.xml.XMLConfigurationParser;
10  import com.atlassian.user.repository.RepositoryIdentifier;
11  import com.atlassian.user.util.FileUtils;
12  
13  /**
14   * NOTE - this is a test which essentially tests the values of a au_hibernate.properties and
15   * the initialization order of the abstract class HibernateRepositoryProcessor.
16   * <p/>
17   * Each application will provide their own extension of HibernateRepositoryProcessor,
18   * to define how the sessionFactory and the HibernateConfigurationProvider should be found.
19   */
20  
21  public class TestHibernateRepositoryProcessor extends AbstractRepositoryProcessorTestCase
22  {
23      public void setUp() throws Exception
24      {
25          super.setUp();
26          parser = new XMLConfigurationParser();
27      }
28  
29      public void tearDown() throws Exception
30      {
31          super.tearDown();
32      }
33  
34      public void testProcess()
35      {
36          initializeConfiguration(hib1XML);
37          RepositoryAccessor repoAccessor = delegationAccessor.getRepositoryAccessor("hib1");
38          RepositoryIdentifier identifier = repoAccessor.getIdentifier();
39  
40          assertEquals("hib1", identifier.getKey());
41          assertEquals("name1", identifier.getName());
42      }
43  
44      protected void initializeConfiguration(String str)
45      {
46          try
47          {
48              File xml = FileUtils.copyIntoTemporaryFile(str, "atlassian-user.xml");
49              FileInputStream is = new FileInputStream(xml);
50  
51              config = new HibernateXMLConfiguration(is, new EmptyCacheManager());
52              config.init();
53          }
54          catch (Exception e)
55          {
56              e.printStackTrace();
57          }
58          delegationAccessor = config.getDelegationAccessor();
59      }
60  
61  }