package org.apache.camel.osgi.service.util;
import org.junit.Test;
import org.osgi.framework.BundleContext;
import org.osgi.framework.Constants;
import org.osgi.framework.ServiceReference;
import java.util.List;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.junit.Assert.assertThat;
import static org.mockito.Mockito.RETURNS_MOCKS;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@Test
BundleContext bundleContext = mock(BundleContext.class);
ServiceReference reference = mock(ServiceReference.class, RETURNS_MOCKS);
when(reference.getProperty(Constants.OBJECTCLASS)).thenReturn(new String[] {List.class.getName()});
OsgiDefaultProxyCreator creator = new OsgiDefaultProxyCreator();
Object proxy = creator.createProxy(bundleContext, reference, getClass().getClassLoader());
assertThat(proxy, instanceOf(OsgiProxy.class));
assertThat(proxy, instanceOf(ServiceReference.class));
assertThat(proxy, instanceOf(List.class));
verify(reference).getBundle();
}
@Test(expected = IllegalArgumentException.class)
BundleContext bundleContext = mock(BundleContext.class);
ServiceReference reference = mock(ServiceReference.class);
OsgiDefaultProxyCreator creator = new OsgiDefaultProxyCreator();
creator.createProxy(bundleContext, reference, getClass().getClassLoader());
}
@Test(expected = IllegalArgumentException.class)
BundleContext bundleContext = mock(BundleContext.class);
ServiceReference reference = mock(ServiceReference.class, RETURNS_MOCKS);
when(reference.getProperty(Constants.OBJECTCLASS)).thenReturn(new String[] {List.class.getName(), "Undefined"});
OsgiDefaultProxyCreator creator = new OsgiDefaultProxyCreator();
creator.createProxy(bundleContext, reference, getClass().getClassLoader());
}
}