Merge "Remove raw references to Map in XSQL"
[controller.git] / opendaylight / config / config-api / src / test / java / org / opendaylight / controller / config / api / JmxAttributeValidationExceptionTest.java
1 package org.opendaylight.controller.config.api;
2
3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.assertThat;
5
6 import com.google.common.collect.Lists;
7 import java.nio.file.AccessDeniedException;
8 import java.util.ArrayList;
9 import java.util.Arrays;
10 import java.util.List;
11 import org.hamcrest.CoreMatchers;
12 import org.junit.Test;
13
14 public class JmxAttributeValidationExceptionTest {
15
16     private final JmxAttribute jmxAttribute = new JmxAttribute("attr1");
17
18     @Test
19     public void testJmxAttributeValidationExceptionElement() throws Exception {
20         JmxAttribute attributeName = new JmxAttribute("attr_name");
21         JmxAttributeValidationException e = new JmxAttributeValidationException(attributeName);
22         assertThat(e.getAttributeNames(), CoreMatchers.hasItem(attributeName));
23     }
24
25     @Test
26     public void testJmxAttributeValidationExceptionList() throws Exception {
27         List<JmxAttribute> attributeNames = new ArrayList<>();
28         attributeNames.add(new JmxAttribute("att1"));
29         attributeNames.add(new JmxAttribute("att2"));
30         attributeNames.add(new JmxAttribute("att3"));
31         JmxAttributeValidationException e = new JmxAttributeValidationException(attributeNames);
32         assertEquals(e.getAttributeNames(), attributeNames);
33     }
34
35     @Test
36     public void testJmxAttributeValidationExceptionList2() throws Exception {
37         List<JmxAttribute> attributeNames = new ArrayList<>();
38         attributeNames.add(new JmxAttribute("att1"));
39         attributeNames.add(new JmxAttribute("att2"));
40         attributeNames.add(new JmxAttribute("att3"));
41         JmxAttributeValidationException e = new JmxAttributeValidationException("exception str",
42                 new AccessDeniedException(""), attributeNames);
43         assertEquals(e.getAttributeNames(), attributeNames);
44     }
45
46     @Test
47     public void testJmxAttributeValidationExceptionJmxElement() throws Exception {
48         JmxAttribute attributeName = new JmxAttribute("attr_name");
49         JmxAttributeValidationException e = new JmxAttributeValidationException("exception str",
50                 new AccessDeniedException(""), attributeName);
51         assertEquals(e.getAttributeNames(), Arrays.asList(attributeName));
52     }
53
54     @Test
55     public void testCheckNotNull() throws Exception {
56         try {
57             JmxAttributeValidationException.checkNotNull(false, jmxAttribute);
58         } catch (JmxAttributeValidationException e) {
59             assertJmxEx(e, jmxAttribute.getAttributeName() + " " + "message", jmxAttribute);
60         }
61     }
62
63     @Test
64     public void testCheckCondition() throws Exception {
65         JmxAttributeValidationException.checkCondition(true, "message", jmxAttribute);
66     }
67
68     @Test(expected = JmxAttributeValidationException.class)
69     public void testJmxAttributeValidationException() throws Exception {
70         JmxAttributeValidationException.wrap(new Exception("tmp"), jmxAttribute);
71     }
72
73     @Test(expected = JmxAttributeValidationException.class)
74     public void testJmxAttributeValidationException2() throws Exception {
75         JmxAttributeValidationException.wrap(new Exception("tmp"), "message", jmxAttribute);
76     }
77
78     @Test(expected = JmxAttributeValidationException.class)
79     public void testCheckConditionFalse() throws Exception {
80         JmxAttributeValidationException.checkCondition(false, "message", jmxAttribute);
81     }
82
83     private void assertJmxEx(final JmxAttributeValidationException e, final String message, final JmxAttribute... attrNames) {
84         assertEquals(message, e.getMessage());
85         assertEquals(Lists.newArrayList(attrNames), e.getAttributeNames());
86     }
87 }