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
27
28
29
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 }