/*
* Copyright (C) 2003-2010 eXo Platform SAS.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License
* as published by the Free Software Foundation; either version 3
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, see<http://www.gnu.org/licenses/>.
*/
package org.exoplatform.wiki.mow.core.api;
import org.exoplatform.wiki.mow.api.Model;
import org.exoplatform.wiki.mow.api.Page;
import org.exoplatform.wiki.mow.api.WikiStore;
import org.exoplatform.wiki.mow.api.WikiType;
import org.exoplatform.wiki.mow.core.api.wiki.GroupWiki;
import org.exoplatform.wiki.mow.core.api.wiki.GroupWikiContainer;
import org.exoplatform.wiki.mow.core.api.wiki.PortalWiki;
import org.exoplatform.wiki.mow.core.api.wiki.PortalWikiContainer;
import org.exoplatform.wiki.mow.core.api.wiki.UserWiki;
import org.exoplatform.wiki.mow.core.api.wiki.UserWikiContainer;
import org.exoplatform.wiki.mow.core.api.wiki.WikiContainer;
/**
* Created by The eXo Platform SAS
* Author : viet.nguyen
* viet.nguyen@exoplatform.com
* Mar 29, 2010
*/
public class TestWikiStore extends AbstractMOWTestcase {
public void testGetWikiStore() {
Model model = mowService.getModel();
WikiStore wStore = model.getWikiStore();
assertNotNull(wStore);
}
public void testGetWikiContainers() {
Model model = mowService.getModel();
WikiStoreImpl wStore = (WikiStoreImpl) model.getWikiStore();
WikiContainer<PortalWiki> pwikiContainer = wStore.getWikiContainer(WikiType.PORTAL);
PortalWikiContainer portalWikiContainer = (PortalWikiContainer) pwikiContainer;
assertNotNull(portalWikiContainer);
WikiContainer<GroupWiki> gwikiContainer = wStore.getWikiContainer(WikiType.GROUP);
GroupWikiContainer groupWikiContainer = (GroupWikiContainer) gwikiContainer;
assertNotNull(groupWikiContainer);
WikiContainer<UserWiki> uwikiContainer = wStore.getWikiContainer(WikiType.USER);
UserWikiContainer userWikiContainer = (UserWikiContainer) uwikiContainer;
assertNotNull(userWikiContainer);
}
public void testAddAndGetPortalClassicWiki() {
Model model = mowService.getModel();
WikiStoreImpl wStore = (WikiStoreImpl) model.getWikiStore();
WikiContainer<PortalWiki> portalWikiContainer = wStore.getWikiContainer(WikiType.PORTAL);
PortalWiki wiki = portalWikiContainer.addWiki("classic");
PortalWiki classicWiki = portalWikiContainer.getWiki("classic");
assertSame(wiki, classicWiki);
}
public void testAddAndGetAdministratorsGroupWiki() {
Model model = mowService.getModel();
WikiStoreImpl wStore = (WikiStoreImpl) model.getWikiStore();
WikiContainer<GroupWiki> groupWikiContainer = wStore.getWikiContainer(WikiType.GROUP);
GroupWiki wiki = groupWikiContainer.addWiki("/platform/administrators");
GroupWiki organizationWiki = groupWikiContainer.getWiki("/platform/administrators");
assertSame(wiki, organizationWiki);
}
public void testAddAndGetDemoUserWiki() {
Model model = mowService.getModel();
WikiStoreImpl wStore = (WikiStoreImpl) model.getWikiStore();
WikiContainer<UserWiki> userWikiContainer = wStore.getWikiContainer(WikiType.USER);
UserWiki wiki = userWikiContainer.addWiki("demo");
UserWiki rootWiki = userWikiContainer.getWiki("demo");
assertSame(wiki, rootWiki);
}
public void testGetPortalClassicWikiHomePage() {
Model model = mowService.getModel();
WikiStoreImpl wStore = (WikiStoreImpl) model.getWikiStore();
WikiContainer<PortalWiki> portalWikiContainer = wStore.getWikiContainer(WikiType.PORTAL);
PortalWiki wiki = portalWikiContainer.addWiki("classic");
Page wikiHomePage = wiki.getWikiHome();
assertNotNull(wikiHomePage);
}
public void testAddAndGetPortalClassicWikiPage() {
Model model = mowService.getModel();
WikiStoreImpl wStore = (WikiStoreImpl) model.getWikiStore();
WikiContainer<PortalWiki> portalWikiContainer = wStore.getWikiContainer(WikiType.PORTAL);
PortalWiki wiki = portalWikiContainer.addWiki("classic");
assertNotNull(wiki) ;
/*WikiHome wikiHomePage = wiki.getWikiHome();
AttachmentImpl content = wiki.createContent() ;
assertNotNull(content) ;
wikiHomePage.setContent(content) ;
content.setSyntax("xwiki_2.0");
content.setText("This is exo wiki") ;
AttachmentImpl addedContent = wikiHomePage.getContent() ;
assertNotNull(addedContent) ;
assertEquals(addedContent.getSyntax(), "xwiki_2.0") ;
assertEquals(addedContent.getText(), "This is exo wiki") ;
PageImpl wikipage = wiki.createWikiPage();
wikipage.setName("Hello World Wiki Page");
wikiHomePage.addWikiPage(wikipage);
assertSame(wikipage, wikiHomePage.getChildPages().iterator().next());
PageImpl wikiChildPage = wiki.createWikiPage();
wikiChildPage.setName("Hello World Wiki Child Page");
wikiChildPage.setParentPage(wikipage);
assertSame(wikiChildPage, wikipage.getChildPages().iterator().next());
AttachmentImpl pageContent = wiki.createContent() ;
wikipage.setContent(pageContent) ;
pageContent.setSyntax("exowiki_2.0") ;
pageContent.setText("This is the first page's content") ;
AttachmentImpl addedPageContent = wikipage.getContent() ;
assertEquals(addedPageContent.getSyntax(), "exowiki_2.0") ;
assertEquals(addedPageContent.getText(), "This is the first page's content") ;
*/
}
}