Package org.apache.felix.ipojo.test.scenarios.service.dependency.inner

Source Code of org.apache.felix.ipojo.test.scenarios.service.dependency.inner.InnerProxyMixTest

package org.apache.felix.ipojo.test.scenarios.service.dependency.inner;

import org.apache.felix.ipojo.ComponentInstance;
import org.apache.felix.ipojo.junit4osgi.OSGiTestCase;
import org.apache.felix.ipojo.junit4osgi.helpers.IPOJOHelper;
import org.apache.felix.ipojo.test.scenarios.component.inner.C1;
import org.apache.felix.ipojo.test.scenarios.component.inner.C2;
import org.apache.felix.ipojo.test.scenarios.component.inner.C3;

public class InnerProxyMixTest extends OSGiTestCase {

  public static String C1 = C1.class.getName();
  public static String C2 = C2.class.getName();
  public static String C3 = C3.class.getName();

  IPOJOHelper ipojo;
  private ComponentInstance instancec1;
  private ComponentInstance instancec2;
  private ComponentInstance instancec3;

  public void setUp() {
    ipojo = new IPOJOHelper(this);
    // Create the instances
    instancec1 = ipojo.createComponentInstance(C1);
    instancec2 = ipojo.createComponentInstance(C2);
    instancec3 = ipojo.createComponentInstance(C3);
  }

  public void tearDown() {
    ipojo.dispose();
  }

  public void testMix() {
    // Check that everything is OK
    assertEquals(ComponentInstance.VALID, instancec1.getState());
    assertEquals(ComponentInstance.VALID, instancec2.getState());
    assertEquals(ComponentInstance.VALID, instancec3.getState());

    // Call C3
    C3 svc = (C3) getServiceObject(C3, null);
    assertNotNull(svc);
    assertEquals("called", svc.getFilter().authenticate());

    // So far, all right

    //We stop c1 and c2.
    instancec1.stop();
    instancec2.stop();

    assertEquals(ComponentInstance.INVALID, instancec3.getState()); // C2 dependency invalid

    instancec1.start();
    instancec2.start();

    // Check that everything is OK
    assertEquals(ComponentInstance.VALID, instancec1.getState());
    assertEquals(ComponentInstance.VALID, instancec2.getState());
    assertEquals(ComponentInstance.VALID, instancec3.getState());

    // Call C3
    svc = (C3) getServiceObject(C3, null);
    assertNotNull(svc);
    assertEquals("called", svc.getFilter().authenticate());
  }

}
TOP

Related Classes of org.apache.felix.ipojo.test.scenarios.service.dependency.inner.InnerProxyMixTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.