use of org.olat.restapi.support.vo.RepositoryEntryVO in project openolat by klemens.
the class RepositoryEntriesTest method testGetEntries.
@Test
public void testGetEntries() throws IOException, URISyntaxException {
RestConnection conn = new RestConnection();
assertTrue(conn.login("administrator", "openolat"));
URI request = UriBuilder.fromUri(getContextURI()).path("repo/entries").build();
HttpGet method = conn.createGet(request, MediaType.APPLICATION_JSON, true);
HttpResponse response = conn.execute(method);
assertEquals(200, response.getStatusLine().getStatusCode());
InputStream body = response.getEntity().getContent();
List<RepositoryEntryVO> entryVoes = parseRepoArray(body);
assertNotNull(entryVoes);
conn.shutdown();
}
use of org.olat.restapi.support.vo.RepositoryEntryVO in project openolat by klemens.
the class RepositoryEntriesTest method testImportQuestionnaire.
@Test
public void testImportQuestionnaire() throws IOException, URISyntaxException {
URL cpUrl = RepositoryEntriesTest.class.getResource("questionnaire-demo.zip");
assertNotNull(cpUrl);
File cp = new File(cpUrl.toURI());
RestConnection conn = new RestConnection();
assertTrue(conn.login("administrator", "openolat"));
URI request = UriBuilder.fromUri(getContextURI()).path("repo/entries").build();
HttpPut method = conn.createPut(request, MediaType.APPLICATION_JSON, true);
HttpEntity entity = MultipartEntityBuilder.create().setMode(HttpMultipartMode.BROWSER_COMPATIBLE).addBinaryBody("file", cp, ContentType.APPLICATION_OCTET_STREAM, cp.getName()).addTextBody("filename", "questionnaire-demo.zip").addTextBody("resourcename", "Questionnaire demo").addTextBody("displayname", "Questionnaire demo").build();
method.setEntity(entity);
HttpResponse response = conn.execute(method);
assertTrue(response.getStatusLine().getStatusCode() == 200 || response.getStatusLine().getStatusCode() == 201);
RepositoryEntryVO vo = conn.parse(response, RepositoryEntryVO.class);
assertNotNull(vo);
Long key = vo.getKey();
RepositoryEntry re = RepositoryManager.getInstance().lookupRepositoryEntry(key);
assertNotNull(re);
assertNotNull(re.getOlatResource());
assertEquals("Questionnaire demo", re.getDisplayname());
log.info(re.getOlatResource().getResourceableTypeName());
conn.shutdown();
}
use of org.olat.restapi.support.vo.RepositoryEntryVO in project openolat by klemens.
the class RepositoryEntriesTest method testUpdateRepositoryEntry_lifecycle.
@Test
public void testUpdateRepositoryEntry_lifecycle() throws IOException, URISyntaxException {
RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry();
dbInstance.commitAndCloseSession();
RestConnection conn = new RestConnection();
assertTrue(conn.login("administrator", "openolat"));
RepositoryEntryVO repoVo = new RepositoryEntryVO();
repoVo.setKey(re.getKey());
repoVo.setDisplayname("New display name bis");
repoVo.setExternalId("New external ID bis");
repoVo.setExternalRef("New external ref bis");
repoVo.setManagedFlags("all");
RepositoryEntryLifecycleVO cycleVo = new RepositoryEntryLifecycleVO();
cycleVo.setLabel("Cycle");
cycleVo.setSoftkey("The secret cycle");
cycleVo.setValidFrom(ObjectFactory.formatDate(new Date()));
cycleVo.setValidTo(ObjectFactory.formatDate(new Date()));
repoVo.setLifecycle(cycleVo);
URI request = UriBuilder.fromUri(getContextURI()).path("repo/entries").path(re.getKey().toString()).build();
HttpPost method = conn.createPost(request, MediaType.APPLICATION_JSON);
conn.addJsonEntity(method, repoVo);
HttpResponse response = conn.execute(method);
assertTrue(response.getStatusLine().getStatusCode() == 200 || response.getStatusLine().getStatusCode() == 201);
RepositoryEntryVO updatedVo = conn.parse(response, RepositoryEntryVO.class);
assertNotNull(updatedVo);
Assert.assertEquals("New display name bis", updatedVo.getDisplayname());
Assert.assertEquals("New external ID bis", updatedVo.getExternalId());
Assert.assertEquals("New external ref bis", updatedVo.getExternalRef());
Assert.assertEquals("all", updatedVo.getManagedFlags());
Assert.assertNotNull(updatedVo.getLifecycle());
Assert.assertEquals("Cycle", updatedVo.getLifecycle().getLabel());
Assert.assertEquals("The secret cycle", updatedVo.getLifecycle().getSoftkey());
Assert.assertNotNull(updatedVo.getLifecycle().getValidFrom());
Assert.assertNotNull(updatedVo.getLifecycle().getValidTo());
conn.shutdown();
RepositoryEntry reloadedRe = repositoryManager.lookupRepositoryEntry(re.getKey());
assertNotNull(reloadedRe);
Assert.assertEquals("New display name bis", reloadedRe.getDisplayname());
Assert.assertEquals("New external ID bis", reloadedRe.getExternalId());
Assert.assertEquals("New external ref bis", reloadedRe.getExternalRef());
Assert.assertEquals("all", reloadedRe.getManagedFlagsString());
Assert.assertNotNull(reloadedRe.getLifecycle());
Assert.assertEquals("Cycle", reloadedRe.getLifecycle().getLabel());
Assert.assertEquals("The secret cycle", reloadedRe.getLifecycle().getSoftKey());
Assert.assertNotNull(reloadedRe.getLifecycle().getValidFrom());
Assert.assertNotNull(reloadedRe.getLifecycle().getValidTo());
}
use of org.olat.restapi.support.vo.RepositoryEntryVO in project openolat by klemens.
the class RepositoryEntriesTest method testImportCp.
@Test
public void testImportCp() throws IOException, URISyntaxException {
URL cpUrl = RepositoryEntriesTest.class.getResource("cp-demo.zip");
assertNotNull(cpUrl);
File cp = new File(cpUrl.toURI());
RestConnection conn = new RestConnection();
assertTrue(conn.login("administrator", "openolat"));
URI request = UriBuilder.fromUri(getContextURI()).path("repo/entries").build();
HttpPut method = conn.createPut(request, MediaType.APPLICATION_JSON, true);
HttpEntity entity = MultipartEntityBuilder.create().setMode(HttpMultipartMode.BROWSER_COMPATIBLE).addBinaryBody("file", cp, ContentType.APPLICATION_OCTET_STREAM, cp.getName()).addTextBody("filename", "cp-demo.zip").addTextBody("resourcename", "CP demo").addTextBody("displayname", "CP demo").addTextBody("access", "3").build();
method.setEntity(entity);
HttpResponse response = conn.execute(method);
assertTrue(response.getStatusLine().getStatusCode() == 200 || response.getStatusLine().getStatusCode() == 201);
RepositoryEntryVO vo = conn.parse(response, RepositoryEntryVO.class);
assertNotNull(vo);
Long key = vo.getKey();
RepositoryEntry re = RepositoryManager.getInstance().lookupRepositoryEntry(key);
assertNotNull(re);
assertNotNull(re.getOlatResource());
assertEquals("CP demo", re.getDisplayname());
assertEquals(RepositoryEntry.ACC_USERS, re.getAccess());
conn.shutdown();
}
use of org.olat.restapi.support.vo.RepositoryEntryVO in project openolat by klemens.
the class RepositoryEntriesResource method toArrayOfVOes.
private RepositoryEntryVO[] toArrayOfVOes(List<RepositoryEntry> coursRepos) {
int i = 0;
RepositoryEntryVO[] entryVOs = new RepositoryEntryVO[coursRepos.size()];
for (RepositoryEntry repoE : coursRepos) {
entryVOs[i++] = ObjectFactory.get(repoE);
}
return entryVOs;
}
Aggregations