Search in sources :

Example 6 with BatchActionResult

use of org.apache.aries.jmx.codec.BatchActionResult in project aries by apache.

the class FrameworkTest method testSetBundleStartLevels.

@Test
public void testSetBundleStartLevels() throws IOException {
    Bundle bundle = Mockito.mock(Bundle.class);
    Mockito.when(context.getBundle(2)).thenReturn(bundle);
    CompositeData data = mbean.setBundleStartLevels(new long[] { 2 }, new int[] { 2 });
    Mockito.verify(startLevel).setBundleStartLevel(bundle, 2);
    BatchActionResult batch = BatchActionResult.from(data);
    Assert.assertEquals(2, batch.getCompleted()[0]);
    Assert.assertTrue(batch.isSuccess());
    Assert.assertNull(batch.getError());
    Assert.assertNull(batch.getRemainingItems());
    CompositeData data2 = mbean.setBundleStartLevels(new long[] { 2 }, new int[] { 2, 4 });
    BatchActionResult batch2 = BatchActionResult.from(data2);
    Assert.assertNull(batch2.getCompleted());
    Assert.assertFalse(batch2.isSuccess());
    Assert.assertNotNull(batch2.getError());
    Assert.assertNull(batch2.getRemainingItems());
}
Also used : Bundle(org.osgi.framework.Bundle) CompositeData(javax.management.openmbean.CompositeData) BatchActionResult(org.apache.aries.jmx.codec.BatchActionResult) Test(org.junit.Test)

Example 7 with BatchActionResult

use of org.apache.aries.jmx.codec.BatchActionResult in project aries by apache.

the class FrameworkTest method testStopBundles.

@Test
public void testStopBundles() throws Exception {
    Bundle bundle = Mockito.mock(Bundle.class);
    Mockito.when(context.getBundle(5)).thenReturn(bundle);
    CompositeData data = mbean.stopBundles(new long[] { 5 });
    Mockito.verify(bundle).stop();
    BatchActionResult batch = BatchActionResult.from(data);
    Assert.assertEquals(5, batch.getCompleted()[0]);
    Assert.assertTrue(batch.isSuccess());
    Assert.assertNull(batch.getError());
    Assert.assertNull(batch.getRemainingItems());
    CompositeData data2 = mbean.stopBundles(null);
    BatchActionResult batch2 = BatchActionResult.from(data2);
    Assert.assertNull(batch2.getCompleted());
    Assert.assertFalse(batch2.isSuccess());
    Assert.assertNotNull(batch2.getError());
    Assert.assertNull(batch2.getRemainingItems());
}
Also used : Bundle(org.osgi.framework.Bundle) CompositeData(javax.management.openmbean.CompositeData) BatchActionResult(org.apache.aries.jmx.codec.BatchActionResult) Test(org.junit.Test)

Example 8 with BatchActionResult

use of org.apache.aries.jmx.codec.BatchActionResult in project aries by apache.

the class FrameworkTest method testUpdateBundles.

@Test
public void testUpdateBundles() throws Exception {
    Bundle bundle = Mockito.mock(Bundle.class);
    Mockito.when(context.getBundle(5)).thenReturn(bundle);
    CompositeData data = mbean.updateBundles(new long[] { 5 });
    Mockito.verify(bundle).update();
    BatchActionResult batch = BatchActionResult.from(data);
    Assert.assertEquals(5, batch.getCompleted()[0]);
    Assert.assertTrue(batch.isSuccess());
    Assert.assertNull(batch.getError());
    Assert.assertNull(batch.getRemainingItems());
    CompositeData data2 = mbean.updateBundles(null);
    BatchActionResult batch2 = BatchActionResult.from(data2);
    Assert.assertNull(batch2.getCompleted());
    Assert.assertFalse(batch2.isSuccess());
    Assert.assertNotNull(batch2.getError());
    Assert.assertNull(batch2.getRemainingItems());
    Mockito.reset(bundle);
    CompositeData data3 = mbean.updateBundles(new long[] { 6 });
    Mockito.when(context.getBundle(6)).thenReturn(bundle);
    Mockito.doThrow(new BundleException("")).when(bundle).update();
    BatchActionResult batch3 = BatchActionResult.from(data3);
    Assert.assertEquals(0, batch3.getCompleted().length);
    Assert.assertFalse(batch3.isSuccess());
    Assert.assertNotNull(batch3.getError());
    Assert.assertEquals(6, batch3.getBundleInError());
    Bundle bundle6 = Mockito.mock(Bundle.class);
    Bundle bundle8 = Mockito.mock(Bundle.class);
    Bundle bundle7 = Mockito.mock(Bundle.class);
    Mockito.when(context.getBundle(6)).thenReturn(bundle6);
    Mockito.when(context.getBundle(8)).thenReturn(bundle8);
    Mockito.when(context.getBundle(7)).thenReturn(bundle7);
    Mockito.doThrow(new BundleException("")).when(bundle8).update();
    CompositeData data4 = mbean.updateBundles(new long[] { 6, 8, 7 });
    BatchActionResult batch4 = BatchActionResult.from(data4);
    Mockito.verify(bundle6).update();
    Assert.assertEquals(1, batch4.getCompleted().length);
    // should contain only bundleid 6
    Assert.assertEquals(6, batch4.getCompleted()[0]);
    Assert.assertFalse(batch4.isSuccess());
    Assert.assertNotNull(batch4.getError());
    Assert.assertEquals(8, batch4.getBundleInError());
    Assert.assertEquals(1, batch4.getRemainingItems().length);
    // should contain only bundleid 7
    Assert.assertEquals(7, batch4.getRemainingItems()[0]);
}
Also used : Bundle(org.osgi.framework.Bundle) CompositeData(javax.management.openmbean.CompositeData) BundleException(org.osgi.framework.BundleException) BatchActionResult(org.apache.aries.jmx.codec.BatchActionResult) Test(org.junit.Test)

Aggregations

BatchActionResult (org.apache.aries.jmx.codec.BatchActionResult)8 CompositeData (javax.management.openmbean.CompositeData)7 Test (org.junit.Test)7 Bundle (org.osgi.framework.Bundle)6 BundleException (org.osgi.framework.BundleException)2 File (java.io.File)1 FileOutputStream (java.io.FileOutputStream)1 IOException (java.io.IOException)1 InputStream (java.io.InputStream)1 JarOutputStream (java.util.jar.JarOutputStream)1 Manifest (java.util.jar.Manifest)1 AbstractIntegrationTest (org.apache.aries.jmx.AbstractIntegrationTest)1