use of org.olat.modules.lecture.restapi.LectureBlockVO 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.modules.lecture.restapi.LectureBlockVO in project openolat by klemens.
the class LecturesBlocksRootTest method getLecturesBlock_date.
@Test
public void getLecturesBlock_date() throws IOException, URISyntaxException {
Identity author = JunitTestHelper.createAndPersistIdentityAsAuthor("lect-root-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();
lectureService.addTeacher(block, author);
dbInstance.commit();
RestConnection conn = new RestConnection();
Assert.assertTrue(conn.login("administrator", "openolat"));
String date = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss").format(new Date());
URI uri = UriBuilder.fromUri(getContextURI()).path("repo").path("lectures").queryParam("date", date).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.assertFalse(voList.isEmpty());
LectureBlockVO lectureBlockVo = null;
for (LectureBlockVO vo : voList) {
if (vo.getKey().equals(block.getKey())) {
lectureBlockVo = vo;
}
}
Assert.assertNotNull(lectureBlockVo);
Assert.assertEquals(block.getKey(), lectureBlockVo.getKey());
Assert.assertEquals(entry.getKey(), lectureBlockVo.getRepoEntryKey());
}
use of org.olat.modules.lecture.restapi.LectureBlockVO in project openolat by klemens.
the class LecturesBlocksRootTest method getLecturesBlock.
@Test
public void getLecturesBlock() throws IOException, URISyntaxException {
Identity author = JunitTestHelper.createAndPersistIdentityAsAuthor("lect-root-all");
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();
lectureService.addTeacher(block, author);
dbInstance.commit();
RestConnection conn = new RestConnection();
Assert.assertTrue(conn.login("administrator", "openolat"));
URI uri = UriBuilder.fromUri(getContextURI()).path("repo").path("lectures").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.assertFalse(voList.isEmpty());
LectureBlockVO lectureBlockVo = null;
for (LectureBlockVO vo : voList) {
if (vo.getKey().equals(block.getKey())) {
lectureBlockVo = vo;
}
}
Assert.assertNotNull(lectureBlockVo);
Assert.assertEquals(block.getKey(), lectureBlockVo.getKey());
Assert.assertEquals(entry.getKey(), lectureBlockVo.getRepoEntryKey());
}
use of org.olat.modules.lecture.restapi.LectureBlockVO in project openolat by klemens.
the class LecturesBlocksTest method putLecturesBlock_autoclosed.
/**
* Check that the done and autoclosed status are set.
*
* @throws IOException
* @throws URISyntaxException
*/
@Test
public void putLecturesBlock_autoclosed() 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("A block to close");
lectureBlockVo.setDescription("A description");
lectureBlockVo.setManagedFlagsString("all");
lectureBlockVo.setPlannedLectures(4);
lectureBlockVo.setExternalId(externalId);
lectureBlockVo.setStartDate(new Date());
lectureBlockVo.setEndDate(new Date());
lectureBlockVo.setStatus("done");
lectureBlockVo.setRollCallStatus("autoclosed");
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);
// check the database
LectureBlock dbBlock = lectureService.getLectureBlock(new LectureBlockRefImpl(blockVo.getKey()));
Assert.assertNotNull(dbBlock);
Assert.assertEquals("A block to close", dbBlock.getTitle());
Assert.assertEquals("A description", dbBlock.getDescription());
Assert.assertEquals("all", dbBlock.getManagedFlagsString());
Assert.assertEquals(4, dbBlock.getPlannedLecturesNumber());
Assert.assertEquals(externalId, dbBlock.getExternalId());
Assert.assertNotNull(dbBlock.getStartDate());
Assert.assertNotNull(dbBlock.getEndDate());
Assert.assertEquals(LectureBlockStatus.done, dbBlock.getStatus());
Assert.assertEquals(LectureRollCallStatus.autoclosed, dbBlock.getRollCallStatus());
}
Aggregations