View Javadoc
1   /*
2    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
3    * The software in this package is published under the terms of the CPAL v1.0
4    * license, a copy of which has been included with this distribution in the
5    * LICENSE.txt file.
6    */
7   package org.mule.config.spring.parsers.assembly;
8   
9   import org.mule.config.spring.parsers.assembly.configuration.PrefixValueMap;
10  import org.mule.config.spring.parsers.assembly.configuration.PropertyConfiguration;
11  import org.mule.tck.junit4.AbstractMuleTestCase;
12  
13  import java.util.HashMap;
14  import java.util.Map;
15  
16  import static org.junit.Assert.assertEquals;
17  
18  public abstract class AbstractBasePropertyConfigurationTestCase extends AbstractMuleTestCase
19  {
20  
21      public static final String ALIAS = "Alias";
22      public static final String NAME = "Name";
23      public static final String COLLECTION = "Collection";
24      public static final String IGNORED = "Ignored";
25      public static final String NOT_IGNORED = "Not Ignored";
26      public static final String MAP_CAPS = "MapCaps";
27      public static final String MAP_DIGITS = "MapNumbers";
28      public static final String MAP_PREFIX = "MapPrefix";
29      public static final String REFERENCE = "Reference";
30      public static final String UNUSED = "Unused";
31  
32      public static final String TO_DIGITS = "one=1,two=2,three=3";
33      public static final Map TO_CAPS;
34      public static final String PREFIX = "prefix";
35  
36      static {
37          TO_CAPS = new HashMap();
38          String alphabet = "abcdefghijklmnopqrstuvwxyz";
39          for (int i = 0; i < alphabet.length(); i++)
40          {
41              String letter = alphabet.substring(i, i+1);
42              TO_CAPS.put(letter.toLowerCase(), letter.toUpperCase());
43          }
44      }
45  
46      protected void setTestValues(String prefix, PropertyConfiguration config)
47      {
48          config.addAlias(prefix + ALIAS, prefix + NAME);
49          config.addCollection(prefix + COLLECTION);
50          config.addIgnored(prefix + IGNORED);
51          config.removeIgnored(prefix + NOT_IGNORED);
52          config.addMapping(prefix + MAP_CAPS, TO_CAPS);
53          config.addMapping(prefix + MAP_DIGITS, TO_DIGITS);
54          config.addMapping(prefix + MAP_PREFIX, new PrefixValueMap(PREFIX));
55          config.addReference(prefix + REFERENCE);
56      }
57  
58      protected void verifyTestValues(String prefix, PropertyConfiguration config)
59      {
60          assertEquals(prefix + NAME, config.getAttributeMapping(prefix + ALIAS));
61          assertEquals(prefix + NAME, config.translateName(prefix + ALIAS));
62          assertEquals(prefix + UNUSED, config.getAttributeMapping(prefix + UNUSED));
63          assertEquals(true, config.isCollection(prefix + COLLECTION));
64          assertEquals(false, config.isCollection(prefix + UNUSED));
65          assertEquals(true, config.isIgnored(prefix + IGNORED));
66          assertEquals(false, config.isIgnored(prefix + UNUSED));
67          assertEquals(false, config.isIgnored(prefix + NOT_IGNORED));
68          assertEquals("A", config.translateValue(prefix + MAP_CAPS, "a"));
69          assertEquals("a", config.translateValue(prefix + UNUSED, "a"));
70          assertEquals("Z", config.translateValue(prefix + MAP_CAPS, "z"));
71          assertEquals("z", config.translateValue(prefix + UNUSED, "z"));
72          assertEquals("1", config.translateValue(prefix + MAP_CAPS, "1"));
73          assertEquals("1", config.translateValue(prefix + MAP_DIGITS, "one"));
74          assertEquals("2", config.translateValue(prefix + MAP_DIGITS, "two"));
75          assertEquals("3", config.translateValue(prefix + MAP_DIGITS, "three"));
76          assertEquals("four", config.translateValue(prefix + MAP_DIGITS, "four"));
77          assertEquals("one", config.translateValue(prefix + UNUSED, "one"));
78          assertEquals(PREFIX + "foo", config.translateValue(prefix + MAP_PREFIX, "foo"));
79      }
80  
81      protected void verifyIgnored(String prefix, PropertyConfiguration config)
82      {
83          config.setIgnoredDefault(false);
84          assertEquals(true, config.isIgnored(prefix + IGNORED));
85          assertEquals(false, config.isIgnored(prefix + UNUSED));
86          assertEquals(false, config.isIgnored(prefix + NOT_IGNORED));
87          config.setIgnoredDefault(true);
88          assertEquals(true, config.isIgnored(prefix + IGNORED));
89          assertEquals(true, config.isIgnored(prefix + UNUSED));
90          assertEquals(false, config.isIgnored(prefix + NOT_IGNORED));
91          config.setIgnoredDefault(false);
92          config.removeIgnored(prefix + IGNORED);
93          assertEquals(false, config.isIgnored(prefix + IGNORED));
94          config.addIgnored(prefix + IGNORED);
95      }
96  
97      protected void verifyMissing(String prefix, PropertyConfiguration config)
98      {
99          assertEquals(prefix + ALIAS, config.getAttributeMapping(prefix + ALIAS));
100         assertEquals(prefix + ALIAS, config.translateName(prefix + ALIAS));
101         assertEquals(prefix + UNUSED, config.getAttributeMapping(prefix + UNUSED));
102         assertEquals(false, config.isCollection(prefix + COLLECTION));
103         assertEquals(false, config.isCollection(prefix + UNUSED));
104         assertEquals(false, config.isIgnored(prefix + IGNORED));
105         assertEquals(false, config.isIgnored(prefix + UNUSED));
106         assertEquals("a", config.translateValue(prefix + MAP_CAPS, "a"));
107         assertEquals("a", config.translateValue(prefix + UNUSED, "a"));
108         assertEquals("z", config.translateValue(prefix + MAP_CAPS, "z"));
109         assertEquals("z", config.translateValue(prefix + UNUSED, "z"));
110         assertEquals("1", config.translateValue(prefix + MAP_CAPS, "1"));
111         assertEquals("one", config.translateValue(prefix + MAP_DIGITS, "one"));
112         assertEquals("two", config.translateValue(prefix + MAP_DIGITS, "two"));
113         assertEquals("three", config.translateValue(prefix + MAP_DIGITS, "three"));
114         assertEquals("four", config.translateValue(prefix + MAP_DIGITS, "four"));
115         assertEquals("one", config.translateValue(prefix + UNUSED, "one"));
116         assertEquals("foo", config.translateValue(prefix + MAP_PREFIX, "foo"));
117     }
118 
119 }