View Javadoc

1   package com.atlassian.marketplace.client.model;
2   
3   import org.junit.Test;
4   
5   import static com.atlassian.fugue.Option.some;
6   import static com.atlassian.marketplace.client.api.ApplicationKey.JIRA;
7   import static com.atlassian.marketplace.client.model.TestModelBuilders.addon;
8   import static com.atlassian.marketplace.client.model.TestModelBuilders.addonCategorySummary;
9   import static com.atlassian.marketplace.client.model.TestModelBuilders.addonDistributionSummary;
10  import static com.atlassian.marketplace.client.model.TestModelBuilders.addonReference;
11  import static com.atlassian.marketplace.client.model.TestModelBuilders.addonSummary;
12  import static com.atlassian.marketplace.client.model.TestModelBuilders.addonVersion;
13  import static com.atlassian.marketplace.client.model.TestModelBuilders.addonVersionSummary;
14  import static com.atlassian.marketplace.client.model.TestModelBuilders.application;
15  import static com.atlassian.marketplace.client.model.TestModelBuilders.applicationVersion;
16  import static com.atlassian.marketplace.client.model.TestModelBuilders.artifactInfo;
17  import static com.atlassian.marketplace.client.model.TestModelBuilders.imageInfo;
18  import static com.atlassian.marketplace.client.model.TestModelBuilders.product;
19  import static com.atlassian.marketplace.client.model.TestModelBuilders.productVersion;
20  import static com.atlassian.marketplace.client.model.TestModelBuilders.vendorSummary;
21  import static org.hamcrest.MatcherAssert.assertThat;
22  import static org.hamcrest.Matchers.equalTo;
23  
24  public class TestModelBuildersTest
25  {
26      // The following tests verify that the defaults provided by these builders don't
27      // violate any preconditions in the model object constructors which would throw an
28      // IllegalArgumentException or NullPointerException - and that the builders in
29      // TestModelBuilders *do* provide defaults for required properties.
30  
31      @Test
32      public void canBuildAddonWithDefaults()
33      {
34          addon().build();
35      }
36      
37      @Test
38      public void canBuildAddonCategorySummaryWithDefaults()
39      {
40          addonCategorySummary().build();
41      }
42      
43      @Test
44      public void canBuildAddonDistributionSummaryWithDefaults()
45      {
46          addonDistributionSummary().build();
47      }
48  
49      @Test
50      public void canBuildAddonReferenceWithDefaults()
51      {
52          addonReference().build();
53      }
54      
55      @Test
56      public void canBuildAddonSummaryWithDefaults()
57      {
58          addonSummary().build();
59      }
60  
61      @Test
62      public void canBuildAddonVersionWithDefaults()
63      {
64          addonVersion().build();
65      }
66  
67      @Test
68      public void addonVersionWithArtifactUriHasArtifactInfo()
69      {
70          AddonVersion v = addonVersion().artifactUri(some(ModelBuildersTest.TEST_URI)).build();
71          assertThat(v.getArtifactInfo().isDefined(), equalTo(true));
72      }
73  
74      @Test
75      public void addonVersionWithArtifactUriHasNoRemoteLinkIfConnectIsFalse()
76      {
77          AddonVersion v = addonVersion().artifactUri(some(ModelBuildersTest.TEST_URI)).build();
78          assertThat(v.getArtifactInfo().get().getRemoteDescriptorUri().isDefined(), equalTo(false));
79      }
80  
81      @Test
82      public void addonVersionWithArtifactUriHasRemoteLinkIfConnectIsTrue()
83      {
84          AddonVersion v = addonVersion().artifactUri(some(ModelBuildersTest.TEST_URI)).connect(true).build();
85          assertThat(v.getArtifactInfo().get().getRemoteDescriptorUri().isDefined(), equalTo(true));
86      }
87  
88      @Test
89      public void canSetArtifactInfo()
90      {
91          AddonVersion v = addonVersion().artifact(some(artifactInfo(ModelBuildersTest.TEST_URI, true))).build();
92          assertThat(v.getArtifactInfo().isDefined(), equalTo(true));
93      }
94  
95      @Test
96      public void canSetAddonVersionAutoUpdate()
97      {
98          AddonVersion v = addonVersion().autoUpdateAllowed(true).build();
99          assertThat(v.isAutoUpdateAllowed(), equalTo(true));
100     }
101     
102     @Test
103     public void canBuildAddonVersionSummaryWithDefaults()
104     {
105         addonVersionSummary().build();
106     }
107 
108     @Test
109     public void canBuildApplicationWithDefaults()
110     {
111         application().build();
112     }
113 
114     @Test
115     public void canSetApplicationCloudFreeUsers() throws Exception
116     {
117         assertThat(application().cloudFreeUsers(some(2)).build().getCloudFreeUsers(), equalTo(some(2)));
118     }
119     
120     @Test
121     public void canSetApplicationIntroduction() throws Exception
122     {
123         assertThat(application().introduction("x").build().getIntroduction(), equalTo("x"));
124     }
125 
126     @Test
127     public void canSetApplicationKey() throws Exception
128     {
129         assertThat(application().key(JIRA).build().getKey(), equalTo(JIRA));
130     }
131     
132     @Test
133     public void canSetApplicationName() throws Exception
134     {
135         assertThat(application().name("x").build().getName(), equalTo("x"));
136     }
137 
138     @Test
139     public void canSetApplicationStatus() throws Exception
140     {
141         assertThat(application().status(ApplicationStatus.PUBLISHED).build().getStatus(),
142                 equalTo(ApplicationStatus.PUBLISHED));
143     }
144 
145     @Test
146     public void canBuildApplicationVersionWithDefaults()
147     {
148         applicationVersion().build();
149     }
150     
151     @Test
152     public void canBuildImageInfoWithDefaults()
153     {
154         imageInfo().build();
155     }
156     
157     @Test
158     public void canBuildProductWithDefaults()
159     {
160         product().build();
161     }
162 
163     @Test
164     public void canBuildProductVersionWithDefaults()
165     {
166         productVersion().build();
167     }
168 
169     @Test
170     public void productVersionWithArtifactUriHasArtifactInfo()
171     {
172         ProductVersion v = productVersion().artifactUri(some(ModelBuildersTest.TEST_URI)).build();
173         assertThat(v.getArtifactUri().isDefined(), equalTo(true));
174     }
175 
176     @Test
177     public void canBuildVendorSummaryWithDefaults()
178     {
179         vendorSummary().build();
180     }
181 
182     @Test
183     public void canSetAddonVersionArtifactRemoteLink()
184     {
185         AddonVersion v = addonVersion().artifact(some(artifactInfo(ModelBuildersTest.TEST_URI, true))).build();
186         assertThat(v.getRemoteDescriptorUri(), equalTo(some(ModelBuildersTest.TEST_URI)));
187     }
188 
189     @Test
190     public void canSetAddonVersionSummaryArtifactRemoteLink()
191     {
192         AddonVersionSummary vs = addonVersionSummary().artifactUri(some(ModelBuildersTest.TEST_URI)).connect(true).build();
193         assertThat(vs.getRemoteDescriptorUri(), equalTo(some(ModelBuildersTest.TEST_URI)));
194     }
195 }