1   package com.atlassian.user.impl.osuser.config.xml;
2   
3   import com.atlassian.user.UserManager;
4   import com.atlassian.user.EntityException;
5   import com.atlassian.user.impl.osuser.DefaultOSUAccessor;
6   import com.atlassian.user.impl.osuser.OSUUserManager;
7   import com.atlassian.user.repository.DefaultRepositoryIdentifier;
8   import com.atlassian.user.repository.RepositoryIdentifier;
9   import com.atlassian.user.util.ClassLoaderUtils;
10  import junit.framework.TestCase;
11  
12  public class TestDefaultOSUserConfigurationLoader extends TestCase
13  {
14      private DefaultOSUConfigurationLoader configLoader;
15      private DefaultOSUAccessor accessor;
16  
17      public void setUp() throws Exception
18      {
19          accessor = new DefaultOSUAccessor();
20          configLoader = new DefaultOSUConfigurationLoader();
21          configLoader.setAccessor(accessor);
22          configLoader.load(ClassLoaderUtils.getResourceAsStream("osuser-test.xml", this.getClass()));
23      }
24  
25      public void testLoad() throws Exception
26      {
27          assertNotNull(accessor.getCredentialsProvider());
28          assertNotNull(accessor.getAccessProvider());
29          assertNotNull(accessor.getProfileProvider());
30      }
31  
32      public void testManagersViaLoader()
33      {
34          RepositoryIdentifier repository = new DefaultRepositoryIdentifier("default", "Default repo");
35          UserManager userManager = new OSUUserManager(repository, accessor);
36  
37          try
38          {
39              userManager.createUser("test");
40          }
41          catch (EntityException e)
42          {
43              fail("Should be able to create a user");
44          }
45      }
46  
47      public void testConfigurationLoaderWithoutAccessor() throws Exception
48      {
49          assertNotNull(configLoader.getAccessProvider());
50          assertNotNull(configLoader.getProfileProvider());
51          assertNotNull(configLoader.getCredentialsProvider());
52      }
53  }