This is an automated email from the git hooks/post-receive script. New commit to branch feature/spgeed in repository pollen. See https://gitlab.nuiton.org/chorem/pollen.git commit 8db49974beea28b3b7cd440b571439d0be2560c3 Author: HERBRETEAU Killian <Killian_H@localhost.localdomain> Date: Tue Jul 30 10:51:05 2019 +0200 pollenuser request working test passed --- .../persistence/Dao/PollenPollSpgeedDao.java | 9 ++++ .../persistence/{ => Dao}/PollenUserSpgeedDao.java | 8 +-- .../org/chorem/pollen/persistence}/SpgeedTest.java | 63 ++++++++++++++++++---- .../service/security/SpgeedDummyService.java | 2 +- pom.xml | 2 +- 5 files changed, 67 insertions(+), 17 deletions(-) diff --git a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/Dao/PollenPollSpgeedDao.java b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/Dao/PollenPollSpgeedDao.java new file mode 100644 index 00000000..9a4ad560 --- /dev/null +++ b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/Dao/PollenPollSpgeedDao.java @@ -0,0 +1,9 @@ +package org.chorem.pollen.persistence.Dao; + +import org.chorem.pollen.persistence.entity.PollenUser; +import org.chorem.pollen.persistence.entity.PollenUserEmailAddress; +import org.nuiton.spgeed.annotations.Select; + +public interface PollenPollSpgeedDao { + +} \ No newline at end of file diff --git a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/PollenUserSpgeedDao.java b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/Dao/PollenUserSpgeedDao.java similarity index 66% rename from pollen-persistence/src/main/java/org/chorem/pollen/persistence/PollenUserSpgeedDao.java rename to pollen-persistence/src/main/java/org/chorem/pollen/persistence/Dao/PollenUserSpgeedDao.java index e6cce841..71cf5e7c 100644 --- a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/PollenUserSpgeedDao.java +++ b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/Dao/PollenUserSpgeedDao.java @@ -1,4 +1,4 @@ -package org.chorem.pollen.persistence; +package org.chorem.pollen.persistence.Dao; import org.chorem.pollen.persistence.entity.PollenUser; import org.chorem.pollen.persistence.entity.PollenUserEmailAddress; @@ -7,9 +7,9 @@ import org.nuiton.spgeed.annotations.Select; public interface PollenUserSpgeedDao { @Select(sql = "with pollenu as " + - "(select name, administrator, language, password, banned, gtuvalidationdate, preMiumto, cancreatepoll, " + - "(select json_agg(e) as pollenuseremailaddress from pollenuseremailaddress e), " + - "(select json_object_agg('defaultemailaddress', d) as defaultemailaddress from pollenuseremailaddress d)" + + "(select name, administrator, language, password, banned, gtuvalidationdate, premiumto, cancreatepoll, " + + "(select json_agg(e) as emailaddresses from pollenuseremailaddress e), " + + "(select json_agg(d)->0 as defaultemailaddress from pollenuseremailaddress d)" + " from pollenuser)" + " select json_agg(pu) from pollenu pu") PollenUser getUser(); diff --git a/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/SpgeedTest.java b/pollen-persistence/src/test/java/org/chorem/pollen/persistence/SpgeedTest.java similarity index 50% rename from pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/SpgeedTest.java rename to pollen-persistence/src/test/java/org/chorem/pollen/persistence/SpgeedTest.java index 982e5e4c..68696375 100644 --- a/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/SpgeedTest.java +++ b/pollen-persistence/src/test/java/org/chorem/pollen/persistence/SpgeedTest.java @@ -1,4 +1,4 @@ -package org.chorem.pollen.rest.api; +package org.chorem.pollen.persistence; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.MapperFeature; @@ -12,6 +12,7 @@ import org.chorem.pollen.services.service.security.SpgeedDummyService; import org.junit.Assert; import org.junit.Test; +import javax.sql.DataSource; import java.io.IOException; /** @@ -19,14 +20,55 @@ import java.io.IOException; */ public class SpgeedTest { + public static final String EMAIL_JSON = "{ " + + " \"topiaid\":\"PollenUserEmailAddress_M-wGbZ74QQCUr_hwl6JXmw\"," + + " \"topiaversion\":1," + + " \"topiacreatedate\":\"2019-07-19T10:00:30.962\"," + + " \"emailaddress\":\"admin@chorem.org\"," + + " \"pgppublickey\":null," + + " \"validated\":true," + + " \"pollenuser\":\"PollenUser_6qdaqbgBTyCBa8Dvz5SeHQ\"" + + "}"; + + public static final String USER_JSON = "{" + + " \"name\":\"admin\"," + + " \"administrator\":true," + + " \"language\":null," + + " \"password\":\"m7LAmO/AeLrjPI6kkzS0wTmU6fpbG/nxptfi/P7fg0BToZoIAV6xVre3tcttYxnLTDrXjtq7YOpggTFRz7mTjA==\"," + + " \"banned\":false," + + " \"gtuvalidationdate\":null," + + " \"premiumto\":null," + + " \"cancreatepoll\":false," + + " \"emailaddresses\":[" + + " {" + + " \"topiaid\":\"PollenUserEmailAddress_M-wGbZ74QQCUr_hwl6JXmw\"," + + " \"topiaversion\":1," + + " \"topiacreatedate\":\"2019-07-19T10:00:30.962\"," + + " \"emailaddress\":\"admin@chorem.org\"," + + " \"pgppublickey\":null," + + " \"validated\":true," + + " \"pollenuser\":\"PollenUser_6qdaqbgBTyCBa8Dvz5SeHQ\"" + + " }" + + " ]," + + " \"defaultemailaddress\":" + + " {" + + " \"topiaid\":\"PollenUserEmailAddress_M-wGbZ74QQCUr_hwl6JXmw\"," + + " \"topiaversion\":1," + + " \"topiacreatedate\":\"2019-07-19T10:00:30.962\"," + + " \"emailaddress\":\"admin@chorem.org\"," + + " \"pgppublickey\":null," + + " \"validated\":true," + + " \"pollenuser\":\"PollenUser_6qdaqbgBTyCBa8Dvz5SeHQ\"" + + " }" + + "}"; + @Test public void testEmailDeserialization() throws Exception { - String json = "{\"topiaid\":\"PollenUserEmailAddress_M-wGbZ74QQCUr_hwl6JXmw\",\"topiaversion\":1,\"topiacreatedate\":\"2019-07-19T10:00:30.962\",\"emailaddress\":\"admin@chorem.org\",\"pgppublickey\":null,\"validated\":true,\"pollenuser\":\"PollenUser_6qdaqbgBTyCBa8Dvz5SeHQ\"}"; ObjectMapper mapper = new ObjectMapper(); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); mapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true); - PollenUserEmailAddress email = mapper.readValue(json, PollenUserEmailAddress.class); + PollenUserEmailAddress email = mapper.readValue(EMAIL_JSON, PollenUserEmailAddress.class); Assert.assertNotNull(email); Assert.assertEquals("admin@chorem.org", email.getEmailAddress()); @@ -34,17 +76,16 @@ public class SpgeedTest { @Test public void testUserDeserialization() throws Exception { - String json = "{\"topiaid\":\"PollenUser_6qdaqbgBTyCBa8Dvz5SeHQ\",\"topiaversion\":1,\"topiacreatedate\":\"2019-07-19T10:00:30.913\",\"name\":\"admin\",\"administrator\":true,\"language\":null,\"password\":\"m7LAmO/AeLrjPI6kkzS0wTmU6fpbG/nxptfi/P7fg0BToZoIAV6xVre3tcttYxnLTDrXjtq7YOpggTFRz7mTjA==\",\"salt\":\"yRnTw64IPoWXR5f/j/rIsal7Pvd3Zz9LM9FPH3yXgIo=\",\"banned\":false,\"gtuvalidationdate\":null,\"premiumto\":null,\"cancreatepoll\":false,\"avatar\":null,\"pollenuseremailaddress [...] ObjectMapper mapper = new ObjectMapper(); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); mapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true); - PollenUser pollenUser = mapper.readValue(json, PollenUser.class); + PollenUser pollenUser = mapper.readValue(USER_JSON, PollenUser.class); Assert.assertNotNull(pollenUser); - Assert.assertNotNull(pollenUser.getDefaultEmailAddress()); Assert.assertNotNull(pollenUser.getEmailAddresses()); - Assert.assertEquals("admin@chorem.org", pollenUser.getDefaultEmailAddress()); + Assert.assertNotNull(pollenUser.getDefaultEmailAddress()); + Assert.assertEquals("admin@chorem.org", pollenUser.getDefaultEmailAddress().getEmailAddress()); Assert.assertEquals("admin", pollenUser.getName()); Assert.assertTrue(pollenUser.isAdministrator()); } @@ -55,11 +96,11 @@ public class SpgeedTest { PollenUser pollenUser = spgeedDummyService.getPollenUser(); Assert.assertNotNull(pollenUser); - Assert.assertNotNull(pollenUser.getDefaultEmailAddress()); - Assert.assertNotNull(pollenUser.getEmailAddresses()); Assert.assertEquals("admin", pollenUser.getName()); - Assert.assertEquals("admin@chorem.org", pollenUser.getDefaultEmailAddress()); + Assert.assertNotNull(pollenUser.getEmailAddresses()); + Assert.assertNotNull(pollenUser.getDefaultEmailAddress()); + Assert.assertEquals("admin@chorem.org", pollenUser.getDefaultEmailAddress().getEmailaddress()); Assert.assertTrue(pollenUser.isAdministrator()); } -} +} \ No newline at end of file diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/security/SpgeedDummyService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/security/SpgeedDummyService.java index acd6669e..de7ec0c9 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/security/SpgeedDummyService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/security/SpgeedDummyService.java @@ -1,7 +1,7 @@ package org.chorem.pollen.services.service.security; import org.chorem.pollen.persistence.PollenSpgeedApplicationContext; -import org.chorem.pollen.persistence.PollenUserSpgeedDao; +import org.chorem.pollen.persistence.Dao.PollenUserSpgeedDao; import org.chorem.pollen.persistence.entity.PollenUser; import org.chorem.pollen.persistence.entity.PollenUserEmailAddress; import org.chorem.pollen.services.PollenTechnicalException; diff --git a/pom.xml b/pom.xml index 3a505c38..9db5ed90 100644 --- a/pom.xml +++ b/pom.xml @@ -180,7 +180,7 @@ <nuitonI18nVersion>3.7</nuitonI18nVersion> <eugenePluginVersion>3.0-alpha-10</eugenePluginVersion> <topiaVersion>3.5</topiaVersion> - <spgeedVersion>1.0.6</spgeedVersion> + <spgeedVersion>1.0.10</spgeedVersion> <flywayVersion>5.0.0</flywayVersion> -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.