2 * Copyright (c) 2014, 2017 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.controller.config.api;
11 import static org.junit.Assert.assertEquals;
12 import static org.junit.Assert.assertThat;
14 import com.google.common.collect.Lists;
15 import java.nio.file.AccessDeniedException;
16 import java.util.ArrayList;
17 import java.util.Arrays;
18 import java.util.List;
19 import org.hamcrest.CoreMatchers;
20 import org.junit.Test;
22 public class JmxAttributeValidationExceptionTest {
24 private final JmxAttribute jmxAttribute = new JmxAttribute("attr1");
27 public void testJmxAttributeValidationExceptionElement() throws Exception {
28 JmxAttribute attributeName = new JmxAttribute("attr_name");
29 JmxAttributeValidationException jmxAttributeValidationException = new JmxAttributeValidationException(
31 assertThat(jmxAttributeValidationException.getAttributeNames(), CoreMatchers.hasItem(attributeName));
35 public void testJmxAttributeValidationExceptionList() throws Exception {
36 List<JmxAttribute> attributeNames = new ArrayList<>();
37 attributeNames.add(new JmxAttribute("att1"));
38 attributeNames.add(new JmxAttribute("att2"));
39 attributeNames.add(new JmxAttribute("att3"));
40 JmxAttributeValidationException jmxAttributeValidationException = new JmxAttributeValidationException(
42 assertEquals(jmxAttributeValidationException.getAttributeNames(), attributeNames);
46 public void testJmxAttributeValidationExceptionList2() throws Exception {
47 List<JmxAttribute> attributeNames = new ArrayList<>();
48 attributeNames.add(new JmxAttribute("att1"));
49 attributeNames.add(new JmxAttribute("att2"));
50 attributeNames.add(new JmxAttribute("att3"));
51 JmxAttributeValidationException jmxAttributeValidationException = new JmxAttributeValidationException(
52 "exception str", new AccessDeniedException(""), attributeNames);
53 assertEquals(jmxAttributeValidationException.getAttributeNames(), attributeNames);
57 public void testJmxAttributeValidationExceptionJmxElement() throws Exception {
58 JmxAttribute attributeName = new JmxAttribute("attr_name");
59 JmxAttributeValidationException jmxAttributeValidationException = new JmxAttributeValidationException(
60 "exception str", new AccessDeniedException(""), attributeName);
61 assertEquals(jmxAttributeValidationException.getAttributeNames(), Arrays.asList(attributeName));
65 public void testCheckNotNull() throws Exception {
67 JmxAttributeValidationException.checkNotNull(false, jmxAttribute);
68 } catch (final JmxAttributeValidationException e) {
69 assertJmxEx(e, jmxAttribute.getAttributeName() + " " + "message", jmxAttribute);
74 public void testCheckCondition() throws Exception {
75 JmxAttributeValidationException.checkCondition(true, "message", jmxAttribute);
78 @Test(expected = JmxAttributeValidationException.class)
79 public void testJmxAttributeValidationException() throws Exception {
80 JmxAttributeValidationException.wrap(new Exception("tmp"), jmxAttribute);
83 @Test(expected = JmxAttributeValidationException.class)
84 public void testJmxAttributeValidationException2() throws Exception {
85 JmxAttributeValidationException.wrap(new Exception("tmp"), "message", jmxAttribute);
88 @Test(expected = JmxAttributeValidationException.class)
89 public void testCheckConditionFalse() throws Exception {
90 JmxAttributeValidationException.checkCondition(false, "message", jmxAttribute);
93 private void assertJmxEx(final JmxAttributeValidationException jmxAttributeValidationException,
94 final String message, final JmxAttribute... attrNames) {
95 assertEquals(message, jmxAttributeValidationException.getMessage());
96 assertEquals(Lists.newArrayList(attrNames), jmxAttributeValidationException.getAttributeNames());