Repository: tomee Updated Branches: refs/heads/develop 6fb3304aa -> 13f94a951
TOMEE-1518 test for previous rules Project: http://git-wip-us.apache.org/repos/asf/tomee/repo Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/13f94a95 Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/13f94a95 Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/13f94a95 Branch: refs/heads/develop Commit: 13f94a951e7d0b7307a5609e60b11f1d53de759f Parents: 6fb3304 Author: Romain Manni-Bucau <[email protected]> Authored: Sun Feb 22 22:20:31 2015 +0100 Committer: Romain Manni-Bucau <[email protected]> Committed: Sun Feb 22 22:20:31 2015 +0100 ---------------------------------------------------------------------- .../junit/ContainerApplicationRuleTest.java | 63 ++++++++++++++++++++ 1 file changed, 63 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tomee/blob/13f94a95/container/openejb-core/src/test/java/org/apache/openejb/junit/ContainerApplicationRuleTest.java ---------------------------------------------------------------------- diff --git a/container/openejb-core/src/test/java/org/apache/openejb/junit/ContainerApplicationRuleTest.java b/container/openejb-core/src/test/java/org/apache/openejb/junit/ContainerApplicationRuleTest.java new file mode 100644 index 0000000..af9f6fa --- /dev/null +++ b/container/openejb-core/src/test/java/org/apache/openejb/junit/ContainerApplicationRuleTest.java @@ -0,0 +1,63 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.openejb.junit; + +import org.apache.openejb.assembler.classic.Assembler; +import org.apache.openejb.config.ConfigurationFactory; +import org.apache.openejb.loader.SystemInstance; +import org.apache.openejb.testing.*; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.RuleChain; +import org.junit.rules.TestRule; + +import javax.inject.Inject; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +public class ContainerApplicationRuleTest { + private final ApplicationRule applicationRule = new ApplicationRule(new App()); + + @Rule + public final TestRule rule = RuleChain.outerRule(new ContainerRule(new Container())).around(applicationRule); + + @Test + public void run() { + assertTrue(SystemInstance.isInitialized()); + assertNotNull(SystemInstance.get().getComponent(Assembler.class)); + assertNotNull(SystemInstance.get().getComponent(ConfigurationFactory.class)); + assertNotNull(applicationRule.getInstance(App.class)); + assertEquals("ok", applicationRule.getInstance(App.class).bean.val()); + } + + @ContainerProperties(@ContainerProperties.Property(name = "test-ContainerApplicationRuleTest", value = "success")) + public static class Container { + } + @org.apache.openejb.testing.Classes(cdi = true, innerClassesAsBean = true) + public static class App { + @Inject + private App.ABean bean; + + public static class ABean { + String val() { + return "ok"; + } + } + } +}
