use of com.enonic.xp.content.CreateMediaParams in project xp by enonic.
the class CreateMediaHandlerTest method createMediaAsPDFDocument.
@Test
public void createMediaAsPDFDocument() {
Mockito.when(this.contentService.create(Mockito.any(CreateMediaParams.class))).thenAnswer(mock -> {
final CreateMediaParams params = (CreateMediaParams) mock.getArguments()[0];
final PropertySet attachmentSet = new PropertySet();
attachmentSet.addString("attachment", params.getName());
final PropertyTree propertyTree = new PropertyTree();
propertyTree.addSet("media", attachmentSet);
return Media.create().id(ContentId.from("dbc077af-fb97-4b17-a567-ad69e85f1010")).name(params.getName()).parentPath(params.getParent()).type(ContentTypeName.documentMedia()).displayName(params.getName()).valid(true).creator(PrincipalKey.ofAnonymous()).data(propertyTree).attachments(Attachments.create().add(Attachment.create().name("documentName.pdf").label("source").mimeType("application/pdf").size(653453).build()).build()).createdTime(Instant.parse("1975-01-08T00:00:00Z")).build();
});
runFunction("/test/CreateMediaHandlerTest.js", "createMediaAsPDF");
}
use of com.enonic.xp.content.CreateMediaParams in project xp by enonic.
the class CreateMediaHandler method createParams.
private CreateMediaParams createParams(final String name) {
final CreateMediaParams params = new CreateMediaParams();
params.name(name);
params.parent(this.parentPath != null ? ContentPath.from(this.parentPath) : null);
params.mimeType(this.mimeType);
params.byteSource(this.data);
params.focalX(this.focalX);
params.focalY(this.focalY);
return params;
}
use of com.enonic.xp.content.CreateMediaParams in project xp by enonic.
the class CreateMediaHandler method doExecute.
@Override
protected Object doExecute() {
String name = this.name;
Content result = null;
final ContentPath parent = this.parentPath != null ? ContentPath.from(this.parentPath) : ContentPath.ROOT;
while (result == null) {
final CreateMediaParams params = createParams(name);
try {
result = this.contentService.create(params);
} catch (ContentAlreadyExistsException e) {
name = generateUniqueContentName(this.idGenerator, parent, this.name);
}
}
return new ContentMapper(result);
}
use of com.enonic.xp.content.CreateMediaParams in project xp by enonic.
the class ContentServiceImplTest_media method create_media_document.
@Test
public void create_media_document() throws Exception {
final CreateMediaParams createMediaParams = new CreateMediaParams();
createMediaParams.byteSource(loadImage("document.pdf")).name("document.pdf").mimeType("application/pdf").parent(ContentPath.ROOT);
Mockito.when(this.xDataService.getFromContentType(Mockito.any(ContentType.class))).thenReturn(XDatas.empty());
final Content content = this.contentService.create(createMediaParams);
final Content storedContent = this.contentService.getById(content.getId());
assertNotNull(storedContent.getName());
assertNotNull(storedContent.getCreatedTime());
assertNotNull(storedContent.getCreator());
assertNotNull(storedContent.getModifiedTime());
assertNotNull(storedContent.getModifier());
assertNotNull(storedContent.getData().getString(ContentPropertyNames.MEDIA));
final Attachments attachments = storedContent.getAttachments();
assertEquals(1, attachments.getSize());
}
use of com.enonic.xp.content.CreateMediaParams in project xp by enonic.
the class ContentServiceImplTest_media method audit_data.
@Test
public void audit_data() throws Exception {
final ArgumentCaptor<LogAuditLogParams> captor = ArgumentCaptor.forClass(LogAuditLogParams.class);
final CreateMediaParams createMediaParams = new CreateMediaParams();
createMediaParams.byteSource(loadImage("cat-small.jpg")).name("Small cat").parent(ContentPath.ROOT);
final Content content = this.contentService.create(createMediaParams);
Mockito.verify(auditLogService, Mockito.timeout(5000).atLeast(15)).log(captor.capture());
final PropertySet logResultSet = captor.getAllValues().stream().filter(log -> log.getType().equals("system.content.create")).findFirst().get().getData().getSet("result");
assertEquals(content.getId().toString(), logResultSet.getString("id"));
assertEquals(content.getPath().toString(), logResultSet.getString("path"));
}
Aggregations