1   package com.atlassian.maven.plugins.amps.product.studio;
2   
3   import com.atlassian.maven.plugins.amps.MavenContext;
4   import com.atlassian.maven.plugins.amps.MavenGoals;
5   import com.atlassian.maven.plugins.amps.Product;
6   import org.junit.Test;
7   import org.mockito.Mockito;
8   
9   public class TestStudioJiraProductHandler
10  {
11      @Test
12      public void testFixMemorySettingsWithEmptyArgs() throws Exception
13      {
14          Product product = new Product();
15          StudioJiraProductHandler handler = new StudioJiraProductHandler(Mockito.mock(MavenContext.class), Mockito.mock(MavenGoals.class));
16  
17          product.setJvmArgs(null);
18          handler.fixJvmArgs(product);
19  
20          org.junit.Assert.assertEquals("-Xms256m -Xmx768m -XX:MaxPermSize=512m", product.getJvmArgs());
21      }
22  
23      @Test
24      public void testFixMemorySettingsWithMs() throws Exception
25      {
26          Product product = new Product();
27          StudioJiraProductHandler handler = new StudioJiraProductHandler(Mockito.mock(MavenContext.class), Mockito.mock(MavenGoals.class));
28  
29          product.setJvmArgs("-Xms1024m");
30          handler.fixJvmArgs(product);
31  
32          org.junit.Assert.assertEquals("-Xms1024m -Xmx768m -XX:MaxPermSize=512m", product.getJvmArgs());
33      }
34  
35      @Test
36      public void testFixMemorySettingsWithMx() throws Exception
37      {
38          Product product = new Product();
39          StudioJiraProductHandler handler = new StudioJiraProductHandler(Mockito.mock(MavenContext.class), Mockito.mock(MavenGoals.class));
40  
41          product.setJvmArgs("-Xmx1024m");
42          handler.fixJvmArgs(product);
43  
44          org.junit.Assert.assertEquals("-Xmx1024m -Xms256m -XX:MaxPermSize=512m", product.getJvmArgs());
45      }
46  
47      @Test
48      public void testFixMemorySettingsWithPermgenMxAndOther() throws Exception
49      {
50          Product product = new Product();
51          StudioJiraProductHandler handler = new StudioJiraProductHandler(Mockito.mock(MavenContext.class), Mockito.mock(MavenGoals.class));
52  
53          product.setJvmArgs("-XX:MaxPermSize=512m -Xmx1024m -Dother=val");
54          handler.fixJvmArgs(product);
55  
56          org.junit.Assert.assertEquals("-XX:MaxPermSize=512m -Xmx1024m -Dother=val -Xms256m", product.getJvmArgs());
57      }
58  }