001: /*
002: * Copyright 2007 Gerd Ziegler (www.gerdziegler.de)
003: * Licensed under the Apache License, Version 2.0 (the "License");
004: * you may not use this file except in compliance with the License.
005: * You may obtain a copy of the License at
006: * http://www.apache.org/licenses/LICENSE-2.0
007: * Unless required by applicable law or agreed to in writing,
008: * software distributed under the License is distributed on an
009: * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
010: * either express or implied. See the License for the specific
011: * language governing permissions and limitations under the License.
012: * 22.09.2007
013: * @author www.gerdziegler.de
014: */
015: package org.ztemplates.test.actions.urlhandler.callbacks.test2;
016:
017: import junit.framework.TestCase;
018:
019: import org.apache.log4j.Logger;
020: import org.ztemplates.actions.urlhandler.ZIUrlHandler;
021: import org.ztemplates.actions.urlhandler.tree.ZUrlHandlerFactory;
022: import org.ztemplates.classpath.ZClassRepository;
023: import org.ztemplates.classpath.ZIClassRepository;
024:
025: public class ProcessorTest extends TestCase {
026: static Logger log = Logger.getLogger(ProcessorTest.class);
027:
028: ZIClassRepository classRepo;
029:
030: ZIUrlHandler proc;
031:
032: protected void setUp() throws Exception {
033: super .setUp();
034: classRepo = new ZClassRepository(ProcessorTest.class
035: .getPackage().getName());
036:
037: proc = ZUrlHandlerFactory.create(classRepo,
038: ZUrlHandlerFactory.defaultSecurityService);
039: }
040:
041: protected void tearDown() throws Exception {
042: classRepo = null;
043: proc = null;
044: super .tearDown();
045: }
046:
047: public void testNestedType1() throws Exception {
048: Handler obj = (Handler) proc.process("/base/nested/katzeklo");
049: assertEquals(NestedHandlerImpl.class, obj.getNested()
050: .getClass());
051: }
052:
053: public void testNestedType2() throws Exception {
054: Handler obj = (Handler) proc.process("/base/nested2/katzeklo-");
055: assertEquals(NestedHandlerImpl2.class, obj.getNested()
056: .getClass());
057: }
058:
059: public void testBeforeCalled() throws Exception {
060: Handler obj = (Handler) proc.process("/base/nested/katzeklo");
061: assertEquals(1, obj.getBeforeCalled());
062: }
063:
064: public void testAfterCalled() throws Exception {
065: Handler obj = (Handler) proc.process("/base/nested/katzeklo");
066: assertEquals(1, obj.getAfterCalled());
067: }
068:
069: public void testBeforeNestedCalled() throws Exception {
070: Handler obj = (Handler) proc.process("/base/nested/katzeklo");
071: assertEquals(1, obj.getBeforeNestedCalled());
072: }
073:
074: public void testAfterNestedCalled() throws Exception {
075: Handler obj = (Handler) proc.process("/base/nested/katzeklo");
076: assertEquals(1, obj.getAfterNestedCalled());
077: }
078:
079: public void testInitNestedCalled() throws Exception {
080: Handler obj = (Handler) proc.process("/base/nested/katzeklo");
081: assertEquals(1, obj.getInitNestedCalled());
082: }
083:
084: public void testNestedBeforeCalled() throws Exception {
085: Handler obj = (Handler) proc.process("/base/nested/katzeklo");
086: assertEquals(1, obj.getNested().getBeforeCalled());
087: }
088:
089: public void testNestedAfterCalled() throws Exception {
090: Handler obj = (Handler) proc.process("/base/nested/katzeklo");
091: assertEquals(1, obj.getNested().getAfterCalled());
092: }
093:
094: public void testNestedBeforeValueCalled() throws Exception {
095: Handler obj = (Handler) proc.process("/base/nested/katzeklo");
096: assertEquals(1, obj.getNested().getBeforeValueCalled());
097: }
098:
099: public void testNestedBeforeValueNotCalled() throws Exception {
100: Handler obj = (Handler) proc.process("/base/nested/katzeklo");
101: assertNull(obj.getTree());
102: assertEquals(0, obj.getBeforeTreeCalled());
103: }
104:
105: public void testNestedAfterValueCalled() throws Exception {
106: Handler obj = (Handler) proc.process("/base/nested/katzeklo");
107: assertEquals(1, obj.getNested().getAfterValueCalled());
108: }
109:
110: public void testBeforeTreeCalled() throws Exception {
111: Handler obj = (Handler) proc
112: .process("/base/nested/katzeklo/tree/123");
113: assertEquals(1, obj.getBeforeTreeCalled());
114: }
115:
116: public void testAfterTreeCalled() throws Exception {
117: Handler obj = (Handler) proc
118: .process("/base/nested/katzeklo/tree/123");
119: assertEquals(1, obj.getAfterTreeCalled());
120: }
121:
122: public void testBeforeTreeCalled_After_AfterNestedCalled()
123: throws Exception {
124: Handler obj = (Handler) proc
125: .process("/base/nested/katzeklo/tree/123");
126: assertTrue(obj.getBeforeTreeCalled_After_AfterNestedCalled());
127: }
128:
129: public void testTreeValue() throws Exception {
130: Handler obj = (Handler) proc
131: .process("/base/nested/katzeklo/tree/123");
132: assertEquals("123", obj.getTree().getTreeId());
133: }
134:
135: public void testNested2WithTree() throws Exception {
136: Handler obj = (Handler) proc
137: .process("/base/nested2/katzeklo/tree/123-");
138: NestedHandlerImpl2 impl2 = (NestedHandlerImpl2) obj.getNested();
139: assertEquals("123", impl2.getTree().getTreeId());
140: assertNull(obj.getTree());
141: }
142:
143: public void testNested3Consumed() throws Exception {
144: Handler obj = (Handler) proc.process("/base/nested3");
145: assertNull(obj.getNested());
146: }
147:
148: // public void test2() throws Exception
149: // {
150: // ZUrlHandlerRepository up =
151: // ZUrlHandlerRepository.create(NestedHandlerTest.class.getPackage().getName());
152: // Handler obj = (Handler) up.getHandler("audiobooks/nested/katzeklo");
153: // assertNotNull(obj);
154: // assertEquals("katzeklo", obj.getNested().getValue());
155: // assertEquals(1, obj.getBeforeCalled());
156: // assertEquals(1, obj.getAfterCalled());
157: // assertEquals(1, obj.getBeforeNestedCalled());
158: // assertEquals(1, obj.getAfterNestedCalled());
159: //
160: // obj.getNested().setValue("froh");
161: // ZUrl url = new ZUrl(obj);
162: // String s = url.toString();
163: // log.debug(s);
164: //
165: // Handler obj2 = (Handler) up.getHandler(s);
166: // assertEquals("froh", obj2.getNested().getValue());
167: // assertEquals(1, obj2.getBeforeCalled());
168: // assertEquals(1, obj2.getAfterCalled());
169: // assertEquals(1, obj2.getNested().getBeforeCalled());
170: // assertEquals(1, obj2.getNested().getAfterCalled());
171: // assertEquals(1, obj2.getNested().getBeforeValueCalled());
172: // assertEquals(1, obj2.getNested().getAfterValueCalled());
173: // }
174: }
|