This is an automated email from the git hooks/post-receive script. New commit to branch feature/4059 in repository nuiton-config. See https://gitlab.nuiton.org/nuiton/nuiton-config.git commit a6a03daea8a4a16e4633c62c77ba4eb0d4fe8478 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Oct 7 14:15:09 2016 +0200 Add tests + renames some classes --- .../java/org/nuiton/config/ApplicationConfig.java | 6 +- ...OHelper.java => ApplicationConfigIOHelper.java} | 4 +- .../ApplicationConfigIOProperties.java | 7 +- .../org.nuiton.config.io.ApplicationConfigIO | 2 +- .../ApplicationConfigIOPropertiesTest.java | 96 ++++++++++++++++++++++ .../test/resources/NuitonConfigExample.properties | 4 + 6 files changed, 112 insertions(+), 7 deletions(-) diff --git a/nuiton-config/src/main/java/org/nuiton/config/ApplicationConfig.java b/nuiton-config/src/main/java/org/nuiton/config/ApplicationConfig.java index 2431f10..86411da 100644 --- a/nuiton-config/src/main/java/org/nuiton/config/ApplicationConfig.java +++ b/nuiton-config/src/main/java/org/nuiton/config/ApplicationConfig.java @@ -30,7 +30,7 @@ import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.config.io.ApplicationIOHelper; +import org.nuiton.config.io.ApplicationConfigIOHelper; import org.nuiton.converter.ConverterUtil; import org.nuiton.util.ObjectUtil; import org.nuiton.util.RecursiveProperties; @@ -417,7 +417,7 @@ public class ApplicationConfig { * Pour gérer la lecture/écriture des properties. * @since 3.1 */ - protected ApplicationIOHelper applicationIOHelper; + protected ApplicationConfigIOHelper applicationIOHelper; /** * Init ApplicationConfig with current simple class name as config file. @@ -486,7 +486,7 @@ public class ApplicationConfig { Preconditions.checkNotNull(init,"Can't init ApplicationConfig without an init paramter"); Preconditions.checkNotNull(init.getReadFormat(), "Can't init Application without an init.readFormat parameter"); - applicationIOHelper = new ApplicationIOHelper(init.getReadFormat()); + applicationIOHelper = new ApplicationConfigIOHelper(init.getReadFormat()); Set<ApplicationConfigScope> scopes = init.getScopes(); diff --git a/nuiton-config/src/main/java/org/nuiton/config/io/ApplicationIOHelper.java b/nuiton-config/src/main/java/org/nuiton/config/io/ApplicationConfigIOHelper.java similarity index 90% rename from nuiton-config/src/main/java/org/nuiton/config/io/ApplicationIOHelper.java rename to nuiton-config/src/main/java/org/nuiton/config/io/ApplicationConfigIOHelper.java index f8a8be0..ade5445 100644 --- a/nuiton-config/src/main/java/org/nuiton/config/io/ApplicationIOHelper.java +++ b/nuiton-config/src/main/java/org/nuiton/config/io/ApplicationConfigIOHelper.java @@ -13,11 +13,11 @@ import java.util.ServiceLoader; * @author Tony Chemit - chemit@codelutin.com * @since 3.1 */ -public class ApplicationIOHelper implements ApplicationConfigIO { +public class ApplicationConfigIOHelper implements ApplicationConfigIO { private final ApplicationConfigIO delegate; - public ApplicationIOHelper(ApplicationConfigReadFormat readFormat) { + public ApplicationConfigIOHelper(ApplicationConfigReadFormat readFormat) { Preconditions.checkNotNull(readFormat, "Can't init with null readFormat"); ServiceLoader<ApplicationConfigIO> loader = ServiceLoader.load(ApplicationConfigIO.class); ApplicationConfigIO delegate = null; diff --git a/nuiton-config/src/main/java/org/nuiton/config/io/ApplicationConfigIOProperties.java b/nuiton-config/src/main/java/org/nuiton/config/io/properties/ApplicationConfigIOProperties.java similarity index 84% rename from nuiton-config/src/main/java/org/nuiton/config/io/ApplicationConfigIOProperties.java rename to nuiton-config/src/main/java/org/nuiton/config/io/properties/ApplicationConfigIOProperties.java index c07f871..b0d6127 100644 --- a/nuiton-config/src/main/java/org/nuiton/config/io/ApplicationConfigIOProperties.java +++ b/nuiton-config/src/main/java/org/nuiton/config/io/properties/ApplicationConfigIOProperties.java @@ -1,4 +1,9 @@ -package org.nuiton.config.io; +package org.nuiton.config.io.properties; + +import org.nuiton.config.io.ApplicationConfigIO; +import org.nuiton.config.io.ApplicationConfigReadFormat; +import org.nuiton.config.io.ApplicationConfigReadPropertiesException; +import org.nuiton.config.io.ApplicationConfigWritePropertiesException; import java.io.BufferedReader; import java.io.BufferedWriter; diff --git a/nuiton-config/src/main/resources/META-INF/services/org.nuiton.config.io.ApplicationConfigIO b/nuiton-config/src/main/resources/META-INF/services/org.nuiton.config.io.ApplicationConfigIO index 258636d..14be5df 100644 --- a/nuiton-config/src/main/resources/META-INF/services/org.nuiton.config.io.ApplicationConfigIO +++ b/nuiton-config/src/main/resources/META-INF/services/org.nuiton.config.io.ApplicationConfigIO @@ -1 +1 @@ -org.nuiton.config.io.ApplicationConfigIOProperties \ No newline at end of file +org.nuiton.config.io.properties.ApplicationConfigIOProperties \ No newline at end of file diff --git a/nuiton-config/src/test/java/org/nuiton/config/io/properties/ApplicationConfigIOPropertiesTest.java b/nuiton-config/src/test/java/org/nuiton/config/io/properties/ApplicationConfigIOPropertiesTest.java new file mode 100644 index 0000000..94436d7 --- /dev/null +++ b/nuiton-config/src/test/java/org/nuiton/config/io/properties/ApplicationConfigIOPropertiesTest.java @@ -0,0 +1,96 @@ +package org.nuiton.config.io.properties; + +import org.junit.Assert; +import org.junit.Test; +import org.nuiton.config.io.ApplicationConfigIO; +import org.nuiton.config.io.ApplicationConfigIOHelper; +import org.nuiton.config.io.ApplicationConfigReadFormat; + +import java.io.File; +import java.nio.charset.StandardCharsets; +import java.nio.file.Paths; +import java.util.Properties; + +import static org.junit.Assert.*; + +/** + * Created by tchemit on 07/10/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ApplicationConfigIOPropertiesTest { + + + @Test + public void readProperties() throws Exception { + + ApplicationConfigIO io = new ApplicationConfigIOProperties(); + + File file = Paths.get(new File("").getAbsolutePath(), "src", "test", "resources", "NuitonConfigExample.properties").toFile(); + + Properties properties = io.readProperties(file.toURI().toURL(), StandardCharsets.UTF_8.name()); + + assertProperties(properties); + + } + + @Test + public void readPropertiesFromHelper() throws Exception { + + File file = Paths.get(new File("").getAbsolutePath(), "src", "test", "resources", "NuitonConfigExample.properties").toFile(); + + Properties properties = new ApplicationConfigIOHelper(ApplicationConfigReadFormat.properties).readProperties(file.toURI().toURL(), StandardCharsets.UTF_8.name()); + + assertProperties(properties); + + } + + @Test + public void writeProperties() throws Exception { + + ApplicationConfigIO io = new ApplicationConfigIOProperties(); + + Properties properties = new Properties(); + properties.put("identity.firstName", "Joshua"); + properties.put("identity.lastName", "Bloch"); + properties.put("identity.age", "56"); + properties.put("identity.twitter", "jbloch"); + + File file = Paths.get(new File("").getAbsolutePath(), "target", "surefire-workdir", "NuitonConfigExample" + System.currentTimeMillis() + ".properties").toFile(); + + io.writeProperties(properties, file, StandardCharsets.UTF_8.name(), null); + + Properties properties2 = io.readProperties(file.toURI().toURL(), StandardCharsets.UTF_8.name()); + + assertProperties(properties2); + + } + + @Test + public void writePropertiesFromHelper() throws Exception { + + Properties properties = new Properties(); + properties.put("identity.firstName", "Joshua"); + properties.put("identity.lastName", "Bloch"); + properties.put("identity.age", "56"); + properties.put("identity.twitter", "jbloch"); + + File file = Paths.get(new File("").getAbsolutePath(), "target", "surefire-workdir", "NuitonConfigExample" + System.currentTimeMillis() + ".properties").toFile(); + new ApplicationConfigIOHelper(ApplicationConfigReadFormat.properties).writeProperties(properties, file, StandardCharsets.UTF_8.name(), null); + + Properties properties2 = new ApplicationConfigIOHelper(ApplicationConfigReadFormat.properties).readProperties(file.toURI().toURL(), StandardCharsets.UTF_8.name()); + + assertProperties(properties2); + + } + + private void assertProperties(Properties properties) { + Assert.assertNotNull(properties); + Assert.assertNotNull(properties.getProperty("identity.firstName")); + Assert.assertEquals("Joshua", properties.getProperty("identity.firstName")); + Assert.assertEquals("Bloch", properties.getProperty("identity.lastName")); + Assert.assertEquals("56", properties.getProperty("identity.age")); + Assert.assertEquals("jbloch", properties.getProperty("identity.twitter")); + } + +} \ No newline at end of file diff --git a/nuiton-config/src/test/resources/NuitonConfigExample.properties b/nuiton-config/src/test/resources/NuitonConfigExample.properties new file mode 100644 index 0000000..3161b89 --- /dev/null +++ b/nuiton-config/src/test/resources/NuitonConfigExample.properties @@ -0,0 +1,4 @@ +identity.firstName=Joshua +identity.lastName=Bloch +identity.age=56 +identity.twitter=jbloch -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.