/* * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com * The software in this package is published under the terms of the CPAL v1.0 * license, a copy of which has been included with this distribution in the * LICENSE.txt file. */ package org.mule.runtime.module.extension.internal.runtime.resolver; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.sameInstance; import static org.junit.Assert.assertThat; import static org.mockito.Answers.RETURNS_DEEP_STUBS; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import static org.mule.runtime.module.extension.internal.ExtensionProperties.CONNECTION_PARAM; import org.mule.runtime.api.connection.ConnectionHandler; import org.mule.runtime.module.extension.internal.runtime.ExecutionContextAdapter; import org.mule.tck.junit4.AbstractMuleTestCase; import org.mule.tck.size.SmallTest; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; @SmallTest @RunWith(MockitoJUnitRunner.class) public class ConnectionArgumentResolverTestCase extends AbstractMuleTestCase { @Mock(answer = RETURNS_DEEP_STUBS) private ExecutionContextAdapter operationContext; private ConnectionArgumentResolver resolver = new ConnectionArgumentResolver(); @Test public void resolve() throws Exception { ConnectionHandler connectionHandler = mock(ConnectionHandler.class); final Object connection = new Object(); when(connectionHandler.getConnection()).thenReturn(connection); when(operationContext.getVariable(CONNECTION_PARAM)).thenReturn(connectionHandler); assertThat(resolver.resolve(operationContext), is(sameInstance(connection))); } @Test(expected = IllegalArgumentException.class) public void noConnection() { when(operationContext.getVariable(CONNECTION_PARAM)).thenReturn(null); resolver.resolve(operationContext); } }