use of org.craftercms.core.service.Item in project engine by craftercms.
the class ContentStoreServiceMockUtils method setUpGetContentFromClassPath.
public static ContentStoreService setUpGetContentFromClassPath(ContentStoreService mock) {
Answer<Content> getContentAnswer = new Answer<Content>() {
@Override
public Content answer(InvocationOnMock invocation) throws Throwable {
Object[] args = invocation.getArguments();
String url;
if (args.length == 2) {
url = (String) args[1];
} else {
url = (String) args[2];
}
Content content = getContentFromClassPath(url);
if (content == null) {
throw new PathNotFoundException();
}
return content;
}
};
Answer<Boolean> existsAnswer = new Answer<Boolean>() {
@Override
public Boolean answer(InvocationOnMock invocation) throws Throwable {
Object[] args = invocation.getArguments();
String url = (String) args[1];
return new ClassPathResource(url).exists();
}
};
when(mock.getContent(any(Context.class), anyString())).then(getContentAnswer);
when(mock.getContent(any(Context.class), any(CachingOptions.class), anyString())).then(getContentAnswer);
when(mock.exists(any(Context.class), anyString())).then(existsAnswer);
when(mock.findChildren(any(Context.class), anyString())).then(new Answer<List<Item>>() {
@Override
public List<Item> answer(InvocationOnMock invocation) throws Throwable {
String folderUrl = (String) invocation.getArguments()[1];
Resource folderRes = new ClassPathResource(folderUrl);
File folder = folderRes.getFile();
String[] childNames = folder.list();
List<Item> children = new ArrayList<>(childNames.length);
for (String childName : childNames) {
Item child = new Item();
child.setUrl(folderUrl + "/" + childName);
children.add(child);
}
return children;
}
});
return mock;
}
use of org.craftercms.core.service.Item in project engine by craftercms.
the class FolderToIndexItemProcessorTest method createContentStoreService.
private ContentStoreService createContentStoreService() {
Document dom = mock(Document.class);
when(dom.asXML()).thenReturn(XML);
Item item = new Item();
item.setDescriptorUrl(INDEX_EN_URL);
item.setDescriptorDom(dom);
item.setKey(INDEX_EN_URL);
ContentStoreService storeService = mock(ContentStoreService.class);
when(storeService.findItem(null, null, INDEX_EN_URL, null)).thenReturn(item);
return storeService;
}
use of org.craftercms.core.service.Item in project engine by craftercms.
the class FolderToIndexItemProcessorTest method testProcess.
@Test
public void testProcess() throws Exception {
Item item = new Item();
item.setFolder(true);
item.setUrl(WEBSITE_FOLDER_URL);
Item processedItem = processor.process(null, null, item);
assertEquals(WEBSITE_FOLDER_URL, processedItem.getUrl());
assertEquals(INDEX_EN_URL, processedItem.getDescriptorUrl());
assertEquals(XML, processedItem.getDescriptorDom().asXML());
}
use of org.craftercms.core.service.Item in project engine by craftercms.
the class ToCurrentTargetedVersionItemProcessorTest method testProcess.
@Test
public void testProcess() throws Exception {
Item item = new Item();
item.setFolder(false);
item.setUrl(INDEX_FR_URL);
Item processedItem = processor.process(null, null, item);
assertEquals(INDEX_EN_URL, processedItem.getUrl());
}
use of org.craftercms.core.service.Item in project engine by craftercms.
the class ToCurrentTargetedVersionItemProcessorTest method createContentStoreService.
private ContentStoreService createContentStoreService() {
Item item = new Item();
item.setUrl(INDEX_EN_URL);
ContentStoreService storeService = mock(ContentStoreService.class);
when(storeService.findItem(null, null, INDEX_EN_US_URL, null)).thenReturn(item);
return storeService;
}
Aggregations