diff --git a/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/AbstractResourceConfig.java b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/AbstractResourceConfig.java
new file mode 100644
index 0000000..eda3ae3
--- /dev/null
+++ b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/AbstractResourceConfig.java
@@ -0,0 +1,24 @@
+package br.gov.frameworkdemoiselle.configuration.resource;
+
+public abstract class AbstractResourceConfig {
+
+ private int primitiveInteger;
+
+ private String string;
+
+ public int getPrimitiveInteger() {
+ return primitiveInteger;
+ }
+
+ public void setPrimitiveInteger(int primitiveInteger) {
+ this.primitiveInteger = primitiveInteger;
+ }
+
+ public String getStringWithComma() {
+ return string;
+ }
+
+ public void setStringWithComma(String stringWithComma) {
+ this.string = stringWithComma;
+ }
+}
\ No newline at end of file
diff --git a/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/ConfigurationResourceTest.java b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/ConfigurationResourceTest.java
new file mode 100644
index 0000000..6fcc3d6
--- /dev/null
+++ b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/ConfigurationResourceTest.java
@@ -0,0 +1,107 @@
+package br.gov.frameworkdemoiselle.configuration.resource;
+
+import static junit.framework.Assert.assertEquals;
+
+import java.io.File;
+
+import javax.inject.Inject;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.asset.FileAsset;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import br.gov.frameworkdemoiselle.configuration.AbstractConfigurationTest;
+
+@RunWith(Arquillian.class)
+public class ConfigurationResourceTest extends AbstractConfigurationTest{
+
+ @Inject
+ private PropertiesDefaultFileConfig propDefault;
+
+ @Inject
+ private PropertiesNamedDefaultFileConfig propNamedDefault;
+
+ @Inject
+ private PropertiesNotDefaultFileConfig propNotDefault;
+
+ @Inject
+ private PropertiesWithoutFileConfig propWithoutFile;
+
+ @Inject
+ private XMLDefaultFileConfig xmlDefault;
+
+ @Inject
+ private XMLNamedDefaultFileConfig xmlNamedDefault;
+
+ @Inject
+ private XMLNotDefaultFileConfig xmlNotDefault;
+
+ @Inject
+ private XMLWithoutFileConfig xmlWithoutFile;
+
+ @Deployment
+ public static JavaArchive createDeployment() {
+ JavaArchive deployment = createConfigurationDeployment();
+
+ deployment.addPackages(true, ConfigurationResourceTest.class.getPackage());
+ deployment.addAsResource(new FileAsset(new File(
+ "src/test/resources/configuration/resource/demoiselle.properties")), "demoiselle.properties").
+ addAsResource(new FileAsset(new File(
+ "src/test/resources/configuration/resource/demoiselle.xml")), "demoiselle.xml").
+ addAsResource(new FileAsset(new File(
+ "src/test/resources/configuration/resource/resource.properties")), "resource.properties").
+ addAsResource(new FileAsset(new File(
+ "src/test/resources/configuration/resource/resource.xml")), "resource.xml");
+
+ return deployment;
+ }
+
+ @Test
+ public void loadFromDefaultFile(){
+ int expectedInt = 1;
+ String expectedString = "demoiselle framework";
+
+ assertEquals(expectedInt, propDefault.getPrimitiveInteger());
+ assertEquals(expectedString, propDefault.getStringWithComma());
+
+ assertEquals(expectedInt, xmlDefault.getPrimitiveInteger());
+ assertEquals(expectedString, xmlDefault.getStringWithComma());
+ }
+
+ @Test
+ public void loadFromNamedDefaultFile(){
+ int expectedInt = 1;
+ String expectedString = "demoiselle framework";
+
+ assertEquals(expectedInt, propNamedDefault.getPrimitiveInteger());
+ assertEquals(expectedString, propNamedDefault.getStringWithComma());
+
+ assertEquals(expectedInt, xmlNamedDefault.getPrimitiveInteger());
+ assertEquals(expectedString, xmlNamedDefault.getStringWithComma());
+ }
+
+ @Test
+ public void loadFromNotDefaultFile(){
+ int expectedInt = 2;
+ String expectedString = "demoiselle framework from resource";
+
+ assertEquals(expectedInt, propNotDefault.getPrimitiveInteger());
+ assertEquals(expectedString, propNotDefault.getStringWithComma());
+
+ assertEquals(expectedInt, xmlNotDefault.getPrimitiveInteger());
+ assertEquals(expectedString, xmlNotDefault.getStringWithComma());
+ }
+
+ @Test
+ public void loadFromNonexistentFile(){
+ assertEquals(0, propWithoutFile.getPrimitiveInteger());
+ assertEquals(null, propWithoutFile.getStringWithComma());
+
+ assertEquals(0, xmlWithoutFile.getPrimitiveInteger());
+ assertEquals(null, xmlWithoutFile.getStringWithComma());
+ }
+
+}
diff --git a/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/PropertiesDefaultFileConfig.java b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/PropertiesDefaultFileConfig.java
new file mode 100644
index 0000000..ad382f4
--- /dev/null
+++ b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/PropertiesDefaultFileConfig.java
@@ -0,0 +1,9 @@
+package br.gov.frameworkdemoiselle.configuration.resource;
+
+import static br.gov.frameworkdemoiselle.configuration.ConfigType.PROPERTIES;
+import br.gov.frameworkdemoiselle.configuration.Configuration;
+
+@Configuration(type = PROPERTIES)
+public class PropertiesDefaultFileConfig extends AbstractResourceConfig{
+
+}
diff --git a/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/PropertiesNamedDefaultFileConfig.java b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/PropertiesNamedDefaultFileConfig.java
new file mode 100644
index 0000000..4705b82
--- /dev/null
+++ b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/PropertiesNamedDefaultFileConfig.java
@@ -0,0 +1,9 @@
+package br.gov.frameworkdemoiselle.configuration.resource;
+
+import static br.gov.frameworkdemoiselle.configuration.ConfigType.PROPERTIES;
+import br.gov.frameworkdemoiselle.configuration.Configuration;
+
+@Configuration(resource="demoiselle", type = PROPERTIES)
+public class PropertiesNamedDefaultFileConfig extends AbstractResourceConfig{
+
+}
diff --git a/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/PropertiesNotDefaultFileConfig.java b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/PropertiesNotDefaultFileConfig.java
new file mode 100644
index 0000000..f8cf7e0
--- /dev/null
+++ b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/PropertiesNotDefaultFileConfig.java
@@ -0,0 +1,9 @@
+package br.gov.frameworkdemoiselle.configuration.resource;
+
+import static br.gov.frameworkdemoiselle.configuration.ConfigType.PROPERTIES;
+import br.gov.frameworkdemoiselle.configuration.Configuration;
+
+@Configuration(resource="resource", type = PROPERTIES)
+public class PropertiesNotDefaultFileConfig extends AbstractResourceConfig{
+
+}
diff --git a/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/PropertiesWithoutFileConfig.java b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/PropertiesWithoutFileConfig.java
new file mode 100644
index 0000000..a4d74d6
--- /dev/null
+++ b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/PropertiesWithoutFileConfig.java
@@ -0,0 +1,9 @@
+package br.gov.frameworkdemoiselle.configuration.resource;
+
+import static br.gov.frameworkdemoiselle.configuration.ConfigType.PROPERTIES;
+import br.gov.frameworkdemoiselle.configuration.Configuration;
+
+@Configuration(resource="nofile", type = PROPERTIES)
+public class PropertiesWithoutFileConfig extends AbstractResourceConfig{
+
+}
diff --git a/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/XMLDefaultFileConfig.java b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/XMLDefaultFileConfig.java
new file mode 100644
index 0000000..20b8e11
--- /dev/null
+++ b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/XMLDefaultFileConfig.java
@@ -0,0 +1,9 @@
+package br.gov.frameworkdemoiselle.configuration.resource;
+
+import static br.gov.frameworkdemoiselle.configuration.ConfigType.XML;
+import br.gov.frameworkdemoiselle.configuration.Configuration;
+
+@Configuration(type = XML)
+public class XMLDefaultFileConfig extends AbstractResourceConfig{
+
+}
diff --git a/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/XMLNamedDefaultFileConfig.java b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/XMLNamedDefaultFileConfig.java
new file mode 100644
index 0000000..38a2ff4
--- /dev/null
+++ b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/XMLNamedDefaultFileConfig.java
@@ -0,0 +1,9 @@
+package br.gov.frameworkdemoiselle.configuration.resource;
+
+import static br.gov.frameworkdemoiselle.configuration.ConfigType.XML;
+import br.gov.frameworkdemoiselle.configuration.Configuration;
+
+@Configuration(resource="demoiselle", type = XML)
+public class XMLNamedDefaultFileConfig extends AbstractResourceConfig{
+
+}
diff --git a/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/XMLNotDefaultFileConfig.java b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/XMLNotDefaultFileConfig.java
new file mode 100644
index 0000000..21d4f5d
--- /dev/null
+++ b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/XMLNotDefaultFileConfig.java
@@ -0,0 +1,9 @@
+package br.gov.frameworkdemoiselle.configuration.resource;
+
+import static br.gov.frameworkdemoiselle.configuration.ConfigType.XML;
+import br.gov.frameworkdemoiselle.configuration.Configuration;
+
+@Configuration(resource="resource", type = XML)
+public class XMLNotDefaultFileConfig extends AbstractResourceConfig{
+
+}
diff --git a/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/XMLWithoutFileConfig.java b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/XMLWithoutFileConfig.java
new file mode 100644
index 0000000..32b617b
--- /dev/null
+++ b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/resource/XMLWithoutFileConfig.java
@@ -0,0 +1,9 @@
+package br.gov.frameworkdemoiselle.configuration.resource;
+
+import static br.gov.frameworkdemoiselle.configuration.ConfigType.XML;
+import br.gov.frameworkdemoiselle.configuration.Configuration;
+
+@Configuration(resource="nofile", type = XML)
+public class XMLWithoutFileConfig extends AbstractResourceConfig{
+
+}
diff --git a/impl/core/src/test/resources/configuration/resource/demoiselle.properties b/impl/core/src/test/resources/configuration/resource/demoiselle.properties
new file mode 100644
index 0000000..4914217
--- /dev/null
+++ b/impl/core/src/test/resources/configuration/resource/demoiselle.properties
@@ -0,0 +1,2 @@
+primitiveInteger=1
+string=demoiselle framework
diff --git a/impl/core/src/test/resources/configuration/resource/demoiselle.xml b/impl/core/src/test/resources/configuration/resource/demoiselle.xml
new file mode 100644
index 0000000..8fe1867
--- /dev/null
+++ b/impl/core/src/test/resources/configuration/resource/demoiselle.xml
@@ -0,0 +1,40 @@
+
+
+ 1
+ demoiselle framework
+
\ No newline at end of file
diff --git a/impl/core/src/test/resources/configuration/resource/resource.properties b/impl/core/src/test/resources/configuration/resource/resource.properties
new file mode 100644
index 0000000..d54b24a
--- /dev/null
+++ b/impl/core/src/test/resources/configuration/resource/resource.properties
@@ -0,0 +1,2 @@
+primitiveInteger=2
+string=demoiselle framework from resource
diff --git a/impl/core/src/test/resources/configuration/resource/resource.xml b/impl/core/src/test/resources/configuration/resource/resource.xml
new file mode 100644
index 0000000..d852536
--- /dev/null
+++ b/impl/core/src/test/resources/configuration/resource/resource.xml
@@ -0,0 +1,40 @@
+
+
+ 2
+ demoiselle framework from resource
+
\ No newline at end of file
--
libgit2 0.21.2