View Javadoc

1   package com.atlassian.marketplace.client.api;
2   
3   import com.google.common.collect.ImmutableList;
4   
5   import org.hamcrest.Matchers;
6   import org.junit.Test;
7   
8   import static com.atlassian.fugue.Option.none;
9   import static com.atlassian.fugue.Option.some;
10  import static com.atlassian.marketplace.client.api.AddonQuery.any;
11  import static com.atlassian.marketplace.client.api.AddonQuery.builder;
12  import static com.atlassian.marketplace.client.api.ApplicationKey.JIRA;
13  import static com.atlassian.marketplace.client.api.Cost.ALL_PAID;
14  import static com.atlassian.marketplace.client.api.HostingType.CLOUD;
15  import static org.hamcrest.MatcherAssert.assertThat;
16  import static org.hamcrest.Matchers.equalTo;
17  
18  public class AddonQueryTest
19  {
20      @Test
21      public void defaultQueryIsSameAsAny()
22      {
23          assertThat(builder().build(), equalTo(any()));
24      }
25      
26      @Test
27      public void defaultQueryHasNoAccessToken()
28      {
29          assertThat(any().getAccessToken(), equalTo(none(String.class)));
30      }
31      
32      @Test
33      public void accessTokenCanBeSet()
34      {
35          assertThat(builder().accessToken(some("x")).build().getAccessToken(), equalTo(some("x")));
36      }
37      
38      @Test
39      public void defaultQueryHasNoApplication()
40      {
41          assertThat(any().getApplication(), equalTo(none(ApplicationKey.class)));
42      }
43      
44      @Test
45      public void applicationCanBeSet()
46      {
47          AddonQuery q = AddonQuery.builder().application(some(JIRA)).build();
48          assertThat(q.getApplication(), equalTo(some(JIRA)));
49      }
50      
51      @Test
52      public void defaultQueryHasNoAppBuildNumber()
53      {
54          assertThat(any().getAppBuildNumber(), equalTo(none(Integer.class)));
55      }
56      
57      @Test
58      public void appBuildNumberCanBeSet()
59      {
60          AddonQuery q = builder().appBuildNumber(some(1000)).build();
61          assertThat(q.getAppBuildNumber(), equalTo(some(1000)));
62      }
63  
64      @Test
65      public void defaultQueryHasNoCategories()
66      {
67          assertThat(any().getCategoryNames(), Matchers.<String>emptyIterable());
68      }
69      
70      @Test
71      public void categoriesCanBeSet()
72      {
73          AddonQuery q = AddonQuery.builder().categoryNames(ImmutableList.of("a", "b")).build();
74          assertThat(q.getCategoryNames(), Matchers.<String>contains("a", "b"));
75      }
76  
77      @Test
78      public void defaultQueryHasNoCost()
79      {
80          assertThat(any().getCost(), Matchers.<Cost>emptyIterable());
81      }
82      
83      @Test
84      public void costCanBeSet()
85      {
86          AddonQuery q = AddonQuery.builder().cost(some(ALL_PAID)).build();
87          assertThat(q.getCost(), equalTo(some(ALL_PAID)));
88      }
89  
90      @Test
91      public void defaultQueryHasNoHosting()
92      {
93          assertThat(any().getHosting(), equalTo(none(HostingType.class)));
94      }
95      
96      @Test
97      public void hostingCanBeSet()
98      {
99          AddonQuery q = AddonQuery.builder().hosting(some(CLOUD)).build();
100         assertThat(q.getHosting(), equalTo(some(CLOUD)));
101     }
102     
103     @Test
104     public void defaultQueryHasNoSearchText()
105     {
106         assertThat(any().getSearchText(), equalTo(none(String.class)));
107     }
108     
109     @Test
110     public void searchTextCanBeSet()
111     {
112         AddonQuery q = AddonQuery.builder().searchText(some("yo")).build();
113         assertThat(q.getSearchText(), equalTo(some("yo")));
114     }
115     
116     @Test
117     public void defaultQueryHasWithVersionFalse()
118     {
119         assertThat(any().isWithVersion(), equalTo(false));
120     }
121     
122     @Test
123     public void withVersionCanBeSet()
124     {
125         AddonQuery q = AddonQuery.builder().withVersion(true).build();
126         assertThat(q.isWithVersion(), equalTo(true));
127     }
128 
129     @Test
130     public void defaultQueryHasDefaultBounds()
131     {
132         assertThat(any().getBounds(), equalTo(QueryBounds.defaultBounds()));
133     }
134 
135     @Test
136     public void boundsCanBeSet()
137     {
138         QueryBounds b = QueryBounds.offset(2).withLimit(some(3));
139         AddonQuery q = AddonQuery.builder().bounds(b).build();
140         assertThat(q.getBounds(), equalTo(b));
141     }
142 }