r1107 - in trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication: externalize synchro
Author: mfortun Date: 2011-08-04 11:38:27 +0200 (Thu, 04 Aug 2011) New Revision: 1107 Url: http://nuiton.org/repositories/revision/wikitty/1107 Log: initialisation for test Modified: trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalizeTest.java trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationSynchronizeTest.java Modified: trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalizeTest.java =================================================================== --- trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalizeTest.java 2011-08-03 14:46:33 UTC (rev 1106) +++ trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalizeTest.java 2011-08-04 09:38:27 UTC (rev 1107) @@ -1,22 +1,176 @@ package org.nuiton.wikitty.publication.externalize; +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import junit.framework.Assert; +import org.apache.commons.io.FileUtils; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.nuiton.util.ApplicationConfig; +import org.nuiton.util.ArgumentsParserException; +import org.nuiton.util.FileUtil; +import org.nuiton.wikitty.WikittyConfigOption; +import org.nuiton.wikitty.WikittyProxy; +import org.nuiton.wikitty.WikittyServiceFactory; +import org.nuiton.wikitty.entities.Wikitty; +import org.nuiton.wikitty.entities.WikittyImpl; +import org.nuiton.wikitty.entities.WikittyLabelHelper; +import org.nuiton.wikitty.entities.WikittyLabelImpl; +import org.nuiton.wikitty.publication.WikittyFileUtil; +import org.nuiton.wikitty.publication.entities.WikittyPubDataHelper; +import org.nuiton.wikitty.publication.entities.WikittyPubDataImpl; +import org.nuiton.wikitty.publication.entities.WikittyPubTextHelper; +import org.nuiton.wikitty.publication.entities.WikittyPubTextImpl; +import org.nuiton.wikitty.publication.synchro.WikittyPublicationFileSystem; +import org.nuiton.wikitty.publication.synchro.WikittyPublicationSynchronize; +import org.nuiton.wikitty.search.Criteria; +import org.nuiton.wikitty.search.Search; + public class WikittyPublicationExternalizeTest { + protected File tempHome; + protected List<Wikitty> listWikittyPubData; + protected List<Wikitty> listWikittyPubText; + protected List<String> labels; + protected ApplicationConfig config; + protected WikittyProxy proxy; + protected Criteria allCrit; + protected File starts; + - /* - * 1) créer un repos de wikitty local - * - * 2) externalizer, véfifier le jar, que le fichier temporaire - * n'existe plus. - * - * 3) vérifier la présence de .java, .class et le fichier correspondant - * pour les wikittypubtext - * - * - * + + @Before + public void init() throws IOException { + + if (!FileUtils.getTempDirectory().exists()) { + FileUtils.getTempDirectory().mkdir(); + } + + tempHome = new File(FileUtils.getTempDirectory().getCanonicalFile() + + File.separator + "WikittyPublicationFileSystemTest"); + + if (tempHome.exists()) { + FileUtil.deleteRecursively(tempHome); + + } + tempHome.mkdir(); + + // prepare the wikitties list + listWikittyPubData = new LinkedList<Wikitty>(); + listWikittyPubText = new LinkedList<Wikitty>(); + + labels = new ArrayList<String>(6); + labels.add(0, "sub"); + labels.add(1, labels.get(0) + WikittyFileUtil.WIKITTY_LABEL_SEPARATOR + + "sub11"); + labels.add(2, labels.get(1) + WikittyFileUtil.WIKITTY_LABEL_SEPARATOR + + "sub12"); + labels.add(3, labels.get(0) + WikittyFileUtil.WIKITTY_LABEL_SEPARATOR + + "sub3"); + labels.add(4, labels.get(0) + WikittyFileUtil.WIKITTY_LABEL_SEPARATOR + + "sub21"); + labels.add(5, labels.get(4) + WikittyFileUtil.WIKITTY_LABEL_SEPARATOR + + "sub21"); + + for (int i = 0; i < 6; i++) { + + Wikitty pubText = new WikittyImpl(); + Wikitty pubData = new WikittyImpl(); + + pubData.addExtension(WikittyPubDataImpl.extensionWikittyPubData); + pubText.addExtension(WikittyPubTextImpl.extensionWikittyPubText); + + WikittyPubTextHelper.setContent(pubText, "content_" + i); + WikittyPubTextHelper.setFileExtension(pubText, "js"); + WikittyPubTextHelper.setMimeType(pubText, "application/javascript"); + WikittyPubTextHelper.setName(pubText, "pubtextnum_" + i); + + WikittyPubDataHelper.setContent(pubData, + ("content data" + i).getBytes()); + WikittyPubDataHelper.setFileExtension(pubData, "jpg"); + WikittyPubDataHelper.setMimeType(pubData, "image/jpg"); + WikittyPubDataHelper.setName(pubData, "pubdatanum_" + i); + + pubData.addExtension(WikittyLabelImpl.extensions); + pubText.addExtension(WikittyLabelImpl.extensions); + + WikittyLabelHelper.addLabels(pubData, labels.get(i)); + WikittyLabelHelper.addLabels(pubText, labels.get(i)); + + listWikittyPubData.add(pubData); + listWikittyPubText.add(pubText); + } + + // then initialise application config for wikitty proxy on service FS + config = new ApplicationConfig(); + config.setOption(WikittyPublicationSynchronize.IS_RECURSION_OPTION, + "true"); + config.setOption( + WikittyConfigOption.WIKITTY_WIKITTYSERVICE_COMPONENTS.getKey(), + WikittyPublicationFileSystem.class.getName()); + + starts = new File(tempHome.getAbsolutePath() + File.separator + "sub"); + if (starts.exists()) { + FileUtil.deleteRecursively(starts); + } + starts.mkdir(); + + String url = "file:///" + tempHome.getAbsolutePath() + "#sub"; + + config.setOption(WikittyConfigOption.WIKITTY_SERVER_URL.getKey(), url); + + proxy = new WikittyProxy( + WikittyServiceFactory.buildWikittyService(config)); + + allCrit = Search.query().keyword("*").criteria(); + + } + + @After + public void delete() { + FileUtil.deleteRecursively(tempHome); + } + + /** + * check save wikitty */ + @Test + public void saveWikittyOnFS() { + + Assert.assertEquals(0, proxy.findAllIdByCriteria(allCrit).getNumFound()); + + proxy.storeWikitty(listWikittyPubData); + proxy.storeWikitty(listWikittyPubText); + + int result = listWikittyPubData.size() + listWikittyPubText.size(); + + Assert.assertEquals(result, proxy.findAllIdByCriteria(allCrit) + .getNumFound()); + + } + @Test + public void testExternalize(){ + // Jar is created + + + } + + @Test + public void testFileInJar(){ + // test that there are normal file and class and java. + + + } + + } Modified: trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationSynchronizeTest.java =================================================================== --- trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationSynchronizeTest.java 2011-08-03 14:46:33 UTC (rev 1106) +++ trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationSynchronizeTest.java 2011-08-04 09:38:27 UTC (rev 1107) @@ -1,8 +1,172 @@ -package org.nuiton.wikitty.publication.synchro; + package org.nuiton.wikitty.publication.synchro; +import java.io.File; +import java.io.IOException; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +import junit.framework.Assert; + +import org.apache.commons.io.FileUtils; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.nuiton.util.ApplicationConfig; +import org.nuiton.util.ArgumentsParserException; +import org.nuiton.util.FileUtil; +import org.nuiton.wikitty.WikittyConfigOption; +import org.nuiton.wikitty.WikittyProxy; +import org.nuiton.wikitty.WikittyServiceFactory; +import org.nuiton.wikitty.entities.Wikitty; +import org.nuiton.wikitty.entities.WikittyImpl; +import org.nuiton.wikitty.entities.WikittyLabelHelper; +import org.nuiton.wikitty.entities.WikittyLabelImpl; +import org.nuiton.wikitty.publication.WikittyPublicationFallbackService; +import org.nuiton.wikitty.publication.entities.WikittyPubTextHelper; +import org.nuiton.wikitty.publication.entities.WikittyPubTextImpl; +import org.nuiton.wikitty.search.Criteria; +import org.nuiton.wikitty.search.Search; + public class WikittyPublicationSynchronizeTest { + protected File tempHome; + protected WikittyProxy proxyOnClassic; + protected WikittyProxy proxyOnFS; + + protected Map<String, Wikitty> onMain; + protected Map<String, Wikitty> onFallBack; + + private Criteria allCrit; + + @Before + public void init() throws IOException, ArgumentsParserException { + allCrit = Search.query().keyword("*").criteria(); + + if (!FileUtils.getTempDirectory().exists()) { + FileUtils.getTempDirectory().mkdir(); + } + + tempHome = new File(FileUtils.getTempDirectory().getCanonicalFile() + + File.separator + "WikittyPublicationFallbackServiceTest"); + + if (tempHome.exists()) { + FileUtil.deleteRecursively(tempHome); + + } + tempHome.mkdir(); + + File starts = new File(tempHome.getAbsolutePath() + File.separator + + "sub"); + if (starts.exists()) { + FileUtil.deleteRecursively(starts); + } + starts.mkdir(); + + // then initialise application config for wikitty proxy on service FS + ApplicationConfig configFS = new ApplicationConfig(); + configFS.setOption(WikittyPublicationSynchronize.IS_RECURSION_OPTION, + "true"); + configFS.setOption( + WikittyConfigOption.WIKITTY_WIKITTYSERVICE_COMPONENTS.getKey(), + WikittyPublicationFileSystem.class.getName()); + + String url = "file:///" + tempHome.getAbsolutePath() + "#sub"; + + configFS.setOption(WikittyConfigOption.WIKITTY_SERVER_URL.getKey(), url); + + ApplicationConfig configLocal = new ApplicationConfig( + "wikitty-publication-ws-test.properties"); + + // configLocal = WikittyPublicationConfig.getConfig(); + + String bdDir = tempHome + File.separator + "bd"; + + configLocal.setOption("wikitty.data.directory", bdDir); + configLocal.parse(null); + // create two service + proxyOnClassic = new WikittyProxy( + WikittyServiceFactory.buildWikittyService(configLocal)); + + proxyOnFS = new WikittyProxy( + WikittyServiceFactory.buildWikittyService(configFS)); + // initialize fall back service + WikittyPublicationFallbackService fallback = new WikittyPublicationFallbackService( + proxyOnClassic.getWikittyService(), null); + fallback.setFallbackService(proxyOnFS.getWikittyService()); + + + onMain = new HashMap<String, Wikitty>(); + + onFallBack = new HashMap<String, Wikitty>(); + + // create wikitty for the test + for (int i = 0; i < 10; i++) { + + Wikitty pubTextMain = new WikittyImpl(); + Wikitty pubTextFall = new WikittyImpl(); + + pubTextMain + .addExtension(WikittyPubTextImpl.extensionWikittyPubText); + pubTextFall + .addExtension(WikittyPubTextImpl.extensionWikittyPubText); + + WikittyPubTextHelper.setContent(pubTextMain, "content_main_" + i); + WikittyPubTextHelper.setFileExtension(pubTextMain, "js"); + WikittyPubTextHelper.setMimeType(pubTextMain, + "application/javascript"); + WikittyPubTextHelper.setName(pubTextMain, "pubtextOnMain_" + i); + + WikittyPubTextHelper.setContent(pubTextFall, "content_fall_" + i); + WikittyPubTextHelper.setFileExtension(pubTextFall, "js"); + WikittyPubTextHelper.setMimeType(pubTextFall, + "application/javascript"); + WikittyPubTextHelper.setName(pubTextFall, "pubtextOnFall_" + i); + + pubTextMain.addExtension(WikittyLabelImpl.extensions); + pubTextFall.addExtension(WikittyLabelImpl.extensions); + + WikittyLabelHelper.addLabels(pubTextMain, "sub"); + WikittyLabelHelper.addLabels(pubTextFall, "sub"); + + onFallBack.put(pubTextFall.getId(), pubTextFall); + onMain.put(pubTextMain.getId(), pubTextMain); + + } + + + + } + + /** + * delete directory after test + */ + @After + public void afterTest() { + // remove directory + FileUtil.deleteRecursively(tempHome); + } + + + public void putAllWikittyOnServices() { + + List<Wikitty> listFall = new LinkedList<Wikitty>(); + listFall.addAll(onFallBack.values()); + + + proxyOnFS.storeWikitty(listFall); + + List<Wikitty> listmain = new LinkedList<Wikitty>(); + listmain.addAll(onMain.values()); + + + proxyOnClassic.storeWikitty(listmain); + + } + + /* * Liste des tests à faire: *
participants (1)
-
mfortun@users.nuiton.org