1 package org.apache.turbine.services.intake;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import java.io.File;
20 import java.util.Vector;
21
22 import javax.servlet.ServletConfig;
23 import javax.servlet.http.HttpServletResponse;
24
25 import org.apache.fulcrum.intake.IntakeService;
26 import org.apache.fulcrum.intake.model.Group;
27 import org.apache.fulcrum.parser.DefaultParameterParser;
28 import org.apache.turbine.om.security.User;
29 import org.apache.turbine.services.TurbineServices;
30 import org.apache.turbine.services.rundata.RunDataService;
31 import org.apache.turbine.test.BaseTestCase;
32 import org.apache.turbine.test.EnhancedMockHttpServletRequest;
33 import org.apache.turbine.util.RunData;
34 import org.apache.turbine.util.TurbineConfig;
35
36 import com.mockobjects.servlet.MockHttpServletResponse;
37 import com.mockobjects.servlet.MockHttpSession;
38 import com.mockobjects.servlet.MockServletConfig;
39
40 /***
41 * Unit test for Intake Tool, wrapping the Fulcrum Intake service.
42 *
43 * @author <a href="mailto:epugh@upstate.com">Eric Pugh</a>
44 * @version $Id: IntakeToolTest.java 349547 2005-11-28 23:02:03Z epugh $
45 */
46 public class IntakeToolTest extends BaseTestCase
47 {
48 private static TurbineConfig tc = null;
49 public IntakeToolTest(String name) throws Exception
50 {
51 super(name);
52 }
53 public void testGet() throws Exception
54 {
55 IntakeTool intakeTool = new IntakeTool();
56 intakeTool.init(getRunData());
57 File file = new File("./target/appData.ser");
58 assertTrue(
59 "Make sure serialized data file exists:" + file,
60 file.exists());
61 Group group = intakeTool.get("LoginGroup","loginGroupKey");
62 assertNotNull(group);
63 assertEquals("loginGroupKey", group.getGID());
64 assertEquals("LoginGroup", group.getIntakeGroupName());
65 }
66
67
68 /***
69 * Make sure refresh DOESN'T do anything
70 * @throws Exception
71 */
72 public void testRefresh() throws Exception
73 {
74 IntakeTool intakeTool = new IntakeTool();
75 intakeTool.init(getRunData());
76 int numberOfGroups = intakeTool.getGroups().size();
77 intakeTool.refresh();
78 assertEquals(numberOfGroups,intakeTool.getGroups().size());
79 }
80 private RunData getRunData() throws Exception
81 {
82 RunDataService rds =
83 (RunDataService) TurbineServices.getInstance().getService(
84 RunDataService.SERVICE_NAME);
85 EnhancedMockHttpServletRequest request =
86 new EnhancedMockHttpServletRequest();
87 request.setupServerName("bob");
88 request.setupGetProtocol("http");
89 request.setupScheme("scheme");
90 request.setupPathInfo("damn");
91 request.setupGetServletPath("damn2");
92 request.setupGetContextPath("wow");
93 request.setupGetContentType("html/text");
94 request.setupAddHeader("Content-type", "html/text");
95 request.setupAddHeader("Accept-Language", "en-US");
96 Vector v = new Vector();
97 request.setupGetParameterNames(v.elements());
98 MockHttpSession session = new MockHttpSession();
99 session.setupGetAttribute(User.SESSION_KEY, null);
100 request.setSession(session);
101 HttpServletResponse response = new MockHttpServletResponse();
102 ServletConfig config = new MockServletConfig();
103 RunData runData = rds.getRunData(request, response, config);
104 assertEquals("Verify we are using Fulcrum parameter parser",DefaultParameterParser.class,runData.getParameters().getClass());
105 return runData;
106 }
107
108 public void setUp() throws Exception
109 {
110 tc = new TurbineConfig(".", "/conf/test/TestFulcrumComponents.properties");
111 tc.initialize();
112 TurbineServices.getInstance().getService(IntakeService.class.getName());
113 }
114
115 public void tearDown() throws Exception
116 {
117 if (tc != null)
118 {
119 tc.dispose();
120 }
121 }
122 }