View Javadoc

1   /*
2    * Copyright (C) 2012 Atlassian
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *     http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  
17  package com.atlassian.jira.rest.client.internal.json;
18  
19  import com.atlassian.jira.rest.client.TestUtil;
20  import com.atlassian.jira.rest.client.api.domain.CustomFieldOption;
21  import com.google.common.collect.ImmutableList;
22  import junit.framework.Assert;
23  import org.junit.Test;
24  
25  import java.util.Collections;
26  
27  /**
28   * @since v1.0
29   */
30  public class CustomFieldOptionJsonParserTest {
31  
32      @Test
33      public void testParseMinimal() throws Exception {
34          CustomFieldOptionJsonParser parser = new CustomFieldOptionJsonParser();
35          final CustomFieldOption customFieldOption = parser.parse(ResourceUtil
36                  .getJsonObjectFromResource("/json/customFieldOption/valid-minimal.json"));
37  
38          final CustomFieldOption expected = new CustomFieldOption(10017L,
39                  TestUtil.toUri("http://localhost:2990/jira/rest/api/2/customFieldOption/10017"), "colors",
40                  Collections.<CustomFieldOption>emptyList(), null);
41          Assert.assertEquals(expected, customFieldOption);
42      }
43  
44      @Test
45      public void testParseWithChildren() throws Exception {
46          CustomFieldOptionJsonParser parser = new CustomFieldOptionJsonParser();
47          final CustomFieldOption customFieldOption = parser.parse(ResourceUtil
48                  .getJsonObjectFromResource("/json/customFieldOption/valid-with-children.json"));
49  
50          final CustomFieldOption expected = new CustomFieldOption(10017L,
51                  TestUtil.toUri("http://localhost:2990/jira/rest/api/2/customFieldOption/10017"), "colors",
52                  ImmutableList.of(
53                          new CustomFieldOption(10019L,
54                                  TestUtil.toUri("http://localhost:2990/jira/rest/api/2/customFieldOption/10019"), "red",
55                                  Collections.<CustomFieldOption>emptyList(), null),
56                          new CustomFieldOption(10020L,
57                                  TestUtil.toUri("http://localhost:2990/jira/rest/api/2/customFieldOption/10020"), "blue",
58                                  Collections.<CustomFieldOption>emptyList(), null),
59                          new CustomFieldOption(10021L,
60                                  TestUtil.toUri("http://localhost:2990/jira/rest/api/2/customFieldOption/10021"), "green",
61                                  Collections.<CustomFieldOption>emptyList(), null)
62                  ), null);
63          Assert.assertEquals(expected, customFieldOption);
64      }
65  
66      @Test
67      public void testParseWithChild() throws Exception {
68          CustomFieldOptionJsonParser parser = new CustomFieldOptionJsonParser();
69          final CustomFieldOption customFieldOption = parser.parse(ResourceUtil
70                  .getJsonObjectFromResource("/json/customFieldOption/valid-with-child.json"));
71  
72          final CustomFieldOption child = new CustomFieldOption(10019L,
73                  TestUtil.toUri("http://localhost:2990/jira/rest/api/2/customFieldOption/10019"), "red",
74                  Collections.<CustomFieldOption>emptyList(), null);
75  
76          final CustomFieldOption expected = new CustomFieldOption(10017L,
77                  TestUtil.toUri("http://localhost:2990/jira/rest/api/2/customFieldOption/10017"), "colors",
78                  Collections.<CustomFieldOption>emptyList(), child);
79          Assert.assertEquals(expected, customFieldOption);
80      }
81  }