use of org.jboss.arquillian.container.weld.embedded.mock.FlatDeployment in project core by weld.
the class SubclassedComponentDescriptorTest method prepareContainer.
@BeforeClass
public void prepareContainer() {
final EjbDescriptor<Foo> fooDescriptor = new EjbDescriptorImpl<Foo>(Foo.class, Foo.class, EnhancedFoo.class, SessionBeanType.STATEFUL);
final EjbDescriptor<Bar> barDescriptor = new EjbDescriptorImpl<Bar>(Bar.class, BarLocal.class, EnhancedBar.class, SessionBeanType.STATEFUL);
final EjbDescriptor<Baz> bazDescriptor = new EjbDescriptorImpl<Baz>(Baz.class, Baz.class, EnhancedBaz.class, null);
final BeanDeploymentArchive bda = new BeanDeploymentArchiveImpl("1", Foo.class, Bar.class, BarLocal.class, BarDecorator.class, BarInterceptor.class, BarInterceptorBinding.class, Baz.class) {
@Override
public Collection<EjbDescriptor<?>> getEjbs() {
return ImmutableSet.<EjbDescriptor<?>>of(fooDescriptor, barDescriptor, bazDescriptor);
}
};
final Deployment deployment = new FlatDeployment(bda) {
@Override
public BeanDeploymentArchive loadBeanDeploymentArchive(Class<?> beanClass) {
return bda;
}
@Override
protected void configureServices(Environment environment) {
super.configureServices(environment);
getServices().add(EjbServices.class, new MockEjbServices());
}
};
container = new TestContainer(deployment).startContainer();
manager = (BeanManagerImpl) container.getBeanManager(bda);
}
use of org.jboss.arquillian.container.weld.embedded.mock.FlatDeployment in project core by weld.
the class StaticResourceTest method testStaticResourceInjectionWithInjectionServices.
@Test
public void testStaticResourceInjectionWithInjectionServices() {
// Create the BDA in which we will deploy FooExtension. This BDA does not have access to bda2
final BeanDeploymentArchive bda = new BeanDeploymentArchiveImpl("1", InjectedClass.class) {
@Override
protected void configureServices(Environment environment) {
getServices().add(InjectionServices.class, new TestInjectionServices());
}
};
// Create a deployment, that we can use to mirror the structure of one Extension inside a BDA, and one outside
Deployment deployment = new FlatDeployment(new BeanDeploymentArchive[] { bda }) {
@Override
protected void configureServices(Environment environment) {
super.configureServices(environment);
getServices().add(TransactionServices.class, new TestTransactionServices());
}
@Override
public BeanDeploymentArchive loadBeanDeploymentArchive(Class<?> beanClass) {
return bda;
}
};
final WeldBootstrap bootstrap = new WeldBootstrap();
bootstrap.startContainer(Environments.EE, deployment).startInitialization().deployBeans().validateBeans().endInitialization();
try {
final BeanManagerImpl manager = bootstrap.getManager(bda);
final SpecialResource resource = manager.instance().select(SpecialResource.class).get();
Assert.assertNotNull(resource);
Assert.assertEquals(resource.getName(), TestInjectionServices.RESOURCE_NAME);
} finally {
bootstrap.shutdown();
}
}
use of org.jboss.arquillian.container.weld.embedded.mock.FlatDeployment in project core by weld.
the class AbstractClusterTest method bootstrapContainer.
protected TestContainer bootstrapContainer(int id, Collection<Class<?>> classes) {
// Bootstrap container
SwitchableSingletonProvider.use(id);
TestContainer container = new TestContainer(new FlatDeployment(new BeanDeploymentArchiveImpl(classes)));
container.getDeployment().getServices().add(ProxyServices.class, new SwitchableCLProxyServices());
container.startContainer();
container.ensureRequestActive();
return container;
}
use of org.jboss.arquillian.container.weld.embedded.mock.FlatDeployment in project core by weld.
the class TransitiveResolutionTest method testDecoratorEnabledInWarButPackagedInEjbJar.
/*
* WELD-507
*/
@Test
public void testDecoratorEnabledInWarButPackagedInEjbJar() {
// Create the BDA in which we will deploy Foo. This is equivalent to a ejb
// jar
final BeanDeploymentArchiveImpl ejbJar = new BeanDeploymentArchiveImpl("ejb-jar", Blah.class, BlahDecorator.class, BlahImpl.class);
// Create the BDA in which we will deploy Bar. This is equivalent to a war
BeansXml beansXml = new BeansXmlImpl(null, null, Collections.singletonList(BlahDecorator.class.getName()), null);
final BeanDeploymentArchiveImpl war = new BeanDeploymentArchiveImpl("war", beansXml, BlahImpl2.class);
// The war can access the ejb jar
war.getBeanDeploymentArchives().add(ejbJar);
// Create a deployment, any other classes are put into the ejb-jar (not
// relevant to test)
Deployment deployment = new FlatDeployment(new BeanDeploymentArchive[] { war, ejbJar }) {
public BeanDeploymentArchive loadBeanDeploymentArchive(Class<?> beanClass) {
return ejbJar;
}
};
TestContainer container = new TestContainer(deployment);
container.startContainer();
container.ensureRequestActive();
// Get the bean manager for war and ejb jar
BeanManager warBeanManager = container.getBeanManager(war);
BeanManager ejbJarBeanManager = container.getBeanManager(ejbJar);
BasicInterceptor.reset();
Blah blah = getReference(ejbJarBeanManager, Blah.class);
blah.ping(10);
assertEquals(10, blah.getI());
BasicInterceptor.reset();
blah = getReference(warBeanManager, Blah.class, new AnnotationLiteral<Baz>() {
});
blah.ping(10);
assertEquals(11, blah.getI());
container.stopContainer();
}
use of org.jboss.arquillian.container.weld.embedded.mock.FlatDeployment in project core by weld.
the class TransitiveResolutionTest method testBeansXmlIsolation.
/*
* description = "WELD-319"
*/
@Test
public void testBeansXmlIsolation() {
BeanDeploymentArchiveImpl jar1 = new BeanDeploymentArchiveImpl("first-jar", new BeansXmlImpl(Collections.singletonList(Alt.class.getName()), null, null, null), Alt.class);
BeanDeploymentArchiveImpl jar2 = new BeanDeploymentArchiveImpl("second-jar", Alt2.class);
BeanDeploymentArchiveImpl war = new BeanDeploymentArchiveImpl("war");
war.getBeanDeploymentArchives().add(jar1);
war.getBeanDeploymentArchives().add(jar2);
Deployment deployment = new FlatDeployment(war);
TestContainer container = null;
try {
container = new TestContainer(deployment).startContainer().ensureRequestActive();
BeanManagerImpl warBeanManager = (BeanManagerImpl) container.getBeanManager(war);
BeanManagerImpl jar1BeanManager = (BeanManagerImpl) container.getBeanManager(jar1);
BeanManagerImpl jar2BeanManager = (BeanManagerImpl) container.getBeanManager(jar2);
Assert.assertTrue(warBeanManager.getEnabled().getAlternativeClasses().isEmpty());
Assert.assertFalse(jar1BeanManager.getEnabled().getAlternativeClasses().isEmpty());
Assert.assertTrue(jar2BeanManager.getEnabled().getAlternativeClasses().isEmpty());
} finally {
if (container != null) {
container.stopContainer();
}
}
}
Aggregations