use of org.olat.restapi.support.vo.CourseConfigVO in project OpenOLAT by OpenOLAT.
the class LecturesBlocksTest method getLecturesBlock_repository.
/**
* Get the list of lecture block through the repository entry.
*
* @throws IOException
* @throws URISyntaxException
*/
@Test
public void getLecturesBlock_repository() throws IOException, URISyntaxException {
Identity author = JunitTestHelper.createAndPersistIdentityAsAuthor("lect-1");
ICourse course = CoursesWebService.createEmptyCourse(author, "Course with absence", "Course with absence", new CourseConfigVO());
RepositoryEntry entry = course.getCourseEnvironment().getCourseGroupManager().getCourseEntry();
LectureBlock block = createLectureBlock(entry);
dbInstance.commit();
RestConnection conn = new RestConnection();
Assert.assertTrue(conn.login("administrator", "openolat"));
URI uri = UriBuilder.fromUri(getContextURI()).path("repo").path("entries").path(entry.getKey().toString()).path("lectureblocks").build();
HttpGet method = conn.createGet(uri, MediaType.APPLICATION_JSON, true);
HttpResponse response = conn.execute(method);
Assert.assertEquals(200, response.getStatusLine().getStatusCode());
List<LectureBlockVO> voList = parseLectureBlockArray(response.getEntity().getContent());
Assert.assertNotNull(voList);
Assert.assertEquals(1, voList.size());
LectureBlockVO blockVo = voList.get(0);
Assert.assertEquals(block.getKey(), blockVo.getKey());
Assert.assertEquals(entry.getKey(), blockVo.getRepoEntryKey());
}
use of org.olat.restapi.support.vo.CourseConfigVO in project OpenOLAT by OpenOLAT.
the class LecturesBlocksTest method putLecturesBlock_repository.
@Test
public void putLecturesBlock_repository() throws IOException, URISyntaxException {
Identity author = JunitTestHelper.createAndPersistIdentityAsAuthor("lect-1");
ICourse course = CoursesWebService.createEmptyCourse(author, "Course with absence", "Course with absence", new CourseConfigVO());
RepositoryEntry entry = course.getCourseEnvironment().getCourseGroupManager().getCourseEntry();
dbInstance.commit();
RestConnection conn = new RestConnection();
Assert.assertTrue(conn.login("administrator", "openolat"));
String externalId = UUID.randomUUID().toString();
LectureBlockVO lectureBlockVo = new LectureBlockVO();
lectureBlockVo.setTitle("New block");
lectureBlockVo.setDescription("A little description");
lectureBlockVo.setComment("A comment");
lectureBlockVo.setLocation("The secret location");
lectureBlockVo.setManagedFlagsString("all");
lectureBlockVo.setPreparation("Lot of");
lectureBlockVo.setPlannedLectures(4);
lectureBlockVo.setExternalId(externalId);
lectureBlockVo.setStartDate(new Date());
lectureBlockVo.setEndDate(new Date());
URI uri = UriBuilder.fromUri(getContextURI()).path("repo").path("entries").path(entry.getKey().toString()).path("lectureblocks").build();
HttpPut method = conn.createPut(uri, MediaType.APPLICATION_JSON, true);
conn.addJsonEntity(method, lectureBlockVo);
HttpResponse response = conn.execute(method);
// check the response
Assertions.assertThat(response.getStatusLine().getStatusCode()).isIn(200, 201);
LectureBlockVO blockVo = conn.parse(response.getEntity().getContent(), LectureBlockVO.class);
Assert.assertNotNull(blockVo);
Assert.assertEquals(entry.getKey(), blockVo.getRepoEntryKey());
Assert.assertEquals("New block", blockVo.getTitle());
Assert.assertEquals("A little description", blockVo.getDescription());
Assert.assertEquals("A comment", blockVo.getComment());
Assert.assertEquals("The secret location", blockVo.getLocation());
Assert.assertEquals("all", blockVo.getManagedFlagsString());
Assert.assertEquals(4, blockVo.getPlannedLectures());
Assert.assertEquals(externalId, blockVo.getExternalId());
Assert.assertNotNull(blockVo.getStartDate());
Assert.assertNotNull(blockVo.getEndDate());
// check the database
LectureBlock dbBlock = lectureService.getLectureBlock(new LectureBlockRefImpl(blockVo.getKey()));
Assert.assertNotNull(dbBlock);
Assert.assertEquals("New block", dbBlock.getTitle());
Assert.assertEquals("A little description", dbBlock.getDescription());
Assert.assertEquals("A comment", dbBlock.getComment());
Assert.assertEquals("The secret location", dbBlock.getLocation());
Assert.assertEquals("all", dbBlock.getManagedFlagsString());
Assert.assertEquals(4, dbBlock.getPlannedLecturesNumber());
Assert.assertEquals(externalId, dbBlock.getExternalId());
Assert.assertNotNull(dbBlock.getStartDate());
Assert.assertNotNull(dbBlock.getEndDate());
}
use of org.olat.restapi.support.vo.CourseConfigVO in project OpenOLAT by OpenOLAT.
the class LecturesBlocksTest method updateLecturesBlockConfiguration.
@Test
public void updateLecturesBlockConfiguration() throws IOException, URISyntaxException {
Identity author = JunitTestHelper.createAndPersistIdentityAsAuthor("lect-1");
ICourse course = CoursesWebService.createEmptyCourse(author, "Course with absence config", "Course with absence configuration", new CourseConfigVO());
RepositoryEntry entry = course.getCourseEnvironment().getCourseGroupManager().getCourseEntry();
dbInstance.commit();
RestConnection conn = new RestConnection();
Assert.assertTrue(conn.login("administrator", "openolat"));
RepositoryEntryLectureConfigurationVO configVo = new RepositoryEntryLectureConfigurationVO();
configVo.setLectureEnabled(Boolean.TRUE);
configVo.setCalculateAttendanceRate(Boolean.TRUE);
configVo.setOverrideModuleDefault(Boolean.TRUE);
configVo.setCourseCalendarSyncEnabled(Boolean.TRUE);
configVo.setRequiredAttendanceRate(34.0d);
configVo.setRollCallEnabled(Boolean.TRUE);
configVo.setTeacherCalendarSyncEnabled(Boolean.TRUE);
URI uri = UriBuilder.fromUri(getContextURI()).path("repo").path("entries").path(entry.getKey().toString()).path("lectureblocks").path("configuration").build();
HttpPost method = conn.createPost(uri, MediaType.APPLICATION_JSON);
conn.addJsonEntity(method, configVo);
HttpResponse response = conn.execute(method);
// check the response
Assert.assertEquals(200, response.getStatusLine().getStatusCode());
RepositoryEntryLectureConfigurationVO updateConfigVo = conn.parse(response, RepositoryEntryLectureConfigurationVO.class);
Assert.assertNotNull(updateConfigVo);
Assert.assertEquals(Boolean.TRUE, updateConfigVo.getLectureEnabled());
Assert.assertEquals(Boolean.TRUE, updateConfigVo.getCalculateAttendanceRate());
Assert.assertEquals(Boolean.TRUE, updateConfigVo.getOverrideModuleDefault());
Assert.assertEquals(Boolean.TRUE, updateConfigVo.getCourseCalendarSyncEnabled());
Assert.assertEquals(34.0d, updateConfigVo.getRequiredAttendanceRate(), 0000.1);
Assert.assertEquals(Boolean.TRUE, updateConfigVo.getRollCallEnabled());
Assert.assertEquals(Boolean.TRUE, updateConfigVo.getTeacherCalendarSyncEnabled());
// check the database
RepositoryEntryLectureConfiguration dbConfig = lectureService.getRepositoryEntryLectureConfiguration(entry);
Assert.assertNotNull(dbConfig);
Assert.assertTrue(dbConfig.isLectureEnabled());
Assert.assertEquals(Boolean.TRUE, dbConfig.getCalculateAttendanceRate());
Assert.assertTrue(dbConfig.isOverrideModuleDefault());
Assert.assertEquals(Boolean.TRUE, dbConfig.getCourseCalendarSyncEnabled());
Assert.assertEquals(34.0d, dbConfig.getRequiredAttendanceRate(), 0000.1);
Assert.assertEquals(Boolean.TRUE, dbConfig.getRollCallEnabled());
Assert.assertEquals(Boolean.TRUE, dbConfig.getTeacherCalendarSyncEnabled());
}
use of org.olat.restapi.support.vo.CourseConfigVO in project OpenOLAT by OpenOLAT.
the class CourseCalendarTest method putCalendarEvents.
@Test
public void putCalendarEvents() throws IOException, URISyntaxException {
RestConnection conn = new RestConnection();
Identity admin = BaseSecurityManager.getInstance().findIdentityByName("administrator");
Assert.assertTrue(conn.login("administrator", "openolat"));
CourseConfigVO config = new CourseConfigVO();
config.setCalendar(Boolean.TRUE);
ICourse course = CoursesWebService.createEmptyCourse(admin, "Course with calendar", "Course with calendar", config);
dbInstance.commitAndCloseSession();
// create an event
EventVO event1 = new EventVO();
Calendar cal = Calendar.getInstance();
event1.setBegin(cal.getTime());
cal.add(Calendar.HOUR_OF_DAY, 1);
event1.setEnd(cal.getTime());
String subject1 = UUID.randomUUID().toString();
event1.setSubject(subject1);
EventVO event2 = new EventVO();
event2.setBegin(cal.getTime());
cal.add(Calendar.HOUR_OF_DAY, 1);
event2.setEnd(cal.getTime());
String subject2 = UUID.randomUUID().toString();
event2.setSubject(subject2);
EventVO[] newEvents = new EventVO[2];
newEvents[0] = event1;
newEvents[1] = event2;
URI eventUri = UriBuilder.fromUri(getContextURI()).path("repo").path("courses").path(course.getResourceableId().toString()).path("calendar").path("events").build();
HttpPut putEventMethod = conn.createPut(eventUri, MediaType.APPLICATION_JSON, true);
conn.addJsonEntity(putEventMethod, newEvents);
HttpResponse putEventResponse = conn.execute(putEventMethod);
assertEquals(200, putEventResponse.getStatusLine().getStatusCode());
EntityUtils.consume(putEventResponse.getEntity());
// check if the event is saved
KalendarRenderWrapper calendarWrapper = calendarManager.getCourseCalendar(course);
Collection<KalendarEvent> savedEvents = calendarWrapper.getKalendar().getEvents();
boolean found1 = false;
boolean found2 = false;
for (KalendarEvent savedEvent : savedEvents) {
if (subject1.equals(savedEvent.getSubject())) {
found1 = true;
} else if (subject2.equals(savedEvent.getSubject())) {
found2 = true;
}
}
Assert.assertTrue(found1);
Assert.assertTrue(found2);
conn.shutdown();
}
use of org.olat.restapi.support.vo.CourseConfigVO in project openolat by klemens.
the class CalendarTest method startup.
@Before
public void startup() {
if (id1 == null) {
id1 = JunitTestHelper.createAndPersistIdentityAsUser("cal-1-" + UUID.randomUUID().toString());
}
if (id2 == null) {
id2 = JunitTestHelper.createAndPersistIdentityAsUser("cal-2-" + UUID.randomUUID().toString());
}
if (course1 == null) {
// create a course with a calendar
CourseConfigVO config = new CourseConfigVO();
config.setCalendar(Boolean.TRUE);
course1 = CoursesWebService.createEmptyCourse(id1, "Cal course", "Cal course", config);
dbInstance.commit();
ICourse course = CourseFactory.loadCourse(course1.getResourceableId());
CourseConfig courseConfig = course.getCourseEnvironment().getCourseConfig();
Assert.assertTrue(courseConfig.isCalendarEnabled());
KalendarRenderWrapper calendarWrapper = calendarManager.getCourseCalendar(course);
Calendar cal = Calendar.getInstance();
for (int i = 0; i < 10; i++) {
Date begin = cal.getTime();
cal.add(Calendar.HOUR_OF_DAY, 1);
Date end = cal.getTime();
KalendarEvent event = new KalendarEvent(UUID.randomUUID().toString(), null, "Unit test " + i, begin, end);
calendarManager.addEventTo(calendarWrapper.getKalendar(), event);
cal.add(Calendar.DATE, 1);
}
cal = Calendar.getInstance();
cal.add(Calendar.MONTH, -1);
Date begin2 = cal.getTime();
cal.add(Calendar.HOUR_OF_DAY, 1);
Date end2 = cal.getTime();
KalendarEvent event2 = new KalendarEvent(UUID.randomUUID().toString(), null, "Unit test 2", begin2, end2);
calendarManager.addEventTo(calendarWrapper.getKalendar(), event2);
RepositoryEntry entry = repositoryManager.lookupRepositoryEntry(course1, false);
entry = repositoryManager.setAccess(entry, RepositoryEntry.ACC_USERS, false);
repositoryService.addRole(id1, entry, GroupRoles.participant.name());
dbInstance.commit();
}
if (course2 == null) {
// create a course with a calendar
CourseConfigVO config = new CourseConfigVO();
config.setCalendar(Boolean.TRUE);
course2 = CoursesWebService.createEmptyCourse(id2, "Cal course - 2", "Cal course - 2", config);
dbInstance.commit();
KalendarRenderWrapper calendarWrapper = calendarManager.getCourseCalendar(course2);
Assert.assertNotNull(calendarWrapper);
RepositoryEntry entry = repositoryManager.lookupRepositoryEntry(course2, false);
entry = repositoryManager.setAccess(entry, RepositoryEntry.ACC_USERS, false);
dbInstance.commit();
}
}
Aggregations