use of org.olat.commons.calendar.restapi.CalendarVO in project openolat by klemens.
the class CalendarTest method testOutputGetCalendarEvents.
@Test
public void testOutputGetCalendarEvents() throws IOException, URISyntaxException {
RestConnection conn = new RestConnection();
assertTrue(conn.login(id1.getName(), "A6B7C8"));
URI uri = UriBuilder.fromUri(getContextURI()).path("users").path(id1.getKey().toString()).path("calendars").build();
HttpGet method = conn.createGet(uri, MediaType.APPLICATION_JSON, true);
HttpResponse response = conn.execute(method);
assertEquals(200, response.getStatusLine().getStatusCode());
List<CalendarVO> vos = parseArray(response);
assertNotNull(vos);
// Root-1
assertTrue(2 <= vos.size());
CalendarVO calendar = getCourseCalendar(vos, course1);
// get events and output as JSON
URI eventUri = UriBuilder.fromUri(getContextURI()).path("users").path(id1.getKey().toString()).path("calendars").path(calendar.getId()).path("events").build();
HttpGet eventMethod = conn.createGet(eventUri, MediaType.APPLICATION_JSON, true);
HttpResponse eventResponse = conn.execute(eventMethod);
assertEquals(200, eventResponse.getStatusLine().getStatusCode());
String outputJson = EntityUtils.toString(eventResponse.getEntity());
System.out.println("*** JSON");
System.out.println(outputJson);
// get events and output as XML
URI eventXmlUri = UriBuilder.fromUri(getContextURI()).path("users").path(id1.getKey().toString()).path("calendars").path(calendar.getId()).path("events").build();
HttpGet eventXmlMethod = conn.createGet(eventXmlUri, MediaType.APPLICATION_XML, true);
HttpResponse eventXmlResponse = conn.execute(eventXmlMethod);
assertEquals(200, eventXmlResponse.getStatusLine().getStatusCode());
String outputXml = EntityUtils.toString(eventXmlResponse.getEntity());
System.out.println("*** XML");
System.out.println(outputXml);
conn.shutdown();
}
use of org.olat.commons.calendar.restapi.CalendarVO in project OpenOLAT by OpenOLAT.
the class CalendarTest method testGetCalendarEvents_paging.
@Test
public void testGetCalendarEvents_paging() throws IOException, URISyntaxException {
RestConnection conn = new RestConnection();
assertTrue(conn.login(id1.getName(), "A6B7C8"));
URI uri = UriBuilder.fromUri(getContextURI()).path("users").path(id1.getKey().toString()).path("calendars").build();
HttpGet method = conn.createGet(uri, MediaType.APPLICATION_JSON, true);
HttpResponse response = conn.execute(method);
assertEquals(200, response.getStatusLine().getStatusCode());
List<CalendarVO> vos = parseArray(response);
assertNotNull(vos);
// course1 + personal
assertTrue(2 <= vos.size());
CalendarVO calendar = getCourseCalendar(vos, course1);
URI eventUri = UriBuilder.fromUri(getContextURI()).path("users").path(id1.getKey().toString()).path("calendars").path(calendar.getId()).path("events").queryParam("start", "0").queryParam("limit", "5").queryParam("onlyFuture", "true").build();
HttpGet eventMethod = conn.createGet(eventUri, MediaType.APPLICATION_JSON + ";pagingspec=1.0", true);
HttpResponse eventResponse = conn.execute(eventMethod);
assertEquals(200, eventResponse.getStatusLine().getStatusCode());
EventVOes events = conn.parse(eventResponse, EventVOes.class);
assertNotNull(events);
assertEquals(10, events.getTotalCount());
assertNotNull(events.getEvents());
assertEquals(5, events.getEvents().length);
conn.shutdown();
}
use of org.olat.commons.calendar.restapi.CalendarVO in project OpenOLAT by OpenOLAT.
the class CalendarTest method putCalendarEvents_notAuthorized.
@Test
public void putCalendarEvents_notAuthorized() throws IOException, URISyntaxException {
RestConnection conn = new RestConnection();
assertTrue(conn.login(id2.getName(), "A6B7C8"));
URI calUri = UriBuilder.fromUri(getContextURI()).path("users").path(id2.getKey().toString()).path("calendars").build();
HttpGet calMethod = conn.createGet(calUri, MediaType.APPLICATION_JSON, true);
HttpResponse response = conn.execute(calMethod);
assertEquals(200, response.getStatusLine().getStatusCode());
List<CalendarVO> vos = parseArray(response);
assertNotNull(vos);
assertTrue(2 <= vos.size());
CalendarVO calendarCourse_1 = getCourseCalendar(vos, course1);
// create an event
EventVO event = new EventVO();
Calendar cal = Calendar.getInstance();
event.setBegin(cal.getTime());
cal.add(Calendar.HOUR_OF_DAY, 1);
event.setEnd(cal.getTime());
String subject = UUID.randomUUID().toString();
event.setSubject(subject);
URI eventUri = UriBuilder.fromUri(getContextURI()).path("users").path(id2.getKey().toString()).path("calendars").path(calendarCourse_1.getId()).path("event").build();
HttpPut putEventMethod = conn.createPut(eventUri, MediaType.APPLICATION_JSON, true);
conn.addJsonEntity(putEventMethod, event);
HttpResponse putEventResponse = conn.execute(putEventMethod);
assertEquals(401, putEventResponse.getStatusLine().getStatusCode());
EntityUtils.consume(putEventResponse.getEntity());
conn.shutdown();
}
use of org.olat.commons.calendar.restapi.CalendarVO in project OpenOLAT by OpenOLAT.
the class CalendarTest method testGetCalendarEvents_onlyFuture.
@Test
public void testGetCalendarEvents_onlyFuture() throws IOException, URISyntaxException {
RestConnection conn = new RestConnection();
assertTrue(conn.login(id1.getName(), "A6B7C8"));
URI uri = UriBuilder.fromUri(getContextURI()).path("users").path(id1.getKey().toString()).path("calendars").build();
HttpGet method = conn.createGet(uri, MediaType.APPLICATION_JSON, true);
HttpResponse response = conn.execute(method);
assertEquals(200, response.getStatusLine().getStatusCode());
List<CalendarVO> vos = parseArray(response);
assertNotNull(vos);
// course1 + personal
assertTrue(2 <= vos.size());
CalendarVO calendar = getCourseCalendar(vos, course1);
URI eventUri = UriBuilder.fromUri(getContextURI()).path("users").path(id1.getKey().toString()).path("calendars").path(calendar.getId()).path("events").queryParam("onlyFuture", "true").build();
HttpGet eventMethod = conn.createGet(eventUri, MediaType.APPLICATION_JSON, true);
HttpResponse eventResponse = conn.execute(eventMethod);
assertEquals(200, eventResponse.getStatusLine().getStatusCode());
List<EventVO> events = parseEventArray(eventResponse);
assertNotNull(events);
assertEquals(10, events.size());
conn.shutdown();
}
use of org.olat.commons.calendar.restapi.CalendarVO in project OpenOLAT by OpenOLAT.
the class CalendarTest method putCalendarEvent.
@Test
public void putCalendarEvent() throws IOException, URISyntaxException {
RestConnection conn = new RestConnection();
assertTrue(conn.login(id2.getName(), "A6B7C8"));
URI calUri = UriBuilder.fromUri(getContextURI()).path("users").path(id2.getKey().toString()).path("calendars").build();
HttpGet calMethod = conn.createGet(calUri, MediaType.APPLICATION_JSON, true);
HttpResponse response = conn.execute(calMethod);
assertEquals(200, response.getStatusLine().getStatusCode());
List<CalendarVO> vos = parseArray(response);
assertNotNull(vos);
assertTrue(2 <= vos.size());
CalendarVO calendar = getCourseCalendar(vos, course2);
Assert.assertNotNull(calendar);
// create an event
EventVO event = new EventVO();
Calendar cal = Calendar.getInstance();
event.setBegin(cal.getTime());
cal.add(Calendar.HOUR_OF_DAY, 1);
event.setEnd(cal.getTime());
String subject = UUID.randomUUID().toString();
event.setSubject(subject);
URI eventUri = UriBuilder.fromUri(getContextURI()).path("users").path(id2.getKey().toString()).path("calendars").path(calendar.getId()).path("event").build();
HttpPut putEventMethod = conn.createPut(eventUri, MediaType.APPLICATION_JSON, true);
conn.addJsonEntity(putEventMethod, event);
HttpResponse putEventResponse = conn.execute(putEventMethod);
assertEquals(200, putEventResponse.getStatusLine().getStatusCode());
EntityUtils.consume(putEventResponse.getEntity());
// check if the event is saved
KalendarRenderWrapper calendarWrapper = calendarManager.getCourseCalendar(course2);
Collection<KalendarEvent> savedEvents = calendarWrapper.getKalendar().getEvents();
boolean found = false;
for (KalendarEvent savedEvent : savedEvents) {
if (subject.equals(savedEvent.getSubject())) {
found = true;
}
}
Assert.assertTrue(found);
conn.shutdown();
}
Aggregations