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.r1.core.atp;
17
18 import static org.junit.Assert.assertEquals;
19 import static org.junit.Assert.assertTrue;
20 import static org.junit.Assert.fail;
21
22 import org.junit.Ignore;
23 import org.kuali.student.common.test.spring.AbstractServiceTest;
24 import org.kuali.student.common.test.spring.Dao;
25 import org.kuali.student.common.test.spring.Daos;
26 import org.kuali.student.common.test.spring.PersistenceFileLocation;
27
28 @Ignore
29 @Daos( { @Dao(value = "org.kuali.student.r1.core.atp.dao.impl.AtpDaoImpl", testDataFile = "classpath:atp-test-beans.xml") })
30 @PersistenceFileLocation("classpath:META-INF/atp-core-persistence.xml")
31 public class TestAtpService extends AbstractServiceTest {
32 // final Logger LOG = Logger.getLogger(TestAtpService.class);
33 //
34 // @Client(value = "org.kuali.student.r1.core.atp.service.impl.AtpServiceImpl", additionalContextFile="classpath:atp-additional-context.xml")
35 // public AtpService atpService;
36 // @Client(value = "org.kuali.student.r2.common.type.service.TypeServiceImpl", additionalContextFile="classpath:atp-additional-context.xml")
37 // public TypeService typeService;
38 //
39 // public static final String atpType_fallSemester = "atp.atpType.fallSemester";
40 // public static final String milestoneType_lastDateToDrop = "atp.milestoneType.lastDateToDrop";
41 // public static final String dateRangeType_finals = "atp.dateRangeType.finals";
42 // public static final String atpAttribute_notes = "atp.attribute.notes";
43 // public static final String dateRangeAttribute_notes = "atp.dateRangeAttribute.notes";
44 // public static final String milestoneAttribute_notes = "atp.milestoneAttribute.notes";
45 // public static final String atp_fall2008Semester = "atp.fall2008Semester";
46 // public static final String milestone_lastDateToDropFall2008 = "atp.milestone.lastDateToDropFall2008";
47 // public static final String dateRange_finalsFall2008 = "atp.dateRange.finalsFall2008";
48 //
49 // public static final String atp_2009FallSemester = "atp.2009FallSemester";
50 //
51 // @Test
52 // public void TestFinds() throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException, ParseException{
53 //
54 // Calendar cal = Calendar.getInstance();
55 // cal.set(2009, 9, 1);
56 //
57 // Calendar startCal = Calendar.getInstance();
58 // startCal.set(2008, 1, 1);
59 //
60 // Calendar endCal = Calendar.getInstance();
61 // endCal.set(2010, 1, 1);
62 //
63 // SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
64 //
65 // List<TypeInfo> atpTypes = atpService.getAtpTypes();
66 // assertEquals(2,atpTypes.size());
67 //
68 // List<AtpInfo> atpsByAtpType = atpService.getAtpsByAtpType(atpType_fallSemester);
69 // assertEquals(1,atpsByAtpType.size());
70 // assertEquals(atp_2009FallSemester,atpsByAtpType.get(0).getId());
71 //
72 // List<AtpInfo> atpsByDate = atpService.getAtpsByDate(cal.getTime());
73 // assertEquals(1,atpsByDate.size());
74 // assertEquals(atp_2009FallSemester,atpsByDate.get(0).getId());
75 //
76 // List<AtpInfo> atpsByDates = atpService.getAtpsByDates(startCal.getTime(), endCal.getTime());
77 // assertEquals(2,atpsByDates.size());
78 //
79 // List<DateRangeInfo> dateRangesByAtp = atpService.getDateRangesByAtp(atp_2009FallSemester);
80 // assertEquals(1,dateRangesByAtp.size());
81 //
82 // List<DateRangeInfo> dateRangesByDate = atpService.getDateRangesByDate(df.parse("20091205"));
83 // assertEquals(1,dateRangesByDate.size());
84 //
85 // List<DateRangeTypeInfo> dateRangeTypesForAtpType = atpService.getDateRangeTypesForAtpType(atpType_fallSemester);
86 // assertEquals(1,dateRangeTypesForAtpType.size());
87 //
88 // List<MilestoneInfo> milestonesByAtp = atpService.getMilestonesByAtp(atp_2009FallSemester);
89 // assertEquals(1,milestonesByAtp.size());
90 //
91 // List<MilestoneInfo> milestonesByDates = atpService.getMilestonesByDates(startCal.getTime(), endCal.getTime());
92 // assertEquals(1,milestonesByDates.size());
93 //
94 // List<MilestoneInfo> milestonesByDatesAndType = atpService.getMilestonesByDatesAndType(milestoneType_lastDateToDrop, startCal.getTime(), endCal.getTime());
95 // assertEquals(1,milestonesByDatesAndType.size());
96 //
97 // List<MilestoneTypeInfo> milestoneTypesForAtpType = atpService.getMilestoneTypesForAtpType(atpType_fallSemester);
98 // assertEquals(1,milestoneTypesForAtpType.size());
99 // }
100 //
101 // @Test
102 // public void TestCreateUpdateDelete(){
103 // //Make an ATP
104 // AtpInfo atpInfo = new AtpInfo();
105 // atpInfo.setDesc(new RichTextInfo());
106 // atpInfo.getDesc().setFormatted("Atp for fall 2008 semester");
107 // atpInfo.getDesc().setPlain("Atp for fall 2008 semester");
108 // atpInfo.setName("Fall 2008 Semester");
109 // atpInfo.setStartDate(new Date());
110 // atpInfo.setEndDate(new Date());
111 //
112 // Date stDate = atpInfo.getStartDate();
113 // Date enDate = atpInfo.getEndDate();
114 //
115 // atpInfo.setState("new");
116 //
117 // atpInfo.getAttributes().put(atpAttribute_notes, "Notes for the Fall 2008 Semester");
118 //
119 // AtpInfo createdAtp=null;
120 // try {
121 // createdAtp = atpService.createAtp(atpType_fallSemester, atp_fall2008Semester, atpInfo);
122 // } catch (Exception e) {
123 // LOG.error(e);
124 // fail();
125 // }
126 //
127 // assertTrue(stDate.equals(createdAtp.getStartDate()));
128 // assertTrue(enDate.equals(createdAtp.getEndDate()));
129 //
130 // //Make a DateRange
131 // DateRangeInfo dateRangeInfo=new DateRangeInfo();
132 // dateRangeInfo.setDesc(new RichTextInfo());
133 // dateRangeInfo.getDesc().setFormatted("Date Range for fall 2008 semester finals");
134 // dateRangeInfo.setName("Finals Fall 2008 Semester");
135 // dateRangeInfo.setStartDate(new Date());
136 // dateRangeInfo.setEndDate(new Date());
137 // dateRangeInfo.setState("new");
138 // dateRangeInfo.setAtpId(atp_fall2008Semester);
139 // dateRangeInfo.setType(dateRangeType_finals);
140 //
141 // dateRangeInfo.getAttributes().put(dateRangeAttribute_notes, "Notes for the Finals date range Fall 2008 Semester");
142 //
143 // DateRangeInfo createdDateRange=null;
144 // try {
145 // createdDateRange = atpService.addDateRange(atp_fall2008Semester, dateRange_finalsFall2008, dateRangeInfo);
146 // } catch (Exception e) {
147 // LOG.error(e);
148 // fail();
149 // }
150 //
151 // //Make a Milestone
152 // MilestoneInfo milestoneInfo=new MilestoneInfo();
153 // milestoneInfo.setDesc(new RichTextInfo());
154 // milestoneInfo.getDesc().setFormatted("Milestone for fall 2008 semester last day to drop");
155 // milestoneInfo.setName("Last Day to Drop Fall 2008 Semester");
156 // milestoneInfo.setMilestoneDate(new Date());
157 // milestoneInfo.setState("new");
158 // milestoneInfo.setAtpId(atp_fall2008Semester);
159 // milestoneInfo.setType(milestoneType_lastDateToDrop);
160 //
161 // milestoneInfo.getAttributes().put(milestoneAttribute_notes, "Notes for the Last Day to Drop Fall 2008 Semester");
162 //
163 // MilestoneInfo createdMilestone=null;
164 // try {
165 // createdMilestone = atpService.addMilestone(atp_fall2008Semester, milestone_lastDateToDropFall2008, milestoneInfo);
166 // } catch (Exception e) {
167 // LOG.error(e);
168 // fail();
169 // }
170 //
171 // //Do some updates
172 //
173 // //Update Atp
174 // createdAtp.getDesc().setFormatted("Updated Atp for the Fall 2008 Semester");
175 // try {
176 // assertEquals("0",createdAtp.getMetaInfo().getVersionInd());
177 // AtpInfo updatedAtp = atpService.updateAtp(atp_fall2008Semester, createdAtp);
178 // assertEquals("1",updatedAtp.getMetaInfo().getVersionInd());
179 // assertEquals("Updated Atp for the Fall 2008 Semester", updatedAtp.getDesc().getFormatted());
180 // } catch (Exception e) {
181 // LOG.error(e);
182 // fail();
183 // }
184 //
185 // //now try to update again with the same version
186 // try {
187 // atpService.updateAtp(atp_fall2008Semester, createdAtp);
188 // fail("AtpService.updateAtp() should have thrown VersionMismatchException");
189 // } catch (VersionMismatchException vme) {
190 // // what we expect
191 // } catch (Exception e) {
192 // LOG.error(e);
193 // fail();
194 // }
195 //
196 // //Update Date Range
197 // createdDateRange.getDesc().setFormatted("Updated DateRange for the Finals date range Fall 2008 Semester");
198 // try {
199 // assertEquals("0",createdDateRange.getMetaInfo().getVersionInd());
200 // DateRangeInfo updatedDateRange = atpService.updateDateRange(dateRange_finalsFall2008, createdDateRange);
201 // assertEquals("1",updatedDateRange.getMetaInfo().getVersionInd());
202 // assertEquals("Updated DateRange for the Finals date range Fall 2008 Semester", updatedDateRange.getDesc().getFormatted());
203 // } catch (Exception e) {
204 // LOG.error(e);
205 // fail();
206 // }
207 //
208 // //Updating with the old version again should fail
209 // try {
210 // atpService.updateDateRange(dateRange_finalsFall2008, createdDateRange);
211 // fail("AtpService.updateDateRange() should have thrown VersionMismatchException");
212 // } catch (VersionMismatchException vme) {
213 // // what we expect
214 // } catch (Exception e) {
215 // LOG.error(e);
216 // fail();
217 // }
218 //
219 // //Update Milestone
220 // createdMilestone.getDesc().setFormatted("Updated Milestone for fall 2008 semester last day to drop");
221 // try {
222 // assertEquals("0",createdMilestone.getMetaInfo().getVersionInd());
223 // MilestoneInfo updatedMilestone = atpService.updateMilestone(milestone_lastDateToDropFall2008, createdMilestone);
224 // assertEquals("1",updatedMilestone.getMetaInfo().getVersionInd());
225 // assertEquals("Updated Milestone for fall 2008 semester last day to drop", updatedMilestone.getDesc().getFormatted());
226 // } catch (Exception e) {
227 // LOG.error(e);
228 // }
229 //
230 // //Try to update again should fail
231 // try {
232 // atpService.updateMilestone(milestone_lastDateToDropFall2008, createdMilestone);
233 // fail("AtpService.updateDateRange() should have thrown VersionMismatchException");
234 // } catch (VersionMismatchException vme) {
235 // // what we expect
236 // } catch (Exception e) {
237 // LOG.error(e);
238 // fail();
239 // }
240 //
241 // //Do some deletes that should cascade
242 // try {
243 // atpService.deleteAtp(atp_fall2008Semester);
244 // } catch (Exception e) {
245 // LOG.error(e);
246 // fail();
247 // }
248 // }
249 }