/******************************************************************************* * Copyright (c) 2008, 2011 VMware Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * VMware Inc. - initial contribution *******************************************************************************/ package org.eclipse.virgo.kernel.userregion.internal.management; import java.io.File; import java.io.IOException; import java.util.zip.ZipException; import org.eclipse.virgo.kernel.osgi.quasi.QuasiFramework; import org.eclipse.virgo.kernel.osgi.quasi.QuasiFrameworkFactory; import org.junit.Test; import static org.junit.Assert.*; /** * * */ public class JMXQuasiStateDumpTests { private static final String TEST_DUMP = "src/test/resources/testDump"; private final JMXQuasiStateDump quasiStateDumpMBean; public JMXQuasiStateDumpTests() { quasiStateDumpMBean = new JMXQuasiStateDump(new QuasiFrameworkFactory() { @Override public QuasiFramework create(File stateDump) throws ZipException, IOException { if (File.separator.equals("/")) { assertEquals(TEST_DUMP, stateDump.getPath()); } else { assertEquals(TEST_DUMP, stateDump.getPath().replace('\\', '/')); } return new StubQuasiFramework(); } @Override public QuasiFramework create() { return new StubQuasiFramework(); } }); } @Test public void testGetUnresolvedBundleFailures(){ JMXQuasiResolutionFailure[] unresolvedBundleFailures = this.quasiStateDumpMBean.getUnresolvedBundleFailures(TEST_DUMP); assertEquals(1, unresolvedBundleFailures.length); assertEquals("Description", unresolvedBundleFailures[0].getDescription()); assertEquals(StubQuasiFramework.TEST_BUNDLE_NAME, unresolvedBundleFailures[0].getSymbolicName()); } @Test public void testListBundles(){ JMXQuasiMinimalBundle[] listBundles = this.quasiStateDumpMBean.listBundles(TEST_DUMP); assertEquals(1, listBundles.length); assertEquals(StubQuasiFramework.TEST_BUNDLE_NAME, listBundles[0].getSymbolicName()); } @Test public void testGetBundle(){ JMXQuasiBundle bundle = this.quasiStateDumpMBean.getBundle(TEST_DUMP, 5l); assertEquals(StubQuasiFramework.TEST_BUNDLE_NAME, bundle.getSymbolicName()); assertEquals(5l, bundle.getIdentifier()); } }