/* * Copyright 2004-2015 the Seasar Foundation and the Others. * * Licensed 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.seasar.framework.unit; import java.io.PrintWriter; import java.util.Date; import java.util.HashMap; import java.util.List; import javax.servlet.ServletOutputStream; import junitx.framework.ArrayAssert; import org.seasar.framework.container.TooManyRegistrationRuntimeException; import org.seasar.framework.container.impl.S2ContainerBehavior; import org.seasar.framework.container.warmdeploy.WarmdeployBehavior; import org.seasar.framework.env.Env; import org.seasar.framework.mock.servlet.MockHttpServletResponse; /** * @author higa * */ public class S2FrameworkTestCaseTest extends S2FrameworkTestCase { private static final String J2EE_PATH = "S2FrameworkTestCaseTest_j2ee.dicon"; private boolean testAaaSetUpInvoked_ = false; private Date date_; private String ccc_; private HashMap bbb_; private Date ddd_; private List list1; /** * */ public S2FrameworkTestCaseTest() { } /** * @param name */ public S2FrameworkTestCaseTest(String name) { super(name); if (name.equals("testNotWarmdeploy")) { setWarmDeploy(false); } } /** * */ public void setUpAaa() { testAaaSetUpInvoked_ = true; } /** * */ public void testAaa() { assertEquals("1", true, testAaaSetUpInvoked_); } /** * */ public void tearDownAaa() { System.out.println("tearDownAaa"); } /** * */ public void setUpBbbTx() { include(J2EE_PATH); } /** * */ public void testBbbTx() { System.out.println("testBbbTx"); } /** * */ public void setUpBindField() { include(J2EE_PATH); register(Date.class); } /** * */ public void testBindField() { assertNotNull("1", date_); } /** * */ public void tearDownBindField() { assertNull(date_); } /** * */ public void setUpBindField2() { include("bbb.dicon"); } /** * */ public void testBindField2() { assertNotNull("1", bbb_); assertNotNull("2", ddd_); } /** * */ public void tearDownBindField2() { assertNull(bbb_); assertNull(ddd_); } /** * */ public void setUpBindField3() { include("ccc.dicon"); } /** * */ public void testBindField3() { assertNotNull("1", list1); } /** * */ public void tearDownBindField3() { assertNull(list1); } /** * */ public void testInclude() { include("aaa.dicon"); try { getComponent(Date.class); fail("1"); } catch (TooManyRegistrationRuntimeException ex) { System.out.println(ex); } } /** * */ public void testConvertPath() { assertEquals("org/seasar/framework/unit/aaa.dicon", convertPath("aaa.dicon")); assertEquals("j2ee.dicon", convertPath("j2ee.dicon")); assertEquals("notfound.dicon", convertPath("notfound.dicon")); } /** * */ public void setUpIsAssignableFrom() { include("bbb.dicon"); } /** * */ public void testIsAssignableFrom() { assertEquals("1", "hoge", ccc_); } /** * */ public void testEmptyComponent() { include("empty.dicon"); } /** * @throws Exception */ public void testEnv() throws Exception { assertEquals("env_ut.txt", Env.getFilePath()); assertEquals("ut", Env.getValue()); } /** * @throws Exception */ public void setUpWarmdeploy() throws Exception { include("aop.dicon"); } /** * @throws Exception */ public void testWarmdeploy() throws Exception { assertTrue(S2ContainerBehavior.getProvider() instanceof WarmdeployBehavior); assertNotNull(getComponent("fooDao")); } /** * @throws Exception */ public void testNotWarmdeploy() throws Exception { assertFalse(S2ContainerBehavior.getProvider() instanceof WarmdeployBehavior); } /** * @throws Exception */ public void testGetResponseString() throws Exception { final MockHttpServletResponse res = getResponse(); final PrintWriter writer = res.getWriter(); writer.write("ZXCV"); writer.write("abc"); assertEquals("ZXCVabc", res.getResponseString()); } /** * @throws Exception */ public void testGetResponseBytes() throws Exception { final MockHttpServletResponse res = getResponse(); final ServletOutputStream os = res.getOutputStream(); os.write(new byte[] { 3, 2, 1 }); os.write(new byte[] { 9, 8, 7, 6 }); final byte[] bytes = res.getResponseBytes(); assertEquals(7, bytes.length); ArrayAssert.assertEquals(new byte[] { 3, 2, 1, 9, 8, 7, 6 }, bytes); } /** * @return */ public String getRootDiconGetRootDicon() { return "aop.dicon"; } /** * @throws Throwable */ public void testGetRootDicon() throws Throwable { assertEquals("aop.dicon", resolveRootDicon()); assertEquals("aop.dicon", getContainer().getPath()); } /** * */ public static class Hoge { private String aaa; /** * @return Returns the aaa. */ public String getAaa() { return aaa; } /** * @param aaa * The aaa to set. */ public void setAaa(String aaa) { this.aaa = aaa; } } }