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
20
21
22 import static org.junit.Assert.assertEquals;
23 import static org.junit.Assert.assertNotNull;
24 import static org.junit.Assert.assertTrue;
25
26 import java.io.File;
27 import java.util.Vector;
28
29 import javax.servlet.ServletConfig;
30 import javax.servlet.http.HttpServletResponse;
31
32 import org.apache.fulcrum.intake.IntakeService;
33 import org.apache.fulcrum.intake.model.Group;
34 import org.apache.fulcrum.parser.DefaultParameterParser;
35 import org.apache.turbine.om.security.User;
36 import org.apache.turbine.services.TurbineServices;
37 import org.apache.turbine.services.rundata.RunDataService;
38 import org.apache.turbine.test.BaseTestCase;
39 import org.apache.turbine.test.EnhancedMockHttpServletRequest;
40 import org.apache.turbine.util.RunData;
41 import org.apache.turbine.util.TurbineConfig;
42 import org.junit.AfterClass;
43 import org.junit.BeforeClass;
44 import org.junit.Test;
45
46 import com.mockobjects.servlet.MockHttpServletResponse;
47 import com.mockobjects.servlet.MockHttpSession;
48 import com.mockobjects.servlet.MockServletConfig;
49
50
51
52
53
54
55
56 public class IntakeToolTest extends BaseTestCase
57 {
58 private static TurbineConfig tc = null;
59
60 @Test public void testGet() throws Exception
61 {
62 IntakeTool intakeTool = new IntakeTool();
63 intakeTool.init(getRunData());
64 File file = new File("./target/appData.ser");
65 assertTrue(
66 "Make sure serialized data file exists:" + file,
67 file.exists());
68 Group group = intakeTool.get("LoginGroup","loginGroupKey");
69 assertNotNull(group);
70 assertEquals("loginGroupKey", group.getGID());
71 assertEquals("LoginGroup", group.getIntakeGroupName());
72 }
73
74
75
76
77
78
79 @Test public void testRefresh() throws Exception
80 {
81 IntakeTool intakeTool = new IntakeTool();
82 intakeTool.init(getRunData());
83 int numberOfGroups = intakeTool.getGroups().size();
84 intakeTool.refresh();
85 assertEquals(numberOfGroups,intakeTool.getGroups().size());
86 }
87 private RunData getRunData() throws Exception
88 {
89 RunDataService rds =
90 (RunDataService) TurbineServices.getInstance().getService(
91 RunDataService.SERVICE_NAME);
92 EnhancedMockHttpServletRequest request =
93 new EnhancedMockHttpServletRequest();
94 request.setupServerName("bob");
95 request.setupGetProtocol("http");
96 request.setupScheme("scheme");
97 request.setupPathInfo("damn");
98 request.setupGetServletPath("damn2");
99 request.setupGetContextPath("wow");
100 request.setupGetContentType("html/text");
101 request.setupAddHeader("Content-type", "html/text");
102 request.setupAddHeader("Accept-Language", "en-US");
103 Vector<String> v = new Vector<String>();
104 request.setupGetParameterNames(v.elements());
105 MockHttpSession session = new MockHttpSession();
106 session.setupGetAttribute(User.SESSION_KEY, null);
107 request.setSession(session);
108 HttpServletResponse response = new MockHttpServletResponse();
109 ServletConfig config = new MockServletConfig();
110 RunData runData = rds.getRunData(request, response, config);
111 assertEquals("Verify we are using Fulcrum parameter parser",DefaultParameterParser.class,runData.getParameters().getClass());
112 return runData;
113 }
114
115 @BeforeClass
116 public static void setUp() throws Exception
117 {
118 tc = new TurbineConfig(".", "/conf/test/TestFulcrumComponents.properties");
119 tc.initialize();
120 TurbineServices.getInstance().getService(IntakeService.class.getName());
121 }
122
123 @AfterClass
124 public static void tearDown() throws Exception
125 {
126 if (tc != null)
127 {
128 tc.dispose();
129 }
130 }
131 }