use of org.apache.sling.distribution.DistributionRequest in project sling by apache.
the class PrivilegeDistributionRequestAuthorizationStrategyTest method testPermissionOnDelete.
@Test
public void testPermissionOnDelete() throws Exception {
String jcrPrivilege = "somePermission";
PrivilegeDistributionRequestAuthorizationStrategy strategy = new PrivilegeDistributionRequestAuthorizationStrategy(jcrPrivilege);
DistributionRequest distributionRequest = mock(DistributionRequest.class);
ResourceResolver resourceResolver = mock(ResourceResolver.class);
Session session = mock(Session.class);
AccessControlManager acm = mock(AccessControlManager.class);
Privilege privilege = mock(Privilege.class);
when(acm.privilegeFromName(jcrPrivilege)).thenReturn(privilege);
Privilege jcrReadPrivilege = mock(Privilege.class);
when(acm.privilegeFromName(Privilege.JCR_REMOVE_NODE)).thenReturn(jcrReadPrivilege);
when(session.getAccessControlManager()).thenReturn(acm);
when(resourceResolver.adaptTo(Session.class)).thenReturn(session);
String[] paths = new String[] { "/foo" };
for (String path : paths) {
when(acm.hasPrivileges(path, new Privilege[] { privilege, jcrReadPrivilege })).thenReturn(true);
when(session.nodeExists(path)).thenReturn(true);
}
when(distributionRequest.getPaths()).thenReturn(paths);
when(distributionRequest.getRequestType()).thenReturn(DistributionRequestType.DELETE);
strategy.checkPermission(resourceResolver, distributionRequest);
}
use of org.apache.sling.distribution.DistributionRequest in project sling by apache.
the class RemoteDistributionPackageExporterTest method testNothingExported.
@Test
public void testNothingExported() throws Exception {
DistributionPackageBuilder packageBuilder = mock(DistributionPackageBuilder.class);
DistributionTransportSecretProvider distributionTransportSecretProvider = mock(DistributionTransportSecretProvider.class);
String[] endpoints = new String[0];
RemoteDistributionPackageExporter remotedistributionPackageExporter = new RemoteDistributionPackageExporter(mock(DefaultDistributionLog.class), packageBuilder, distributionTransportSecretProvider, endpoints, 1, new HttpConfiguration(10000));
ResourceResolver resourceResolver = mock(ResourceResolver.class);
DistributionRequest distributionRequest = new SimpleDistributionRequest(DistributionRequestType.ADD, "/");
final List<DistributionPackage> distributionPackages = new ArrayList<DistributionPackage>();
remotedistributionPackageExporter.exportPackages(resourceResolver, distributionRequest, new DistributionPackageProcessor() {
@Override
public void process(DistributionPackage distributionPackage) {
distributionPackages.add(distributionPackage);
}
@Override
public List<DistributionResponse> getAllResponses() {
return null;
}
@Override
public int getPackagesCount() {
return 0;
}
@Override
public long getPackagesSize() {
return 0;
}
});
assertNotNull(distributionPackages);
assertTrue(distributionPackages.isEmpty());
}
use of org.apache.sling.distribution.DistributionRequest in project sling by apache.
the class AvroContentSerializerTest method testExtractDeep.
@Test
public void testExtractDeep() throws Exception {
AvroContentSerializer avroContentSerializer = new AvroContentSerializer("avro");
DistributionRequest request = new SimpleDistributionRequest(DistributionRequestType.ADD, true, "/libs");
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
NavigableMap<String, List<String>> nodeFilters = new TreeMap<String, List<String>>();
NavigableMap<String, List<String>> propertyFilters = new TreeMap<String, List<String>>();
try {
DistributionExportFilter filter = DistributionExportFilter.createFilter(request, nodeFilters, propertyFilters);
avroContentSerializer.exportToStream(resourceResolver, new DistributionExportOptions(request, filter), outputStream);
byte[] bytes = outputStream.toByteArray();
assertNotNull(bytes);
assertTrue(bytes.length > 0);
} finally {
outputStream.close();
}
}
use of org.apache.sling.distribution.DistributionRequest in project sling by apache.
the class AvroContentSerializerTest method testBuildAndInstallOnSingleShallowPath.
@Test
public void testBuildAndInstallOnSingleShallowPath() throws Exception {
String type = "avro";
DistributionContentSerializer contentSerializer = new AvroContentSerializer(type);
String tempFilesFolder = "target";
String[] nodeFilters = new String[0];
String[] propertyFilters = new String[0];
DistributionPackageBuilder packageBuilder = new FileDistributionPackageBuilder(type, contentSerializer, tempFilesFolder, null, nodeFilters, propertyFilters);
DistributionRequest request = new SimpleDistributionRequest(DistributionRequestType.ADD, "/libs/sub");
DistributionPackage distributionPackage = packageBuilder.createPackage(resourceResolver, request);
Resource resource = resourceResolver.getResource("/libs/sub");
resourceResolver.delete(resource);
resourceResolver.commit();
assertTrue(packageBuilder.installPackage(resourceResolver, distributionPackage));
assertNotNull(resourceResolver.getResource("/libs"));
assertNotNull(resourceResolver.getResource("/libs/sub"));
assertNotNull(resourceResolver.getResource("/libs/sameLevel"));
}
use of org.apache.sling.distribution.DistributionRequest in project sling by apache.
the class PrivilegeDistributionRequestAuthorizationStrategyTest method testPermissionOnAdd.
@Test
public void testPermissionOnAdd() throws Exception {
String jcrPrivilege = "somePermission";
PrivilegeDistributionRequestAuthorizationStrategy strategy = new PrivilegeDistributionRequestAuthorizationStrategy(jcrPrivilege);
DistributionRequest distributionRequest = mock(DistributionRequest.class);
ResourceResolver resourceResolver = mock(ResourceResolver.class);
Session session = mock(Session.class);
AccessControlManager acm = mock(AccessControlManager.class);
Privilege privilege = mock(Privilege.class);
when(acm.privilegeFromName(jcrPrivilege)).thenReturn(privilege);
Privilege jcrReadPrivilege = mock(Privilege.class);
when(acm.privilegeFromName(Privilege.JCR_READ)).thenReturn(jcrReadPrivilege);
when(session.getAccessControlManager()).thenReturn(acm);
when(resourceResolver.adaptTo(Session.class)).thenReturn(session);
String[] paths = new String[] { "/foo" };
for (String path : paths) {
when(acm.hasPrivileges(path, new Privilege[] { privilege, jcrReadPrivilege })).thenReturn(true);
}
when(distributionRequest.getPaths()).thenReturn(paths);
when(distributionRequest.getRequestType()).thenReturn(DistributionRequestType.ADD);
strategy.checkPermission(resourceResolver, distributionRequest);
}
Aggregations