r32 - in trunk/wikitty-multistorage-impl: . src/test/java/org/sharengo/wikitty/multistorage/test src/test/resources
Author: schorlet Date: 2010-04-30 10:47:52 +0200 (Fri, 30 Apr 2010) New Revision: 32 Url: http://nuiton.org/repositories/revision/wikitty/32 Log: Ajout d'un simple test MultiStorageTest. Le test fail, mais n'empeche pas le build du projet Added: trunk/wikitty-multistorage-impl/src/test/java/org/sharengo/wikitty/multistorage/test/MultiStorageTest.java trunk/wikitty-multistorage-impl/src/test/resources/jbossts-properties.xml trunk/wikitty-multistorage-impl/src/test/resources/wikitty-jdbc-config.properties trunk/wikitty-multistorage-impl/src/test/resources/wikitty-jms-publisher.properties Removed: trunk/wikitty-multistorage-impl/src/test/resources/META-INF/ Modified: trunk/wikitty-multistorage-impl/pom.xml trunk/wikitty-multistorage-impl/src/test/resources/log4j.properties Modified: trunk/wikitty-multistorage-impl/pom.xml =================================================================== --- trunk/wikitty-multistorage-impl/pom.xml 2010-04-29 09:58:46 UTC (rev 31) +++ trunk/wikitty-multistorage-impl/pom.xml 2010-04-30 08:47:52 UTC (rev 32) @@ -1,5 +1,5 @@ - -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.sharengo.wikengo</groupId> @@ -23,43 +23,81 @@ <artifactId>core-wikitty-solr-impl</artifactId> <version>${project.version}</version> </dependency> + + <!-- TEST --> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + </dependency> + <dependency> + <groupId>com.h2database</groupId> + <artifactId>h2</artifactId> + <version>1.2.127</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + <version>1.5.11</version> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>core-wikitty-jdbc-impl</artifactId> + <version>${project.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>core-wikitty-jms-impl</artifactId> + <version>${project.version}</version> + <scope>test</scope> + </dependency> </dependencies> - <!-- ************************************************************* --> - <!-- *** Project Information ************************************* --> - <!-- ************************************************************* --> + <!-- ************************************************************* --> + <!-- *** Project Information ************************************* --> + <!-- ************************************************************* --> <name>org.sharengo.wikengo.core-wikitty-multistorage-impl</name> - <description>manage multi storage</description> <inceptionYear>2010</inceptionYear> <!-- ************************************************************* --> - <!-- *** Build Settings ****************************************** --> - <!-- ************************************************************* --> + <!-- *** Build Settings ****************************************** --> + <!-- ************************************************************* --> <packaging>jar</packaging> <properties> - <!--maven.test.skip>false</maven.test.skip--> + <!-- maven conventionnal variables doesn't work ? + <maven.test.failure.ignore>true</maven.test.failure.ignore> --> + <maven.test.testFailureIgnore>true</maven.test.testFailureIgnore> </properties> - <repositories> + <build> + <testResources> + <testResource> + <directory>src/test/resources</directory> + <filtering>true</filtering> + <includes> + <include>**/*</include> + </includes> + </testResource> + </testResources> - <repository> - <id>sharengo-maven-repository</id> - <name>Repo Sharengo</name> - <url>http://repository.sharengo.org</url> - <snapshots> - <enabled>true</enabled> - <checksumPolicy>warn</checksumPolicy> - </snapshots> - <releases> - <enabled>true</enabled> - <checksumPolicy>warn</checksumPolicy> - </releases> - </repository> - </repositories> - + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <configuration> + <systemPropertyVariables> + <solr.data.dir>${project.build.directory}/solr</solr.data.dir> + </systemPropertyVariables> + </configuration> + </plugin> + </plugins> + </build> </project> Added: trunk/wikitty-multistorage-impl/src/test/java/org/sharengo/wikitty/multistorage/test/MultiStorageTest.java =================================================================== --- trunk/wikitty-multistorage-impl/src/test/java/org/sharengo/wikitty/multistorage/test/MultiStorageTest.java (rev 0) +++ trunk/wikitty-multistorage-impl/src/test/java/org/sharengo/wikitty/multistorage/test/MultiStorageTest.java 2010-04-30 08:47:52 UTC (rev 32) @@ -0,0 +1,87 @@ +package org.sharengo.wikitty.multistorage.test; + +import java.io.InputStream; +import java.net.URL; +import java.util.Properties; + +import org.apache.activemq.broker.BrokerFactory; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.sharengo.wikitty.Wikitty; +import org.sharengo.wikitty.WikittyExtension; +import org.sharengo.wikitty.WikittyExtensionStorage; +import org.sharengo.wikitty.WikittyService; +import org.sharengo.wikitty.WikittyStorage; +import org.sharengo.wikitty.jdbc.WikittyExtensionStorageJDBC; +import org.sharengo.wikitty.jdbc.WikittyStorageJDBC; +import org.sharengo.wikitty.jms.WikittyExtensionStorageJMS; +import org.sharengo.wikitty.jms.WikittyJMSUtil; +import org.sharengo.wikitty.jms.WikittyStorageJMS; +import org.sharengo.wikitty.multistorage.MultiStorageConfiguration; +import org.sharengo.wikitty.multistorage.WikittyServiceMultiStorage; +import org.sharengo.wikitty.multistorage.MultiStorageConfiguration.BasicConfiguration; + +public class MultiStorageTest { + WikittyService service = null; + + @Before + public void clear() throws Exception { + // build multi-storage configuration + MultiStorageConfiguration configuration = new BasicConfiguration(); + configureJDBC(configuration); + configurePublisherJMS(configuration); + + // create wikitty service + service = new WikittyServiceMultiStorage(configuration); + service.clear(); + } + + @Test + public void testMultiStorage() throws Exception { + // create and store a simple wikitty + WikittyExtension extension = new WikittyExtension("extension"); + Wikitty wikitty = new Wikitty(); + wikitty.addExtension(extension); + service.store(wikitty); + + Wikitty restore = service.restore(wikitty.getId()); + Assert.assertNotNull(restore); + } + + void configureJDBC(MultiStorageConfiguration configuration) { + // create jdbc storages + WikittyExtensionStorage extensionStorage = new WikittyExtensionStorageJDBC(); + WikittyStorage wikittyStorage = new WikittyStorageJDBC(extensionStorage); + + // add jdbc storages to configuration + configuration.addExtensionStorage(extensionStorage, true); + configuration.addWikittyStorage(wikittyStorage, true); + } + + void configurePublisherJMS(MultiStorageConfiguration configuration) throws Exception { + // read property file + Properties brokerProperties = new Properties(); + URL jmsConfigURL = ClassLoader.getSystemResource("wikitty-jms-publisher.properties"); + InputStream inputStream = jmsConfigURL.openStream(); + brokerProperties.load(inputStream); + inputStream.close(); + + // read connectorURL property + String connectorURL = brokerProperties.getProperty("connectorURL"); + + // starts broker + BrokerFactory.createBroker("wikitty:" + jmsConfigURL.toExternalForm(), true); + + // create jms storages + Properties properties = new Properties(); + properties.put(WikittyJMSUtil.JNDI_PROVIDER_URL, connectorURL); + + WikittyExtensionStorage extensionStorage = new WikittyExtensionStorageJMS(properties); + WikittyStorage wikittyStorage = new WikittyStorageJMS(properties); + + // add jms storages to configuration + configuration.addExtensionStorage(extensionStorage, false); + configuration.addWikittyStorage(wikittyStorage, false); + } +} \ No newline at end of file Property changes on: trunk/wikitty-multistorage-impl/src/test/java/org/sharengo/wikitty/multistorage/test/MultiStorageTest.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Author Id Revision HeadURL Added: svn:eol-style + native Added: trunk/wikitty-multistorage-impl/src/test/resources/jbossts-properties.xml =================================================================== --- trunk/wikitty-multistorage-impl/src/test/resources/jbossts-properties.xml (rev 0) +++ trunk/wikitty-multistorage-impl/src/test/resources/jbossts-properties.xml 2010-04-30 08:47:52 UTC (rev 32) @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> +<properties> + <!-- vradi.objectStore.dir property is defined when application starts --> + <entry key="ObjectStoreEnvironmentBean.objectStoreDir">${project.build.directory}/objectStore</entry> +</properties> Property changes on: trunk/wikitty-multistorage-impl/src/test/resources/jbossts-properties.xml ___________________________________________________________________ Added: svn:mime-type + text/xml Added: svn:keywords + Date Author Id Revision HeadURL Added: svn:eol-style + native Modified: trunk/wikitty-multistorage-impl/src/test/resources/log4j.properties =================================================================== --- trunk/wikitty-multistorage-impl/src/test/resources/log4j.properties 2010-04-29 09:58:46 UTC (rev 31) +++ trunk/wikitty-multistorage-impl/src/test/resources/log4j.properties 2010-04-30 08:47:52 UTC (rev 32) @@ -1,9 +1,17 @@ -# Appender and Layout -log4j.appender.logConsole=org.apache.log4j.ConsoleAppender -log4j.appender.logConsole.layout=org.apache.log4j.PatternLayout -log4j.appender.logConsole.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n +# Global logging configuration +log4j.rootLogger=WARN, stdout -# Configuration by components -log4j.rootLogger=DEBUG, logConsole -log4j.category.org.sharengo.wikitty=DEBUG -#log4j.category.org.apache.solr=DEBUG +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%-5p %-46.46c %4L - %m%n + +# wikitty +log4j.logger.org.sharengo.wikitty=ERROR +log4j.logger.org.sharengo.wikitty.solr.WikittySearchEngineSolr=DEBUG +log4j.logger.org.sharengo.wikitty.solr.SolrQParser=DEBUG +log4j.logger.org.sharengo.wikitty.jdbc.WikittyJDBCUtil=INFO + +# solr +log4j.logger.org.apache.solr=WARN +log4j.logger.org.apache.solr.core=WARN + Added: trunk/wikitty-multistorage-impl/src/test/resources/wikitty-jdbc-config.properties =================================================================== --- trunk/wikitty-multistorage-impl/src/test/resources/wikitty-jdbc-config.properties (rev 0) +++ trunk/wikitty-multistorage-impl/src/test/resources/wikitty-jdbc-config.properties 2010-04-30 08:47:52 UTC (rev 32) @@ -0,0 +1,5 @@ +#Connection parameters +jdbc.con.driver=org.h2.Driver +jdbc.con.host=jdbc:h2:${project.build.directory}/localdb/localdb +jdbc.con.userName=sa +jdbc.con.password= Property changes on: trunk/wikitty-multistorage-impl/src/test/resources/wikitty-jdbc-config.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Author Id Revision HeadURL Added: svn:eol-style + native Added: trunk/wikitty-multistorage-impl/src/test/resources/wikitty-jms-publisher.properties =================================================================== --- trunk/wikitty-multistorage-impl/src/test/resources/wikitty-jms-publisher.properties (rev 0) +++ trunk/wikitty-multistorage-impl/src/test/resources/wikitty-jms-publisher.properties 2010-04-30 08:47:52 UTC (rev 32) @@ -0,0 +1,8 @@ +# test configuration +brokerName=broker-tcp +dataDirectory=${project.build.directory}/activemq-data +useJmx=false +deleteAllMessagesOnStartup=true +useShutdownHook=true +persistent=true +connectorURL=tcp://localhost:61616 Property changes on: trunk/wikitty-multistorage-impl/src/test/resources/wikitty-jms-publisher.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Author Id Revision HeadURL Added: svn:eol-style + native
participants (1)
-
schorletï¼ users.nuiton.org