Search in sources :

Example 41 with CheckService

use of org.apache.felix.ipojo.runtime.core.services.CheckService in project felix by apache.

the class TestImmediateLifeCycleController method testOne.

@Test
public void testOne() {
    Properties props = new Properties();
    props.put("conf", "foo");
    props.put("instance.name", "under1");
    under = ipojoHelper.createComponentInstance("LFC-Test-Immediate", props);
    // The conf is correct, the PS must be provided
    ServiceReference ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), "under1");
    assertNotNull("Check service availability -1", ref);
    CheckService cs = (CheckService) osgiHelper.getRawServiceObject(ref);
    assertTrue("Check state 1", cs.check());
    bc.ungetService(ref);
    // Reconfigure the instance with a bad configuration
    // Bar is a bad conf
    props.put("conf", "bar");
    try {
        factory.reconfigure(props);
    } catch (Exception e) {
        fail("The reconfiguration is not unacceptable and seems unacceptable : " + props);
    }
    // The instance should now be invalid
    assertFalse("Check service availability -2", ipojoHelper.isServiceAvailableByName(CheckService.class.getName(), "under1"));
    // Reconfigure the instance with a valid configuration
    // Bar is a bad conf
    props.put("conf", "foo");
    try {
        factory.reconfigure(props);
    } catch (Exception e) {
        fail("The reconfiguration is not unacceptable and seems unacceptable (2) : " + props);
    }
    ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), "under1");
    assertNotNull("Check service availability -3", ref);
    cs = (CheckService) osgiHelper.getRawServiceObject(ref);
    assertTrue("Check state 2", cs.check());
    bc.ungetService(ref);
    under.dispose();
}
Also used : Properties(java.util.Properties) CheckService(org.apache.felix.ipojo.runtime.core.services.CheckService) ServiceReference(org.osgi.framework.ServiceReference) Test(org.junit.Test)

Example 42 with CheckService

use of org.apache.felix.ipojo.runtime.core.services.CheckService in project felix by apache.

the class TestImmediateLifeCycleController method testTwo.

@Test
public void testTwo() {
    Properties props = new Properties();
    props.put("conf", "bar");
    props.put("instance.name", "under2");
    under = ipojoHelper.createComponentInstance("LFC-Test-Immediate", props);
    assertEquals("check under state", under.getState(), ComponentInstance.INVALID);
    // The conf is incorrect, the PS must not be provided
    assertFalse("Check service availability -2", ipojoHelper.isServiceAvailableByName(CheckService.class.getName(), "under2"));
    // Reconfigure the instance with a correct configuration
    props.put("conf", "foo");
    try {
        factory.reconfigure(props);
    } catch (Exception e) {
        fail("The reconfiguration is not unacceptable and seems unacceptable : " + props);
    }
    ServiceReference ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), "under2");
    assertNotNull("Check service availability -2", ref);
    CheckService cs = (CheckService) osgiHelper.getRawServiceObject(ref);
    assertTrue("Check state ", cs.check());
    bc.ungetService(ref);
    under.dispose();
}
Also used : Properties(java.util.Properties) CheckService(org.apache.felix.ipojo.runtime.core.services.CheckService) ServiceReference(org.osgi.framework.ServiceReference) Test(org.junit.Test)

Example 43 with CheckService

use of org.apache.felix.ipojo.runtime.core.services.CheckService in project felix by apache.

the class TestLifeCycleController method testOne.

@Test
public void testOne() {
    Properties props = new Properties();
    props.put("conf", "foo");
    props.put("instance.name", "under1");
    under = ipojoHelper.createComponentInstance("LFC-Test", props);
    // The conf is correct, the PS must be provided
    ServiceReference ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), "under1");
    assertNotNull("Check service availability -1", ref);
    CheckService cs = (CheckService) osgiHelper.getRawServiceObject(ref);
    assertTrue("Check state 1", cs.check());
    bc.ungetService(ref);
    // Reconfigure the instance with a bad configuration
    // Bar is a bad conf
    props.put("conf", "bar");
    try {
        factory.reconfigure(props);
    } catch (Exception e) {
        fail("The reconfiguration is not unacceptable and seems unacceptable : " + props);
    }
    // The instance should now be invalid
    assertFalse("Check service availability -2", ipojoHelper.isServiceAvailableByName(CheckService.class.getName(), "under1"));
    // Reconfigure the instance with a valid configuration
    // Bar is a bad conf
    props.put("conf", "foo");
    try {
        factory.reconfigure(props);
    } catch (Exception e) {
        fail("The reconfiguration is not unacceptable and seems unacceptable (2) : " + props);
    }
    ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), "under1");
    assertNotNull("Check service availability -3", ref);
    cs = (CheckService) osgiHelper.getRawServiceObject(ref);
    assertTrue("Check state 2", cs.check());
    bc.ungetService(ref);
    under.dispose();
}
Also used : Properties(java.util.Properties) CheckService(org.apache.felix.ipojo.runtime.core.services.CheckService) ServiceReference(org.osgi.framework.ServiceReference) Test(org.junit.Test)

Example 44 with CheckService

use of org.apache.felix.ipojo.runtime.core.services.CheckService in project felix by apache.

the class TestBothProperties method testConfigurationObj.

@Test
public void testConfigurationObj() {
    ServiceReference ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance.getInstanceName());
    assertNotNull("Test check service availability", ref);
    CheckService check = (CheckService) osgiHelper.getRawServiceObject(ref);
    Properties props = check.getProps();
    String s = (String) props.get("string");
    String[] ss = (String[]) props.get("strings");
    assertEquals("Check string", s, "foo");
    assertEquals("Check strings 0", ss[0], "foo");
    assertEquals("Check strings 1", ss[1], "bar");
    assertEquals("Check strings 2", ss[2], "baz");
    Integer upString = (Integer) props.get("upstring");
    Integer upStrings = (Integer) props.get("upstrings");
    assertEquals("Check upString", upString, new Integer(1));
    assertEquals("Check upStrings", upStrings, new Integer(1));
    reconfigure(instance);
    ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance.getInstanceName());
    assertNotNull("Test check service availability", ref);
    check = (CheckService) osgiHelper.getRawServiceObject(ref);
    props = check.getProps();
    s = (String) props.get("string");
    ss = (String[]) props.get("strings");
    assertEquals("2) Check string", s, "bar");
    assertEquals("2) Check strings 0", ss[0], "baz");
    assertEquals("2) Check strings 1", ss[1], "bar");
    assertEquals("2) Check strings 2", ss[2], "foo");
    upString = (Integer) props.get("upstring");
    upStrings = (Integer) props.get("upstrings");
    assertEquals("2) Check upstring", upString, new Integer(2));
    assertEquals("2) Check upstrings", upStrings, new Integer(2));
}
Also used : CheckService(org.apache.felix.ipojo.runtime.core.services.CheckService) Properties(java.util.Properties) ServiceReference(org.osgi.framework.ServiceReference) Test(org.junit.Test)

Example 45 with CheckService

use of org.apache.felix.ipojo.runtime.core.services.CheckService in project felix by apache.

the class TestBothProperties method testConfigurationPrimitiveArraysNoValue.

@Test
public void testConfigurationPrimitiveArraysNoValue() {
    ServiceReference ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance2.getInstanceName());
    assertNotNull("Test check service availability", ref);
    CheckService check = (CheckService) osgiHelper.getRawServiceObject(ref);
    Properties props = check.getProps();
    byte[] b = (byte[]) props.get("bs");
    short[] s = (short[]) props.get("ss");
    int[] i = (int[]) props.get("is");
    long[] l = (long[]) props.get("ls");
    double[] d = (double[]) props.get("ds");
    float[] f = (float[]) props.get("fs");
    char[] c = (char[]) props.get("cs");
    boolean[] bool = (boolean[]) props.get("bools");
    assertNull("Check b nullity", b);
    assertNull("Check s nullity", s);
    assertNull("Check i nullity", i);
    assertNull("Check l nullity", l);
    assertNull("Check d nullity", d);
    assertNull("Check f nullity", f);
    assertNull("Check c nullity", c);
    assertNull("Check bool nullity", bool);
    Integer upb = (Integer) props.get("upbs");
    Integer ups = (Integer) props.get("upss");
    Integer upi = (Integer) props.get("upis");
    Integer upl = (Integer) props.get("upls");
    Integer upd = (Integer) props.get("upds");
    Integer upf = (Integer) props.get("upfs");
    Integer upc = (Integer) props.get("upcs");
    Integer upbool = (Integer) props.get("upbools");
    assertEquals("Check upb", upb, new Integer(0));
    assertEquals("Check ups", ups, new Integer(0));
    assertEquals("Check upi", upi, new Integer(0));
    assertEquals("Check upl", upl, new Integer(0));
    assertEquals("Check upd", upd, new Integer(0));
    assertEquals("Check upf", upf, new Integer(0));
    assertEquals("Check upc", upc, new Integer(0));
    assertEquals("Check upbool", upbool, new Integer(0));
    reconfigure(instance2);
    ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance2.getInstanceName());
    assertNotNull("Test check service availability", ref);
    check = (CheckService) osgiHelper.getRawServiceObject(ref);
    props = check.getProps();
    b = (byte[]) props.get("bs");
    s = (short[]) props.get("ss");
    i = (int[]) props.get("is");
    l = (long[]) props.get("ls");
    d = (double[]) props.get("ds");
    f = (float[]) props.get("fs");
    c = (char[]) props.get("cs");
    bool = (boolean[]) props.get("bools");
    assertEquals("2) Check b 0", b[0], 3);
    assertEquals("2) Check b 1", b[1], 2);
    assertEquals("2) Check b 2", b[2], 1);
    assertEquals("2) Check s 0", s[0], 3);
    assertEquals("2) Check s 1", s[1], 2);
    assertEquals("2) Check s 2", s[2], 1);
    assertEquals("2) Check i 0", i[0], 3);
    assertEquals("2) Check i 1", i[1], 2);
    assertEquals("2) Check i 2", i[2], 1);
    assertEquals("2) Check l 0", l[0], 3);
    assertEquals("2) Check l 1", l[1], 2);
    assertEquals("2) Check l 2", l[2], 1);
    assertEquals("2) Check d 0", d[0], 3.0, 0);
    assertEquals("2) Check d 1", d[1], 2.0, 0);
    assertEquals("2) Check d 2", d[2], 1.0, 0);
    assertEquals("2) Check f 0", f[0], 3, 0);
    assertEquals("2) Check f 1", f[1], 2, 0);
    assertEquals("2) Check f 2", f[2], 1, 0);
    assertEquals("2) Check c 0", c[0], 'c');
    assertEquals("2) Check c 1", c[1], 'b');
    assertEquals("2) Check c 2", c[2], 'a');
    assertFalse("2) Check bool 0", bool[0]);
    assertFalse("2) Check bool 1", bool[0]);
    assertFalse("2) Check bool 2", bool[0]);
    upb = (Integer) props.get("upbs");
    ups = (Integer) props.get("upss");
    upi = (Integer) props.get("upis");
    upl = (Integer) props.get("upls");
    upd = (Integer) props.get("upds");
    upf = (Integer) props.get("upfs");
    upc = (Integer) props.get("upcs");
    upbool = (Integer) props.get("upbools");
    assertEquals("2) Check upb", upb, new Integer(1));
    assertEquals("2) Check ups", ups, new Integer(1));
    assertEquals("2) Check upi", upi, new Integer(1));
    assertEquals("2) Check upl", upl, new Integer(1));
    assertEquals("2) Check upd", upd, new Integer(1));
    assertEquals("2) Check upf", upf, new Integer(1));
    assertEquals("2) Check upc", upc, new Integer(1));
    assertEquals("2) Check upbool", upbool, new Integer(1));
}
Also used : CheckService(org.apache.felix.ipojo.runtime.core.services.CheckService) Properties(java.util.Properties) ServiceReference(org.osgi.framework.ServiceReference) Test(org.junit.Test)

Aggregations

CheckService (org.apache.felix.ipojo.runtime.core.services.CheckService)124 Test (org.junit.Test)122 ServiceReference (org.osgi.framework.ServiceReference)90 Properties (java.util.Properties)87 ComponentInstance (org.apache.felix.ipojo.ComponentInstance)50 FooService (org.apache.felix.ipojo.runtime.core.services.FooService)25 BundleContext (org.osgi.framework.BundleContext)20 Factory (org.apache.felix.ipojo.Factory)11 ServiceContext (org.apache.felix.ipojo.ServiceContext)10 InvalidSyntaxException (org.osgi.framework.InvalidSyntaxException)10 PrimitiveInstanceDescription (org.apache.felix.ipojo.PrimitiveInstanceDescription)6 Architecture (org.apache.felix.ipojo.architecture.Architecture)6 Hashtable (java.util.Hashtable)5 BaseTest (org.ow2.chameleon.testing.helpers.BaseTest)4 ProvidedServiceDescription (org.apache.felix.ipojo.handlers.providedservice.ProvidedServiceDescription)2 ProvidedServiceHandlerDescription (org.apache.felix.ipojo.handlers.providedservice.ProvidedServiceHandlerDescription)2 BarService (org.apache.felix.ipojo.runtime.core.services.BarService)2 CallbackCheckService (org.apache.felix.ipojo.runtime.core.services.CallbackCheckService)2 Before (org.junit.Before)2 List (java.util.List)1