| package org.eclipse.virgo.management.fragment; |
| |
| import static org.junit.Assert.assertEquals; |
| |
| import java.util.Hashtable; |
| |
| import javax.management.MalformedObjectNameException; |
| import javax.management.ObjectName; |
| |
| import org.easymock.EasyMock; |
| import org.eclipse.equinox.region.Region; |
| import org.eclipse.equinox.region.RegionDigraph; |
| import org.junit.After; |
| import org.junit.Before; |
| import org.junit.Test; |
| import org.osgi.framework.Bundle; |
| import org.osgi.framework.BundleContext; |
| import org.osgi.framework.ServiceReference; |
| |
| public class VirgoObjectNameTranslatorTests { |
| |
| private static final String MOCK_REGION_NAME = "testRegion"; |
| |
| private ObjectName testObjectName; |
| |
| private ObjectName testObjectNameTranslation; |
| |
| private BundleContext mockContext; |
| |
| private ServiceReference<RegionDigraph> mockServiceReference; |
| |
| private Bundle mockBundle; |
| |
| private RegionDigraph mockRegionDigraph; |
| |
| private Region mockRegion; |
| |
| |
| @SuppressWarnings("unchecked") |
| @Before |
| public void setup() throws MalformedObjectNameException, NullPointerException{ |
| Hashtable<String, String> table = new Hashtable<String, String>(); |
| table.put("testKey", "testValue"); |
| testObjectName = ObjectName.getInstance("testDomain", table); |
| table.put("region", MOCK_REGION_NAME); |
| testObjectNameTranslation = ObjectName.getInstance("testDomain", table); |
| mockContext = EasyMock.createMock(BundleContext.class); |
| mockServiceReference = (ServiceReference<RegionDigraph>) EasyMock.createMock(ServiceReference.class); |
| mockBundle = EasyMock.createMock(Bundle.class); |
| mockRegionDigraph = EasyMock.createMock(RegionDigraph.class); |
| mockRegion = EasyMock.createMock(Region.class); |
| EasyMock.expect(mockContext.getServiceReference(RegionDigraph.class)).andReturn(mockServiceReference); |
| EasyMock.expect(mockContext.getService(mockServiceReference)).andReturn(mockRegionDigraph); |
| EasyMock.expect(mockContext.getBundle()).andReturn(mockBundle); |
| EasyMock.expect(mockBundle.getBundleId()).andReturn(5l); |
| EasyMock.expect(mockRegionDigraph.getRegion(5l)).andReturn(mockRegion); |
| EasyMock.expect(mockRegion.getName()).andReturn(MOCK_REGION_NAME); |
| } |
| |
| private void replayMocks() { |
| EasyMock.replay(mockContext, mockServiceReference, mockBundle, mockRegionDigraph, mockRegion); |
| } |
| |
| @After |
| public void tearDown() { |
| EasyMock.verify(mockContext, mockServiceReference, mockBundle, mockRegionDigraph, mockRegion); |
| } |
| |
| @Test |
| public void test() { |
| replayMocks(); |
| VirgoObjectNameTranslator virgoObjectNameTranslator = new VirgoObjectNameTranslator(mockContext); |
| ObjectName translatedObjectName = virgoObjectNameTranslator.translate(testObjectName); |
| assertEquals(testObjectNameTranslation, translatedObjectName); |
| } |
| |
| } |