/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package org.apache.cxf.jca.core.resourceadapter; import java.util.logging.Level; import java.util.logging.Logger; import org.apache.cxf.common.logging.LogUtils; import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; public class ResourceAdapterInternalExceptionTest extends Assert { private static final Logger EXCEPTION_LOGGER = LogUtils.getLogger(ResourceAdapterInternalException.class); private Level logLevel; @Before public void setUp() throws Exception { logLevel = EXCEPTION_LOGGER.getLevel(); EXCEPTION_LOGGER.setLevel(Level.SEVERE); } @After public void tearDown() throws Exception { EXCEPTION_LOGGER.setLevel(logLevel); } @Test public void testMessage() { final String msg = "msg1"; msg.intern(); Exception e = new ResourceAdapterInternalException(msg); assertTrue(e.toString().indexOf(msg) != -1); assertTrue(e.toString().indexOf("reason") == -1); assertEquals(e.getMessage(), msg); } @Test public void testMessageWithNullTx() { final String msg = "msg1"; msg.intern(); javax.resource.spi.ResourceAdapterInternalException e = new ResourceAdapterInternalException(msg, null); assertTrue(e.toString().indexOf(msg) != -1); assertTrue(e.toString().indexOf("reason") == -1); assertEquals(e.getMessage(), msg); assertNull(e.getCause()); } @Test public void testMessageWithEx() throws Exception { final String msg = "msg"; final String causeMsg = "cause"; Exception cause = new RuntimeException(causeMsg); javax.resource.spi.ResourceAdapterInternalException e = new ResourceAdapterInternalException(msg, cause); assertTrue(e.toString().indexOf(msg) != -1); assertTrue(e.toString().indexOf("reason") != -1); assertTrue(e.toString().indexOf(causeMsg) != -1); assertEquals(e.getCause(), cause); } @Test public void testMessageWithThrowable() throws Exception { final String msg = "msg"; final String causeMsg = "cause"; Throwable cause = new Throwable(causeMsg); javax.resource.spi.ResourceAdapterInternalException e = new ResourceAdapterInternalException(msg, cause); assertTrue(e.toString().indexOf(msg) != -1); assertTrue(e.toString().indexOf("reason") != -1); assertTrue(e.toString().indexOf(causeMsg) != -1); assertEquals(e.getCause(), cause); } @Test public void testMessageWithIteEx() throws Exception { final String msg = "msg"; final String causeMsg = "cause"; Exception cause = new RuntimeException(causeMsg); javax.resource.spi.ResourceAdapterInternalException re = new ResourceAdapterInternalException( msg, new java.lang.reflect.InvocationTargetException(cause)); assertTrue(re.toString().indexOf(msg) != -1); assertTrue(re.toString().indexOf("reason") != -1); assertTrue(re.toString().indexOf(causeMsg) != -1); assertEquals(re.getCause(), cause); } @Test public void testMessageWithIteErroriNotThrow() throws Exception { final String msg = "msg"; final String causeMsg = "cause"; java.lang.Throwable cause = new java.lang.UnknownError(causeMsg); ResourceAdapterInternalException re = new ResourceAdapterInternalException( msg, new java.lang.reflect.InvocationTargetException(cause)); assertEquals(re.getCause(), cause); } @Test public void testGetLinkedExceptionReturnNullIfNoCause() throws Exception { ResourceAdapterInternalException re = new ResourceAdapterInternalException("ex"); assertNull("getLinkedException return null", re.getLinkedException()); } @Test public void testGetLinkedExceptionReturnNullIfCauseIsError() throws Exception { java.lang.Throwable cause = new java.lang.UnknownError("error"); ResourceAdapterInternalException re = new ResourceAdapterInternalException("ex", cause); assertNull("getLinkedException return null", re.getLinkedException()); } @Test public void testGetLinkedExceptionReturnNotNullIfCauseIsException() throws Exception { java.lang.Throwable cause = new RuntimeException("runtime exception"); ResourceAdapterInternalException re = new ResourceAdapterInternalException("ex", cause); assertEquals("get same exception", cause, re.getLinkedException()); } }