View Javadoc

1   package com.atlassian.marketplace.client.model;
2   
3   import org.junit.Test;
4   
5   import static com.atlassian.marketplace.client.api.ApplicationKey.CONFLUENCE;
6   import static com.atlassian.marketplace.client.api.ApplicationKey.JIRA;
7   import static com.atlassian.marketplace.client.api.HostingType.CLOUD;
8   import static com.atlassian.marketplace.client.api.HostingType.SERVER;
9   import static com.atlassian.marketplace.client.model.ModelBuilders.versionCompatibilityForCloud;
10  import static com.atlassian.marketplace.client.model.ModelBuilders.versionCompatibilityForServer;
11  import static com.atlassian.marketplace.client.model.ModelBuilders.versionCompatibilityForServerAndCloud;
12  import static com.google.common.base.Predicates.equalTo;
13  import static org.junit.Assert.assertFalse;
14  import static org.junit.Assert.assertTrue;
15  
16  public class VersionCompatibilityTest
17  {
18      @Test
19      public void compatibleWithServerInServerWithBuildEqualToMinimum()
20      {
21          assertTrue(versionCompatibilityForServer(JIRA, 100, 200).isCompatibleWith(equalTo(JIRA), SERVER, 100));
22      }
23  
24      @Test
25      public void compatibleWithServerInServerWithBuildEqualToMaximum()
26      {
27          assertTrue(versionCompatibilityForServer(JIRA, 100, 200).isCompatibleWith(equalTo(JIRA), SERVER, 200));
28      }
29      
30      @Test
31      public void compatibleWithServerInServerWithBuildInsideRange()
32      {
33          assertTrue(versionCompatibilityForServer(JIRA, 100, 200).isCompatibleWith(equalTo(JIRA), SERVER, 150));
34      }
35      
36      @Test
37      public void compatibleWithServerAndCloudInServerWithBuildEqualToMinimum()
38      {
39          assertTrue(versionCompatibilityForServerAndCloud(JIRA, 100, 200).
40                  isCompatibleWith(equalTo(JIRA), SERVER, 100));
41      }
42  
43      @Test
44      public void compatibleWithServerAndCloudInServerWithBuildEqualToMaximum()
45      {
46          assertTrue(versionCompatibilityForServerAndCloud(JIRA, 100, 200).
47                  isCompatibleWith(equalTo(JIRA), SERVER, 200));
48      }
49      
50      @Test
51      public void compatibleWithServerAndCloudInServerWithBuildInsideRange()
52      {
53          assertTrue(versionCompatibilityForServerAndCloud(JIRA, 100, 200).
54                  isCompatibleWith(equalTo(JIRA), SERVER, 150));
55      }
56  
57      @Test
58      public void compatibleWithCloudInCloud()
59      {
60          assertTrue(versionCompatibilityForCloud(JIRA).isCompatibleWith(equalTo(JIRA), CLOUD, 150));
61      }
62  
63      @Test
64      public void compatibleWithCloudAndServerInCloudRegardlessOfBuild()
65      {
66          assertTrue(versionCompatibilityForServerAndCloud(JIRA, 100, 200).
67                  isCompatibleWith(equalTo(JIRA), CLOUD, 450));
68      }
69  
70      @Test
71      public void incompatibleWithServerInCloud()
72      {
73          assertFalse(versionCompatibilityForServer(JIRA, 100, 200).isCompatibleWith(equalTo(JIRA), CLOUD, 150));
74      }
75      
76      @Test
77      public void incompatibleWithCloudInServer()
78      {
79          assertFalse(versionCompatibilityForCloud(JIRA).isCompatibleWith(equalTo(JIRA), SERVER, 150));
80      }
81  
82      @Test
83      public void incompatibleWithServerInServerWithBuildLessThanMinimum()
84      {
85          assertFalse(versionCompatibilityForServer(JIRA, 100, 200).
86                  isCompatibleWith(equalTo(JIRA), SERVER, 50));
87      }
88  
89      @Test
90      public void incompatibleWithServerInServerWithBuildGreaterThanMaximum()
91      {
92          assertFalse(versionCompatibilityForServer(JIRA, 100, 200).
93                  isCompatibleWith(equalTo(JIRA), SERVER, 2550));
94      }
95  
96      @Test
97      public void incompatibleWithServerInServerWithWrongApplication()
98      {
99          assertFalse(versionCompatibilityForServer(JIRA, 100, 200).
100                 isCompatibleWith(equalTo(CONFLUENCE), SERVER, 150));
101     }
102     
103     @Test
104     public void incompatibleWithServerAndCloudInServerWithBuildLessThanMinimum()
105     {
106         assertFalse(versionCompatibilityForServerAndCloud(JIRA, 100, 200).
107                 isCompatibleWith(equalTo(JIRA), SERVER, 50));
108     }
109 
110     @Test
111     public void incompatibleWithServerAndCloudInServerWithBuildGreaterThanMaximum()
112     {
113         assertFalse(versionCompatibilityForServerAndCloud(JIRA, 100, 200).
114                 isCompatibleWith(equalTo(JIRA), SERVER, 2550));
115     }
116 
117     @Test
118     public void incompatibleWithServerAndCloudInServerWithWrongApplication()
119     {
120         assertFalse(versionCompatibilityForServerAndCloud(JIRA, 100, 200).
121                 isCompatibleWith(equalTo(CONFLUENCE), SERVER, 150));
122     }
123 }