From: <die...@us...> - 2012-07-17 16:11:11
|
Revision: 4104 http://openutils.svn.sourceforge.net/openutils/?rev=4104&view=rev Author: diego_schivo Date: 2012-07-17 16:11:00 +0000 (Tue, 17 Jul 2012) Log Message: ----------- MESSAGES-18 Add unit-test for RepositoryMessagesImpl Added Paths: ----------- magnoliamodules/branches/magnolia44/openutils-mgnlmessages/src/test/java/net/sourceforge/openutils/mgnlmessages/i18n/ magnoliamodules/branches/magnolia44/openutils-mgnlmessages/src/test/java/net/sourceforge/openutils/mgnlmessages/i18n/RepositoryMessagesImplTest.java magnoliamodules/branches/magnolia44/openutils-mgnlmessages/src/test/resources/msg-bootstrap/ magnoliamodules/branches/magnolia44/openutils-mgnlmessages/src/test/resources/msg-bootstrap/messages.buttons.xml magnoliamodules/branches/magnolia44/openutils-mgnlmessages/src/test/resources/msg-repository/ magnoliamodules/branches/magnolia44/openutils-mgnlmessages/src/test/resources/msg-repository/jackrabbit-test-configuration.xml magnoliamodules/branches/magnolia44/openutils-mgnlmessages/src/test/resources/msg-repository/test-repositories.xml magnoliamodules/branches/magnolia44/openutils-mgnlmessages/src/test/resources/test-magnolia.properties Added: magnoliamodules/branches/magnolia44/openutils-mgnlmessages/src/test/java/net/sourceforge/openutils/mgnlmessages/i18n/RepositoryMessagesImplTest.java =================================================================== --- magnoliamodules/branches/magnolia44/openutils-mgnlmessages/src/test/java/net/sourceforge/openutils/mgnlmessages/i18n/RepositoryMessagesImplTest.java (rev 0) +++ magnoliamodules/branches/magnolia44/openutils-mgnlmessages/src/test/java/net/sourceforge/openutils/mgnlmessages/i18n/RepositoryMessagesImplTest.java 2012-07-17 16:11:00 UTC (rev 4104) @@ -0,0 +1,69 @@ +/** + * + * Criteria API for Magnolia CMS (http://www.openmindlab.com/lab/products/mgnlcriteria.html) + * Copyright(C) 2009-2011, Openmind S.r.l. http://www.openmindonline.it + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU 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 net.sourceforge.openutils.mgnlmessages.i18n; + +import info.magnolia.cms.i18n.MessagesManager; +import info.magnolia.context.MgnlContext; +import it.openutils.mgnlutils.test.RepositoryTestConfiguration; +import it.openutils.mgnlutils.test.TestNgRepositoryTestcase; + +import java.util.Locale; + +import net.sourceforge.openutils.mgnlmessages.configuration.MessagesConfigurationManager; + +import org.testng.Assert; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Test; + + +/** + * @author diego + * @version $Id: $ + */ +@RepositoryTestConfiguration(jackrabbitRepositoryConfig = "/msg-repository/jackrabbit-test-configuration.xml", repositoryConfig = "/msg-repository/test-repositories.xml", bootstrapFiles = "/msg-bootstrap/messages.buttons.xml") +public class RepositoryMessagesImplTest extends TestNgRepositoryTestcase +{ + + /** + * {@inheritDoc} + */ + @Override + @BeforeClass + public void setUp() throws Exception + { + super.setUp(); + MgnlContext.getHierarchyManager(MessagesConfigurationManager.MESSAGES_REPO).save(); + } + + /** + * @throws Exception + */ + @Test + public void testButtonsSave() throws Exception + { + MgnlContext.getInstance().setLocale(Locale.ENGLISH); + Assert.assertEquals(MessagesManager.get("buttons.save"), "Save"); + MgnlContext.getInstance().setLocale(Locale.ITALIAN); + Assert.assertEquals(MessagesManager.get("buttons.save"), "Salva"); + MgnlContext.getInstance().setLocale(Locale.JAPANESE); + Assert.assertEquals(MessagesManager.get("buttons.save"), "\u4fdd\u5b58"); + } + +} Added: magnoliamodules/branches/magnolia44/openutils-mgnlmessages/src/test/resources/msg-bootstrap/messages.buttons.xml =================================================================== --- magnoliamodules/branches/magnolia44/openutils-mgnlmessages/src/test/resources/msg-bootstrap/messages.buttons.xml (rev 0) +++ magnoliamodules/branches/magnolia44/openutils-mgnlmessages/src/test/resources/msg-bootstrap/messages.buttons.xml 2012-07-17 16:11:00 UTC (rev 4104) @@ -0,0 +1,72 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sv:node sv:name="buttons" xmlns:sv="http://www.jcp.org/jcr/sv/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:contentNode</sv:value> + </sv:property> + <sv:property sv:name="jcr:mixinTypes" sv:type="Name" sv:multiple="true"> + <sv:value>mix:lockable</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>1efcd4ef-89b3-470b-9a6e-159cb4bf5a7e</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:authorid" sv:type="String"> + <sv:value>superuser</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="Date"> + <sv:value>2012-07-17T17:49:13.408+02:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2012-07-17T17:49:13.408+02:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:title" sv:type="String"> + <sv:value/> + </sv:property> + </sv:node> + <sv:node sv:name="save"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:contentNode</sv:value> + </sv:property> + <sv:property sv:name="jcr:mixinTypes" sv:type="Name" sv:multiple="true"> + <sv:value>mix:lockable</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>873b9d3f-bdfa-4b0a-93df-1a3d5f8401b4</sv:value> + </sv:property> + <sv:property sv:name="it" sv:type="String"> + <sv:value>Salva</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="jcr:createdBy" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:authorid" sv:type="String"> + <sv:value>superuser</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="Date"> + <sv:value>2012-07-17T17:49:13.409+02:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2012-07-17T17:49:13.409+02:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:title" sv:type="String"> + <sv:value/> + </sv:property> + </sv:node> + </sv:node> +</sv:node> Added: magnoliamodules/branches/magnolia44/openutils-mgnlmessages/src/test/resources/msg-repository/jackrabbit-test-configuration.xml =================================================================== --- magnoliamodules/branches/magnolia44/openutils-mgnlmessages/src/test/resources/msg-repository/jackrabbit-test-configuration.xml (rev 0) +++ magnoliamodules/branches/magnolia44/openutils-mgnlmessages/src/test/resources/msg-repository/jackrabbit-test-configuration.xml 2012-07-17 16:11:00 UTC (rev 4104) @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.6//EN" "http://jackrabbit.apache.org/dtd/repository-1.6.dtd"> +<!-- TESTING-ONLY configuration! repositories are in memory only and any change is lost upon restart --> +<Repository> + <FileSystem class="org.apache.jackrabbit.core.fs.mem.MemoryFileSystem"> + </FileSystem> + <Security appName="Jackrabbit"> + <AccessManager class="org.apache.jackrabbit.core.security.SimpleAccessManager"></AccessManager> + <LoginModule class="org.apache.jackrabbit.core.security.SimpleLoginModule"> + <param name="anonymousId" value="anonymous" /> + </LoginModule> + </Security> + <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default" /> + <Workspace name="default"> + <FileSystem class="org.apache.jackrabbit.core.fs.mem.MemoryFileSystem"> + </FileSystem> + <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.BundleFsPersistenceManager"> + <param name="blobFSBlockSize" value="1" /><!-- store in memory --> + </PersistenceManager> + <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex"> + <param name="indexingConfiguration" value="${rep.home}/../../test-classes/crit-repository/indexing_configuration.xml" /> + <param name="path" value="${wsp.home}/index" /> + <param name="useCompoundFile" value="false" /><!-- lasciare a false solo per i tests --> + <param name="minMergeDocs" value="100" /> + <param name="volatileIdleTime" value="3" /> + <param name="maxMergeDocs" value="100000" /> + <param name="mergeFactor" value="10" /> + <param name="maxFieldLength" value="10000" /> + <param name="bufferSize" value="10" /> + <param name="cacheSize" value="1000" /> + <param name="autoRepair" value="true" /> + <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl" /> + <param name="respectDocumentOrder" value="true" /> + <param name="resultFetchSize" value="2147483647" /> + <param name="extractorPoolSize" value="3" /> + <param name="extractorTimeout" value="100" /> + <param name="extractorBackLogSize" value="100" /> + <param name="enableConsistencyCheck" value="true" /> + <param name="autoRepair" value="true" /> + <param name="forceConsistencyCheck" value="false" /> + <param name="directoryManagerClass" value="org.apache.jackrabbit.core.query.lucene.directory.RAMDirectoryManager" /> + <param name="supportHighlighting" value="true" /> + <param name="analyzer" value="net.sourceforge.openutils.mgnlcriteria.utils.ASCIIFoldingAnalyzer" /> + </SearchIndex> + </Workspace> + <Versioning rootPath="${rep.home}/version"> + <FileSystem class="org.apache.jackrabbit.core.fs.mem.MemoryFileSystem"> + </FileSystem> + <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.BundleFsPersistenceManager"> + <param name="blobFSBlockSize" value="1" /><!-- store in memory --> + </PersistenceManager> + </Versioning> + <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex"> + <param name="indexingConfiguration" value="${rep.home}/../../test-classes/crit-repository/indexing_configuration.xml" /> + <param name="path" value="${rep.home}/index" /> + <param name="useCompoundFile" value="false" /><!-- lasciare a false solo per i tests --> + <param name="minMergeDocs" value="100" /> + <param name="volatileIdleTime" value="3" /> + <param name="maxMergeDocs" value="100000" /> + <param name="mergeFactor" value="10" /> + <param name="maxFieldLength" value="10000" /> + <param name="bufferSize" value="10" /> + <param name="cacheSize" value="1000" /> + <param name="forceConsistencyCheck" value="false" /> + <param name="autoRepair" value="true" /> + <param name="analyzer" value="net.sourceforge.openutils.mgnlcriteria.utils.ASCIIFoldingAnalyzer" /> + <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl" /> + <param name="respectDocumentOrder" value="true" /> + <param name="resultFetchSize" value="2147483647" /> + <param name="extractorPoolSize" value="3" /> + <param name="extractorTimeout" value="100" /> + <param name="extractorBackLogSize" value="100" /> + <param name="supportHighlighting" value="true" /> + <param name="directoryManagerClass" value="org.apache.jackrabbit.core.query.lucene.directory.RAMDirectoryManager" /> + <FileSystem class="org.apache.jackrabbit.core.fs.mem.MemoryFileSystem"> + </FileSystem> + </SearchIndex> + <!-- <DataStore class="org.apache.jackrabbit.core.data.FileDataStore"> <param name="minRecordLength" value="100000000" + /> </DataStore> --> +</Repository> \ No newline at end of file Added: magnoliamodules/branches/magnolia44/openutils-mgnlmessages/src/test/resources/msg-repository/test-repositories.xml =================================================================== --- magnoliamodules/branches/magnolia44/openutils-mgnlmessages/src/test/resources/msg-repository/test-repositories.xml (rev 0) +++ magnoliamodules/branches/magnolia44/openutils-mgnlmessages/src/test/resources/msg-repository/test-repositories.xml 2012-07-17 16:11:00 UTC (rev 4104) @@ -0,0 +1,52 @@ +<!-- + $Id: test-repositories.xml 2067 2010-02-27 15:11:31Z fgiust $ +--> +<!DOCTYPE JCR [ +<!ELEMENT Map (#PCDATA)> +<!ATTLIST Map + name CDATA #REQUIRED + repositoryName CDATA #REQUIRED + workspaceName CDATA #REQUIRED> +<!ELEMENT JCR (RepositoryMapping|Repository)*> +<!ELEMENT param (#PCDATA)> +<!ATTLIST param + name CDATA #REQUIRED + value CDATA #REQUIRED> +<!ELEMENT Repository (param|workspace)*> +<!ATTLIST Repository + loadOnStartup CDATA #REQUIRED + name CDATA #REQUIRED + provider CDATA #REQUIRED> +<!ELEMENT workspace (#PCDATA)> +<!ATTLIST workspace + name CDATA #REQUIRED> +<!ELEMENT RepositoryMapping (Map)*> +]><JCR> + <RepositoryMapping> + <Map name="website" repositoryName="magnolia" workspaceName="website" /> + <Map name="messages" repositoryName="magnolia" workspaceName="messages" /> + <Map name="config" repositoryName="magnolia" workspaceName="config" /> + <Map name="users" repositoryName="magnolia" workspaceName="users" /> + <Map name="userroles" repositoryName="magnolia" workspaceName="userroles" /> + <Map name="usergroups" repositoryName="magnolia" workspaceName="usergroups" /> + <Map name="mgnlSystem" repositoryName="magnolia" workspaceName="mgnlSystem" /> <!-- System internal data --> + <Map name="mgnlVersion" repositoryName="magnolia" workspaceName="mgnlVersion" /> <!-- magnolia version workspace --> + </RepositoryMapping> + + <!-- magnolia default repository --> + <Repository name="magnolia" provider="info.magnolia.jackrabbit.ProviderImpl" loadOnStartup="true"> + <param name="configFile" value="${magnolia.repositories.jackrabbit.config}" /> + <param name="repositoryHome" value="${magnolia.repositories.home}/magnolia" /> + <param name="contextFactoryClass" value="org.apache.jackrabbit.core.jndi.provider.DummyInitialContextFactory" /> + <param name="providerURL" value="localhost" /> + <param name="bindName" value="${magnolia.webapp}" /> + <workspace name="website" /> + <workspace name="messages" /> + <workspace name="config" /> + <workspace name="users" /> + <workspace name="userroles" /> + <workspace name="usergroups" /> + <workspace name="mgnlSystem" /> + <workspace name="mgnlVersion" /> + </Repository> +</JCR> \ No newline at end of file Added: magnoliamodules/branches/magnolia44/openutils-mgnlmessages/src/test/resources/test-magnolia.properties =================================================================== --- magnoliamodules/branches/magnolia44/openutils-mgnlmessages/src/test/resources/test-magnolia.properties (rev 0) +++ magnoliamodules/branches/magnolia44/openutils-mgnlmessages/src/test/resources/test-magnolia.properties 2012-07-17 16:11:00 UTC (rev 4104) @@ -0,0 +1,41 @@ +magnolia.basedir=target/magnolia-test-data +magnolia.cache.startdir=${magnolia.basedir}/cache +magnolia.upload.tmpdir=${magnolia.basedir}/tmp +magnolia.exchange.history=${magnolia.basedir}/history + +magnolia.app.rootdir=. + +magnolia.repositories.home=target/test-repositories +# points to the classpath resources, but will be extracted and the property reset + +magnolia.repositories.config=/test-repositories.xml +magnolia.repositories.jackrabbit.config=/jackrabbit-test-configuration.xml + +log4j.config=WEB-INF/config/default/log4j.xml +magnolia.logs.dir=${magnolia.base}/logs + +# The directories in which the bootstrap files are searched +magnolia.bootstrap.dir=WEB-INF/bootstrap/author WEB-INF/bootstrap/common + + +magnolia.bootstrap.authorInstance=true +magnolia.bootstrap.samples=false +magnolia.develop=true + +magnolia.connection.jcr.userId = admin +magnolia.connection.jcr.password = admin + +magnolia.update.auto=true + +magnolia.defaultpage = /sapere.html + +####### solo per test ##### +info.magnolia.logging.AuditLoggingManager=info.magnolia.logging.AuditLoggingManager +info.magnolia.link.LinkTransformerManager=info.magnolia.link.LinkTransformerManager +####### + +info.magnolia.cms.i18n.I18nContentSupport=info.magnolia.cms.i18n.DefaultI18nContentSupport + +info.magnolia.cms.core.search.SearchFactory=info.magnolia.cms.core.search.DefaultSearchFactory + +info.magnolia.cms.i18n.MessagesManager=net.sourceforge.openutils.mgnlmessages.i18n.MultiBundleMgnlMessagesManager \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |