use of org.xwiki.vfs.VfsResourceReference in project xwiki-platform by xwiki.
the class VfsResourceReferenceSerializerTest method serializeWhenNoSpecificSchemeSerializer.
@Test
public void serializeWhenNoSpecificSchemeSerializer() throws Exception {
VfsResourceReference reference = new VfsResourceReference(URI.create("somescheme:wiki:space.page@attachment"), "path1/path2/test.txt");
ExtendedURL extendedURL = new ExtendedURL(Arrays.asList("vfs", "somescheme:wiki:space.page@attachment", "path1", "path2", "test.txt"));
URLNormalizer<ExtendedURL> normalizer = this.mocker.getInstance(new DefaultParameterizedType(null, URLNormalizer.class, ExtendedURL.class), "contextpath");
when(normalizer.normalize(extendedURL)).thenReturn(extendedURL);
assertEquals("/vfs/somescheme%3Awiki%3Aspace.page%40attachment/path1/path2/test.txt", this.mocker.getComponentUnderTest().serialize(reference).toString());
}
use of org.xwiki.vfs.VfsResourceReference in project xwiki-platform by xwiki.
the class VfsResourceReferenceTest method toURI.
@Test
public void toURI() {
VfsResourceReference reference = new VfsResourceReference(URI.create("scheme:specific"), "a/b");
URI expected = URI.create("scheme:specific/a/b");
assertEquals(expected, reference.toURI());
}
use of org.xwiki.vfs.VfsResourceReference in project xwiki-platform by xwiki.
the class VfsResourceReferenceTest method constructor.
@Test
public void constructor() {
VfsResourceReference reference = new VfsResourceReference(URI.create("attach:Sandbox.WebHome@my.zip/path/to/file"));
assertEquals("attach:Sandbox.WebHome@my.zip", reference.getURI().toString());
assertEquals("path/to/file", reference.getPath());
}
use of org.xwiki.vfs.VfsResourceReference in project xwiki-platform by xwiki.
the class PathConverterTest method convertWhenError.
@Test
public void convertWhenError() throws Exception {
ResourceReferenceSerializer<VfsResourceReference, URI> serializer = this.mocker.getInstance(new DefaultParameterizedType(null, ResourceReferenceSerializer.class, VfsResourceReference.class, URI.class), "truevfs");
VfsResourceReference reference = new VfsResourceReference(URI.create("attach:Sandbox.WebHome@my.zip"), "a/b/c");
when(serializer.serialize(reference)).thenThrow(new SerializeResourceReferenceException("error"));
try {
this.mocker.getComponentUnderTest().convert(new DefaultParameterizedType(null, Path.class), "attach:Sandbox.WebHome@my.zip/a/b/c");
fail("Should have thrown an exception here");
} catch (ConversionException expected) {
assertEquals("Failed to convert [attach:Sandbox.WebHome@my.zip/a/b/c] to a Path object", expected.getMessage());
}
}
use of org.xwiki.vfs.VfsResourceReference in project xwiki-platform by xwiki.
the class PathConverterTest method convertWhenNoPermission.
@Test
public void convertWhenNoPermission() throws Exception {
ResourceReferenceSerializer<VfsResourceReference, URI> serializer = this.mocker.getInstance(new DefaultParameterizedType(null, ResourceReferenceSerializer.class, VfsResourceReference.class, URI.class), "truevfs");
VfsResourceReference reference = new VfsResourceReference(URI.create("attach:Sandbox.WebHome@my.zip"), "a/b/c");
when(serializer.serialize(reference)).thenReturn(URI.create("attach://xwiki:Sandbox.WebHome/my.zip/a/b/c"));
VfsPermissionChecker permissionChecker = this.mocker.getInstance(VfsPermissionChecker.class, "cascading");
doThrow(new VfsException("unauthorized")).when(permissionChecker).checkPermission(reference);
try {
this.mocker.getComponentUnderTest().convert(new DefaultParameterizedType(null, Path.class), "attach:Sandbox.WebHome@my.zip/a/b/c");
fail("Should have thrown an exception here");
} catch (ConversionException expected) {
assertEquals("Failed to convert [attach:Sandbox.WebHome@my.zip/a/b/c] to a Path object", expected.getMessage());
assertEquals("VfsException: unauthorized", ExceptionUtils.getRootCauseMessage(expected));
}
}
Aggregations