@Test public void testFromSubfolder() throws RepositoryException { final JsonBuilder jb = new JsonBuilder(); final FileStore.Folder folder = new TestFolder("filestore", "/", null); final FileStore.Folder subfolder = folder.createFolder("a"); folder.createFile( "README.txt", "text/plain", new ByteArrayInputStream("This is a test file.".getBytes())); final ArrayNode jsonArray = jb.toJson(subfolder); { final JsonNode json = jsonArray.get(0); assertThat(json.get("id")).isNotNull(); assertThat(json.get("id").asText()).isEqualTo(subfolder.getIdentifier()); assertThat(json.get("name")).isNotNull(); assertThat(json.get("name").asText()).isEqualTo(subfolder.getName()); assertThat(json.get("path")).isNotNull(); assertThat(json.get("path").asText()).isEqualTo(subfolder.getPath()); assertThat(json.get("parent")).isNull(); assertThat(json.get("accessLevel")).isNotNull(); assertThat(json.get("accessLevel").asText()).isEqualTo("RO"); } }
@Test public void testFromRoot() throws RepositoryException { final JsonBuilder jb = new JsonBuilder(); final FileStore.Folder folder = new TestFolder("filestore", "/", null); final FileStore.Folder subfolder = folder.createFolder("a"); final FileStore.File file1 = folder.createFile( "README.txt", "text/plain", new ByteArrayInputStream("This is a test file.".getBytes())); final ArrayNode jsonArray = jb.toJson(folder); { final JsonNode json = jsonArray.get(0); assertThat(json.get("id")).isNotNull(); assertThat(json.get("id").asText()).isEqualTo(folder.getIdentifier()); assertThat(json.get("name")).isNotNull(); assertThat(json.get("name").asText()).isEqualTo(folder.getName()); assertThat(json.get("path")).isNotNull(); assertThat(json.get("path").asText()).isEqualTo(folder.getPath()); assertThat(json.get("parent")).isNull(); assertThat(json.get("type")).isNotNull(); assertThat(json.get("type").asText()).isEqualTo("folder"); assertThat(json.get("accessLevel")).isNotNull(); assertThat(json.get("accessLevel").asText()).isEqualTo("RO"); } { final JsonNode json = jsonArray.get(1); assertThat(json.get("id")).isNotNull(); assertThat(json.get("id").asText()).isEqualTo(subfolder.getIdentifier()); assertThat(json.get("name")).isNotNull(); assertThat(json.get("name").asText()).isEqualTo(subfolder.getName()); assertThat(json.get("path")).isNotNull(); assertThat(json.get("path").asText()).isEqualTo(subfolder.getPath()); assertThat(json.get("parent")).isNotNull(); assertThat(json.get("parent").asText()).isEqualTo(subfolder.getParent().getIdentifier()); assertThat(json.get("type")).isNotNull(); assertThat(json.get("type").asText()).isEqualTo("folder"); assertThat(json.get("accessLevel")).isNotNull(); assertThat(json.get("accessLevel").asText()).isEqualTo("RO"); } { final JsonNode json = jsonArray.get(2); assertThat(json.get("id")).isNotNull(); assertThat(json.get("id").asText()).isEqualTo(file1.getIdentifier()); assertThat(json.get("name")).isNotNull(); assertThat(json.get("name").asText()).isEqualTo(file1.getName()); assertThat(json.get("path")).isNotNull(); assertThat(json.get("path").asText()).isEqualTo(file1.getPath()); assertThat(json.get("type")).isNotNull(); assertThat(json.get("type").asText()).isEqualTo("file"); assertThat(json.get("parent")).isNotNull(); assertThat(json.get("parent").asText()).isEqualTo(file1.getParent().getIdentifier()); assertThat(json.get("mime")).isNotNull(); assertThat(json.get("mime").asText()).isEqualTo(file1.getMimeType()); assertThat(json.get("data")).isNull(); assertThat(json.get("sha512")).isNotNull(); assertThat(json.get("sha512").asText()).isEqualTo(file1.getDigest()); assertThat(json.get("accessLevel")).isNotNull(); assertThat(json.get("accessLevel").asText()).isEqualTo("RO"); assertThat(json.get("modified")).isNotNull(); assertThat(json.get("modified").asText()) .startsWith(file1.getModificationTime().get(Calendar.YEAR) + ""); } }
@Override public int getDepth() { if (parent == null) return 0; return 1 + parent.getDepth(); }