Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
AbstractIntegrationServiceTest |
|
| 0.0;0 |
1 | /** | |
2 | * Copyright 2010 The Kuali Foundation Licensed under the | |
3 | * Educational Community License, Version 2.0 (the "License"); you may | |
4 | * not use this file except in compliance with the License. You may | |
5 | * obtain a copy of the License at | |
6 | * | |
7 | * http://www.osedu.org/licenses/ECL-2.0 | |
8 | * | |
9 | * Unless required by applicable law or agreed to in writing, | |
10 | * software distributed under the License is distributed on an "AS IS" | |
11 | * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express | |
12 | * or implied. See the License for the specific language governing | |
13 | * permissions and limitations under the License. | |
14 | */ | |
15 | ||
16 | package org.kuali.student.common.test.spring; | |
17 | ||
18 | import org.junit.runner.RunWith; | |
19 | ||
20 | /** | |
21 | * This class will start a Jetty server and deploy an exploded war file | |
22 | * defined in @IntegrationServer annotation. | |
23 | * <p> | |
24 | * <b>@IntegrationServer</b> annotation takes the following parameters: | |
25 | * </p> | |
26 | * <ul> | |
27 | * <li><b>port</b> - Server port to deploy web application on e.g. 9090</li> | |
28 | * <li><b>webAppPath</b> - Webapp path of exploded war file e.g. brms-ws-1.0.0.war</li> | |
29 | * <li><b>contextPath</b> - Servlet context path e.g. brms-ws-1.0.0</li> | |
30 | * </ul> | |
31 | * <p> | |
32 | * The @SystemProperties and @Property annotation is used to set | |
33 | * System properties before starting the Jetty server. For instance, if you | |
34 | * want to set the catalina.base path or the URL or port of a service that is | |
35 | * different from what is specified in the file CXF configuration in the war | |
36 | * file. | |
37 | * </p> | |
38 | * <p> | |
39 | * <b>@SystemProperties</b> takes the following parameter: | |
40 | * </p> | |
41 | * <ul> | |
42 | * <li><b>properties</b> - List of <code>Property</code> to set</li> | |
43 | * </ul> | |
44 | * <p> | |
45 | * <b>@Property</b> takes the following parameter: | |
46 | * </p> | |
47 | * <ul> | |
48 | * <li><b>key</b> - Property key</li> | |
49 | * <li><b>value</b> - Property value</li> | |
50 | * </ul> | |
51 | * <p> | |
52 | * <b>Example 1:</b> Setup an integration test on port 8080 which is the same | |
53 | * port as specified in the application.properties file in the war file. | |
54 | * </p> | |
55 | * <pre> | |
56 | * @IntegrationServer( | |
57 | * port=8080, | |
58 | * webAppPath="../../../brms-ws/target/brms-ws-0.1.0-SNAPSHOT", | |
59 | * contextPath="/brms-ws-0.1.0-SNAPSHOT") | |
60 | * </pre> | |
61 | * | |
62 | * <b>Example 2:</b> Setup an integration test on port 9090 which is different | |
63 | * from what is specified in the application.properties file in the war file. | |
64 | * </p> | |
65 | * <pre> | |
66 | * @IntegrationServer( | |
67 | * port=9090, | |
68 | * webAppPath="../../../brms-ws/target/brms-ws-0.1.0-SNAPSHOT", | |
69 | * contextPath="/brms-ws-0.1.0-SNAPSHOT") | |
70 | * | |
71 | * @SystemProperties(properties={ | |
72 | * @Property( | |
73 | * key="ks.servicelocation.RuleManagementService", | |
74 | * value="http://localhost:9090/brms-ws-0.1.0-SNAPSHOT/services/RuleManagementService") | |
75 | * }) | |
76 | * </pre> | |
77 | * | |
78 | * <b>Example 3:</b> Integration test. | |
79 | * <pre> | |
80 | * <b>package</b> org.kuali.student.rules.integration; | |
81 | * // The following system properties are only needed if you want to specify a | |
82 | * // server port (port 9000) other than 8080 as defined in | |
83 | * // brms-ws/src/main/resources/application.properties, | |
84 | * // application-ruleexecution.properties and application-rulerepository.properties | |
85 | * <b>@IntegrationServer</b>(port=9000, webappPath="../../../brms-ws/target/brms-ws-0.1.0-SNAPSHOT", contextPath="/brms-ws-0.1.0-SNAPSHOT") | |
86 | * <b>@SystemProperties</b>(properties={ | |
87 | * <b>@Property</b>(key="ks.servicelocation.RuleManagementService", value="http://localhost:9000/brms-ws-0.1.0-SNAPSHOT/services/RuleManagementService"), | |
88 | * }) | |
89 | * <b>public class</b> IntegrationTest <b>extends</b> AbstractIntegrationServiceTest { | |
90 | * private final static String HOST = "http://localhost:9000/brms-ws-0.1.0-SNAPSHOT"; | |
91 | * | |
92 | * private static String ruleManagementServiceURL = HOST+"/services/RuleManagementService"; | |
93 | * private static String ruleManagementNamespace = "http://student.kuali.org/wsdl/brms/RuleManagement"; | |
94 | * private static String ruleManagementServiceName = "RuleManagementService"; | |
95 | * private static String ruleManagementServiceInterface = RuleManagementService.class.getName(); | |
96 | * | |
97 | * private static RuleManagementService ruleManagementService; | |
98 | * | |
99 | * <b>@BeforeClass</b> | |
100 | * public static void setUpOnce() throws Exception { | |
101 | * ruleManagementService = (RuleManagementService) ServiceFactory.getPort( | |
102 | * ruleManagementServiceURL + "?wsdl", | |
103 | * ruleManagementNamespace, | |
104 | * ruleManagementServiceName, | |
105 | * ruleManagementServiceInterface, | |
106 | * ruleManagementServiceURL); | |
107 | * | |
108 | * } | |
109 | * | |
110 | * <b>@AfterClass</b> | |
111 | * public static void tearDownOnce() throws Exception { } | |
112 | * | |
113 | * <b>@Before</b> | |
114 | * public void setUp() throws Exception { } | |
115 | * | |
116 | * <b>@After</b> | |
117 | * public void tearDown() throws Exception { } | |
118 | * | |
119 | * <b>@Test</b> | |
120 | * public void testFindBusinessRuleTypesFromTestBeans() throws Exception { | |
121 | * List<String> businessRuleIdList1 = ruleManagementService.findBusinessRuleIdsByBusinessRuleType("KUALI_PRE_REQ"); | |
122 | * Assert.assertNotNull(businessRuleIdList1); | |
123 | * List<String> businessRuleIdList2 = ruleManagementService.findBusinessRuleIdsByBusinessRuleType("KUALI_CO_REQ"); | |
124 | * Assert.assertNotNull(businessRuleIdList2); | |
125 | * } | |
126 | * } | |
127 | * </pre> | |
128 | */ | |
129 | @RunWith(IntegrationServiceTestClassRunner.class) | |
130 | 0 | public abstract class AbstractIntegrationServiceTest { |
131 | ||
132 | } |