use of org.olat.repository.handlers.SharedFolderHandler in project openolat by klemens.
the class SharedFolderTest method getFiles.
/**
* Check simple GET for the directory.
*
* @throws IOException
* @throws URISyntaxException
*/
@Test
public void getFiles() throws IOException, URISyntaxException {
RestConnection conn = new RestConnection();
Assert.assertTrue(conn.login("administrator", "openolat"));
Identity owner = JunitTestHelper.createAndPersistIdentityAsRndUser("shared-owner-");
RepositoryEntry sharedFolder = new SharedFolderHandler().createResource(owner, "Shared 2", "Shared files", null, Locale.ENGLISH);
VFSContainer container = SharedFolderManager.getInstance().getNamedSharedFolder(sharedFolder, true);
copyFileInResourceFolder(container, "portrait.jpg", "2_");
URI uri = UriBuilder.fromUri(getFolderURI(sharedFolder)).path("files").build();
HttpGet method = conn.createGet(uri, MediaType.APPLICATION_JSON, true);
HttpResponse response = conn.execute(method);
Assert.assertEquals(200, response.getStatusLine().getStatusCode());
InputStream body = response.getEntity().getContent();
List<FileVO> links = parseFileArray(body);
Assert.assertNotNull(links);
Assert.assertEquals(1, links.size());
Assert.assertTrue(links.get(0).getHref().contains("2_portrait.jpg"));
conn.shutdown();
}
use of org.olat.repository.handlers.SharedFolderHandler in project openolat by klemens.
the class SharedFolderTest method putDirectories_owner.
/**
* The root /** is read only
*
* @throws IOException
* @throws URISyntaxException
*/
@Test
public void putDirectories_owner() throws IOException, URISyntaxException {
Identity owner = JunitTestHelper.createAndPersistIdentityAsRndUser("shared-owner-");
RepositoryEntry sharedFolder = new SharedFolderHandler().createResource(owner, "Shared 2", "A shared folder", null, Locale.ENGLISH);
VFSContainer container = SharedFolderManager.getInstance().getNamedSharedFolder(sharedFolder, true);
copyFileInResourceFolder(container, "portrait.jpg", "2_");
// owner want to upload a file
RestConnection conn = new RestConnection();
Assert.assertTrue(conn.login(owner.getName(), "A6B7C8"));
// create single page
URL fileUrl = CoursesFoldersTest.class.getResource("certificate.pdf");
File file = new File(fileUrl.toURI());
URI uri = UriBuilder.fromUri(getFolderURI(sharedFolder)).build();
HttpPut method = conn.createPut(uri, MediaType.APPLICATION_JSON, true);
conn.addMultipart(method, file.getName(), file);
HttpResponse response = conn.execute(method);
Assert.assertEquals(405, response.getStatusLine().getStatusCode());
EntityUtils.consume(response.getEntity());
conn.shutdown();
}
use of org.olat.repository.handlers.SharedFolderHandler in project openolat by klemens.
the class SharedFolderTest method getDirectories.
/**
* Check simple GET for the directory.
*
* @throws IOException
* @throws URISyntaxException
*/
@Test
public void getDirectories() throws IOException, URISyntaxException {
RestConnection conn = new RestConnection();
Assert.assertTrue(conn.login("administrator", "openolat"));
Identity owner = JunitTestHelper.createAndPersistIdentityAsRndUser("shared-owner-");
RepositoryEntry sharedFolder = new SharedFolderHandler().createResource(owner, "Shared 1", "A shared folder", null, Locale.ENGLISH);
VFSContainer container = SharedFolderManager.getInstance().getNamedSharedFolder(sharedFolder, true);
copyFileInResourceFolder(container, "portrait.jpg", "1_");
URI uri = UriBuilder.fromUri(getFolderURI(sharedFolder)).build();
HttpGet method = conn.createGet(uri, MediaType.APPLICATION_JSON, true);
HttpResponse response = conn.execute(method);
Assert.assertEquals(200, response.getStatusLine().getStatusCode());
InputStream body = response.getEntity().getContent();
List<LinkVO> links = parseLinkArray(body);
Assert.assertNotNull(links);
Assert.assertEquals(1, links.size());
Assert.assertTrue(links.get(0).getHref().contains("1_portrait.jpg"));
conn.shutdown();
}
use of org.olat.repository.handlers.SharedFolderHandler in project OpenOLAT by OpenOLAT.
the class SharedFolderTest method getFiles.
/**
* Check simple GET for the directory.
*
* @throws IOException
* @throws URISyntaxException
*/
@Test
public void getFiles() throws IOException, URISyntaxException {
RestConnection conn = new RestConnection();
Assert.assertTrue(conn.login("administrator", "openolat"));
Identity owner = JunitTestHelper.createAndPersistIdentityAsRndUser("shared-owner-");
RepositoryEntry sharedFolder = new SharedFolderHandler().createResource(owner, "Shared 2", "Shared files", null, Locale.ENGLISH);
VFSContainer container = SharedFolderManager.getInstance().getNamedSharedFolder(sharedFolder, true);
copyFileInResourceFolder(container, "portrait.jpg", "2_");
URI uri = UriBuilder.fromUri(getFolderURI(sharedFolder)).path("files").build();
HttpGet method = conn.createGet(uri, MediaType.APPLICATION_JSON, true);
HttpResponse response = conn.execute(method);
Assert.assertEquals(200, response.getStatusLine().getStatusCode());
InputStream body = response.getEntity().getContent();
List<FileVO> links = parseFileArray(body);
Assert.assertNotNull(links);
Assert.assertEquals(1, links.size());
Assert.assertTrue(links.get(0).getHref().contains("2_portrait.jpg"));
conn.shutdown();
}
use of org.olat.repository.handlers.SharedFolderHandler in project OpenOLAT by OpenOLAT.
the class SharedFolderTest method putFiles_participant.
/**
* Participants have only read-only access to the shared folder.
*
* @throws IOException
* @throws URISyntaxException
*/
@Test
public void putFiles_participant() throws IOException, URISyntaxException {
// a shared folder with a participant
Identity owner = JunitTestHelper.createAndPersistIdentityAsRndUser("shared-owner-");
Identity participant = JunitTestHelper.createAndPersistIdentityAsRndUser("shared-part-");
RepositoryEntry sharedFolder = new SharedFolderHandler().createResource(owner, "Shared 5", "Shared files", null, Locale.ENGLISH);
VFSContainer container = SharedFolderManager.getInstance().getNamedSharedFolder(sharedFolder, true);
copyFileInResourceFolder(container, "portrait.jpg", "5_");
repositoryEntryRelationDao.addRole(participant, sharedFolder, GroupRoles.participant.name());
dbInstance.commitAndCloseSession();
// participant want to upload a file
RestConnection conn = new RestConnection();
Assert.assertTrue(conn.login(participant.getName(), "A6B7C8"));
URL fileUrl = CoursesFoldersTest.class.getResource("certificate.pdf");
File file = new File(fileUrl.toURI());
URI uri = UriBuilder.fromUri(getFolderURI(sharedFolder)).path("files").build();
HttpPut method = conn.createPut(uri, MediaType.APPLICATION_JSON, true);
conn.addMultipart(method, file.getName(), file);
HttpResponse response = conn.execute(method);
Assert.assertEquals(401, response.getStatusLine().getStatusCode());
// check the absence of the file
VFSItem item = container.resolve("certificate.pdf");
Assert.assertNull(item);
}
Aggregations