View Javadoc
1   package com.atlassian.refapp.sal.pluginsettings;
2   
3   import com.atlassian.sal.api.ApplicationProperties;
4   import junit.framework.TestCase;
5   import org.apache.commons.io.FileUtils;
6   import org.mockito.Mockito;
7   
8   import java.io.File;
9   
10  /**
11   *
12   */
13  public class TestRefimplPluginSettingsFactory extends TestCase {
14      private File tmpDir;
15  
16      @Override
17      protected void setUp() throws Exception {
18          tmpDir = new File("target/plugin-temp").getAbsoluteFile();
19          if (tmpDir.exists()) {
20              FileUtils.cleanDirectory(tmpDir);
21          }
22          tmpDir.mkdirs();
23      }
24  
25      public void testFilePersistence() {
26          ApplicationProperties props = Mockito.mock(ApplicationProperties.class);
27          Mockito.when(props.getHomeDirectory()).thenReturn(tmpDir);
28          RefimplPluginSettingsFactory factory = new RefimplPluginSettingsFactory(props);
29          RefimplPluginSettings settings = (RefimplPluginSettings) factory.createGlobalSettings();
30          settings.put("foo", "bar");
31  
32          factory = new RefimplPluginSettingsFactory(props);
33          assertEquals("bar", factory.createGlobalSettings().get("foo"));
34      }
35  
36      public void testFilePersistenceWithSpecialCharacters() {
37          ApplicationProperties props = Mockito.mock(ApplicationProperties.class);
38          Mockito.when(props.getHomeDirectory()).thenReturn(tmpDir);
39          RefimplPluginSettingsFactory factory = new RefimplPluginSettingsFactory(props);
40          RefimplPluginSettings settings = (RefimplPluginSettings) factory.createGlobalSettings();
41          settings.put("foo", "bar\n|b\faz><&");
42  
43          factory = new RefimplPluginSettingsFactory(props);
44          assertEquals("bar\n|b\faz><&", factory.createGlobalSettings().get("foo"));
45      }
46  }