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