1 package com.atlassian.user.configuration;
2
3 import com.atlassian.user.configuration.xml.XMLConfigurationParser;
4 import com.atlassian.user.configuration.xml.XMLConfiguration;
5
6 import java.util.List;
7
8 import junit.framework.TestCase;
9
10
11
12
13 public class TestDelegatingRepositoryXmlConfiguration extends TestCase
14 {
15 protected XMLConfigurationParser parser;
16
17 private String delegation1 = "<atlassian-user>\n" +
18 " <delegation>\n" +
19 " <key>mem2</key>\n" +
20 " <key>mem1</key>\n" +
21 " </delegation>\n" +
22 "\n" +
23 " <repositories>\n" +
24 " <memory key=\"mem1\" name=\"memory\" />\n" +
25 " <memory key=\"mem2\" name=\"name1\" description=\"test description\" />\n" +
26 " </repositories>\n" +
27 "</atlassian-user>";
28
29 private String delegation2 = "<atlassian-user>\n" +
30 " <repositories>\n" +
31 " <memory key=\"mem2\" name=\"name1\" description=\"test description\" />\n" +
32 " <memory key=\"mem1\" name=\"memory\" />\n" +
33 " </repositories>\n" +
34 "</atlassian-user>";
35
36
37 public void setUp() throws Exception
38 {
39 super.setUp();
40 parser = new XMLConfigurationParser();
41 }
42
43 public void testErrorLoadingDefaults()
44 {
45 try
46 {
47 new XMLConfigurationParser("file-not-found.xml");
48 fail("Expected ConfigurationException");
49 }
50 catch (ConfigurationException e)
51 {
52
53 }
54 }
55
56 public void testAccurateDelegationOrder() throws ConfigurationException
57 {
58 XMLConfiguration config = XMLConfiguration.configureFromXMLString(delegation1);
59 List accessors = config.getDelegationAccessor().getRepositoryAccessors();
60
61 RepositoryAccessor accessor1 = (RepositoryAccessor) accessors.get(0);
62 RepositoryAccessor accessor2 = (RepositoryAccessor) accessors.get(1);
63 assertEquals("mem2", accessor1.getIdentifier().getKey());
64 assertEquals("mem1", accessor2.getIdentifier().getKey());
65 }
66
67 public void testDefaultDelegationOrder() throws ConfigurationException
68 {
69 XMLConfiguration config = XMLConfiguration.configureFromXMLString(delegation2);
70 List accessors = config.getDelegationAccessor().getRepositoryAccessors();
71
72 RepositoryAccessor accessor1 = (RepositoryAccessor) accessors.get(0);
73 RepositoryAccessor accessor2 = (RepositoryAccessor) accessors.get(1);
74 assertEquals("mem2", accessor1.getIdentifier().getKey());
75 assertEquals("mem1", accessor2.getIdentifier().getKey());
76 }
77 }