use of com.enonic.xp.core.impl.content.ContentConfig in project xp by enonic.
the class AbstractContentServiceTest method setUpAbstractContentServiceTest.
@BeforeEach
public void setUpAbstractContentServiceTest() {
executorService = Executors.newSingleThreadExecutor();
deleteAllIndices();
ContextAccessor.INSTANCE.set(ctxDefault());
final MemoryBlobStore blobStore = new MemoryBlobStore();
binaryService = new BinaryServiceImpl();
binaryService.setBlobStore(blobStore);
final StorageDaoImpl storageDao = new StorageDaoImpl();
storageDao.setClient(client);
final EventPublisherImpl eventPublisher = new EventPublisherImpl(executorService);
SearchDaoImpl searchDao = new SearchDaoImpl();
searchDao.setClient(client);
BranchServiceImpl branchService = new BranchServiceImpl();
branchService.setStorageDao(storageDao);
branchService.setSearchDao(searchDao);
VersionServiceImpl versionService = new VersionServiceImpl();
versionService.setStorageDao(storageDao);
CommitServiceImpl commitService = new CommitServiceImpl();
commitService.setStorageDao(storageDao);
IndexServiceInternalImpl indexServiceInternal = new IndexServiceInternalImpl();
indexServiceInternal.setClient(client);
indexService = new IndexServiceImpl();
indexService.setIndexServiceInternal(indexServiceInternal);
NodeVersionServiceImpl nodeDao = new NodeVersionServiceImpl();
nodeDao.setBlobStore(blobStore);
IndexDataServiceImpl indexedDataService = new IndexDataServiceImpl();
indexedDataService.setStorageDao(storageDao);
NodeStorageServiceImpl storageService = new NodeStorageServiceImpl();
storageService.setBranchService(branchService);
storageService.setVersionService(versionService);
storageService.setCommitService(commitService);
storageService.setNodeVersionService(nodeDao);
storageService.setIndexDataService(indexedDataService);
NodeSearchServiceImpl searchService = new NodeSearchServiceImpl();
searchService.setSearchDao(searchDao);
final NodeRepositoryServiceImpl nodeRepositoryService = new NodeRepositoryServiceImpl();
nodeRepositoryService.setIndexServiceInternal(indexServiceInternal);
final IndexServiceInternalImpl elasticsearchIndexService = new IndexServiceInternalImpl();
elasticsearchIndexService.setClient(client);
final RepositoryEntryServiceImpl repositoryEntryService = new RepositoryEntryServiceImpl();
repositoryEntryService.setIndexServiceInternal(elasticsearchIndexService);
repositoryEntryService.setNodeStorageService(storageService);
repositoryEntryService.setNodeSearchService(searchService);
repositoryEntryService.setEventPublisher(eventPublisher);
repositoryEntryService.setBinaryService(binaryService);
repositoryService = new RepositoryServiceImpl(repositoryEntryService, elasticsearchIndexService, nodeRepositoryService, storageService, searchService);
repositoryService.initialize();
nodeService = new NodeServiceImpl();
nodeService.setIndexServiceInternal(indexServiceInternal);
nodeService.setNodeStorageService(storageService);
nodeService.setNodeSearchService(searchService);
nodeService.setEventPublisher(eventPublisher);
nodeService.setBinaryService(binaryService);
nodeService.setRepositoryService(repositoryService);
nodeService.initialize();
mixinService = Mockito.mock(MixinService.class);
Mockito.when(mixinService.inlineFormItems(Mockito.isA(Form.class))).then(AdditionalAnswers.returnsFirstArg());
xDataService = Mockito.mock(XDataService.class);
Map<String, List<String>> metadata = new HashMap<>();
metadata.put(HttpHeaders.CONTENT_TYPE, List.of("image/jpg"));
final ExtractedData extractedData = ExtractedData.create().metadata(metadata).build();
final BinaryExtractor extractor = Mockito.mock(BinaryExtractor.class);
Mockito.when(extractor.extract(Mockito.isA(ByteSource.class))).thenReturn(extractedData);
mediaInfoService = new MediaInfoServiceImpl();
mediaInfoService.setBinaryExtractor(extractor);
final ResourceService resourceService = Mockito.mock(ResourceService.class);
final SiteServiceImpl siteService = new SiteServiceImpl();
siteService.setResourceService(resourceService);
siteService.setMixinService(mixinService);
contentTypeService = new ContentTypeServiceImpl(null, null, mixinService);
PageDescriptorService pageDescriptorService = Mockito.mock(PageDescriptorService.class);
PartDescriptorService partDescriptorService = Mockito.mock(PartDescriptorService.class);
LayoutDescriptorService layoutDescriptorService = Mockito.mock(LayoutDescriptorService.class);
auditLogService = Mockito.mock(AuditLogService.class);
final ContentConfig contentConfig = Mockito.mock(ContentConfig.class);
Mockito.when(contentConfig.auditlog_enabled()).thenReturn(Boolean.TRUE);
final ContentAuditLogSupportImpl contentAuditLogSupport = new ContentAuditLogSupportImpl(contentConfig, new ContentAuditLogExecutorImpl(), auditLogService);
final SecurityServiceImpl securityService = new SecurityServiceImpl(nodeService, indexService);
securityService.initialize();
final ProjectPermissionsContextManagerImpl projectAccessContextManager = new ProjectPermissionsContextManagerImpl();
final ProjectServiceImpl projectService = new ProjectServiceImpl(repositoryService, indexService, nodeService, securityService, projectAccessContextManager, eventPublisher);
projectService.initialize();
contentService = new ContentServiceImpl(nodeService, pageDescriptorService, partDescriptorService, layoutDescriptorService);
contentService.setEventPublisher(eventPublisher);
contentService.setMediaInfoService(mediaInfoService);
contentService.setSiteService(siteService);
contentService.setContentTypeService(contentTypeService);
contentService.setxDataService(xDataService);
contentService.setFormDefaultValuesProcessor((form, data) -> {
});
contentService.setContentAuditLogSupport(contentAuditLogSupport);
contentService.addContentValidator(new ContentNameValidator());
contentService.addContentValidator(new SiteConfigsValidator(siteService));
contentService.addContentValidator(new OccurrenceValidator());
contentService.addContentValidator(new ExtraDataValidator(xDataService));
contentService.initialize(mock(ContentConfig.class, invocation -> invocation.getMethod().getDefaultValue()));
}
use of com.enonic.xp.core.impl.content.ContentConfig in project xp by enonic.
the class AbstractContentSynchronizerTest method setUpContentService.
private void setUpContentService() {
final Map<String, List<String>> metadata = new HashMap<>();
metadata.put(HttpHeaders.CONTENT_TYPE, List.of("image/jpg"));
final ExtractedData extractedData = ExtractedData.create().metadata(metadata).build();
final BinaryExtractor extractor = mock(BinaryExtractor.class);
when(extractor.extract(isA(ByteSource.class))).thenReturn(extractedData);
mediaInfoService = new MediaInfoServiceImpl();
mediaInfoService.setBinaryExtractor(extractor);
XDataService xDataService = mock(XDataService.class);
MixinService mixinService = mock(MixinService.class);
when(mixinService.inlineFormItems(isA(Form.class))).then(AdditionalAnswers.returnsFirstArg());
pageDescriptorService = mock(PageDescriptorService.class);
partDescriptorService = mock(PartDescriptorService.class);
layoutDescriptorService = mock(LayoutDescriptorService.class);
contentTypeService = new ContentTypeServiceImpl(null, null, mixinService);
final ResourceService resourceService = mock(ResourceService.class);
final SiteServiceImpl siteService = new SiteServiceImpl();
siteService.setResourceService(resourceService);
siteService.setMixinService(mixinService);
final AuditLogService auditLogService = mock(AuditLogService.class);
final ContentConfig contentConfig = mock(ContentConfig.class);
final ContentAuditLogSupportImpl contentAuditLogSupport = new ContentAuditLogSupportImpl(contentConfig, new ContentAuditLogExecutorImpl(), auditLogService);
contentService = new ContentServiceImpl(nodeService, pageDescriptorService, partDescriptorService, layoutDescriptorService);
contentService.setEventPublisher(eventPublisher);
contentService.setMediaInfoService(mediaInfoService);
contentService.setSiteService(siteService);
contentService.setContentTypeService(contentTypeService);
contentService.setxDataService(xDataService);
contentService.setFormDefaultValuesProcessor((form, data) -> {
});
contentService.setContentAuditLogSupport(contentAuditLogSupport);
contentService.initialize(mock(ContentConfig.class, invocation -> invocation.getMethod().getDefaultValue()));
}
use of com.enonic.xp.core.impl.content.ContentConfig in project xp by enonic.
the class ContentServiceImplTest_media method create_media_image_invalid_file_name_allowed_by_config.
@Test
public void create_media_image_invalid_file_name_allowed_by_config() throws Exception {
final CreateMediaParams createMediaParams = new CreateMediaParams();
// file ending with point is illegal on Windows
createMediaParams.byteSource(loadImage("cat-small.jpg")).name("cat-small.").parent(ContentPath.ROOT);
Mockito.when(this.xDataService.getFromContentType(Mockito.any(ContentType.class))).thenReturn(XDatas.empty());
final ContentConfig contentConfig = mock(ContentConfig.class);
when(contentConfig.attachments_allowUnsafeNames()).thenReturn(true);
contentService.initialize(contentConfig);
final Content content = this.contentService.create(createMediaParams);
final Content storedContent = this.contentService.getById(content.getId());
final Attachments attachments = storedContent.getAttachments();
assertEquals(1, attachments.getSize());
assertEquals(attachments.get(0).getName(), "cat-small.");
}
Aggregations