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 f17637d3ac43cb8f1c073ef4d7a6915d37268385 Author: Killian <killian.herbreteau@epitech.eu> Date: Mon Sep 30 10:27:07 2019 +0200 adding test to compare performance between (topia+hibernate and spgeed) + test for foreign key link --- .../org/chorem/pollen/services/SpgeedTest.java | 171 ++++++++++++++++----- 1 file changed, 129 insertions(+), 42 deletions(-) diff --git a/pollen-services/src/test/java/org/chorem/pollen/services/SpgeedTest.java b/pollen-services/src/test/java/org/chorem/pollen/services/SpgeedTest.java index c3fa52b9..0f9b77e7 100644 --- a/pollen-services/src/test/java/org/chorem/pollen/services/SpgeedTest.java +++ b/pollen-services/src/test/java/org/chorem/pollen/services/SpgeedTest.java @@ -3,32 +3,24 @@ package org.chorem.pollen.services; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.MapperFeature; import com.fasterxml.jackson.databind.ObjectMapper; +import org.chorem.pollen.persistence.Dao.PollenUserSpgeedDao; import org.chorem.pollen.persistence.PollenTopiaApplicationContext; -import org.chorem.pollen.persistence.entity.Poll; -import org.chorem.pollen.persistence.entity.PollenUser; -import org.chorem.pollen.persistence.entity.PollenUserEmailAddress; -import org.chorem.pollen.services.config.PollenServicesConfig; -import org.chorem.pollen.services.config.PollenServicesConfigOption; -import org.chorem.pollen.services.service.PollenServiceSupport; +import org.chorem.pollen.persistence.PollenTopiaPersistenceContext; +import org.chorem.pollen.persistence.entity.*; import org.chorem.pollen.services.service.security.SpgeedDummyService; import org.chorem.pollen.services.test.FakePollenApplicationContext; -import org.chorem.pollen.services.test.FakePollenServiceContext; import org.junit.Assert; +import org.junit.Rule; import org.junit.Test; -import org.nuiton.topia.persistence.BeanTopiaConfiguration; -import org.nuiton.topia.persistence.TopiaApplicationContext; -import org.nuiton.topia.persistence.TopiaConfigurationBuilder; - -import java.io.File; -import java.util.Date; -import java.util.Map; -import java.util.Properties; - -/** - * @author ymartel (martel@codelutin.com) - */ +import org.nuiton.spgeed.SqlSession; + +import java.util.List; + public class SpgeedTest { + @Rule + public final FakePollenApplicationContext application = new FakePollenApplicationContext("pollen-rest-api.properties"); + public static final String EMAIL_JSON = "{ " + " \"topiaid\":\"PollenUserEmailAddress_M-wGbZ74QQCUr_hwl6JXmw\"," + " \"topiaversion\":1," + @@ -101,36 +93,131 @@ public class SpgeedTest { @Test public void testUserDeserializationCallDB() { - Date now = new Date(); - long start = now.getTime(); SpgeedDummyService spgeedDummyService = new SpgeedDummyService(); PollenUser[] pollenUser = spgeedDummyService.getallPollenUser(); - now = new Date(); - long spgeed_time = now.getTime(); - FakePollenApplicationContext applicationContext = new FakePollenApplicationContext("pollen-service.properties"); - applicationContext.init(); - TopiaApplicationContext topiaApplicationContext = applicationContext.getTopiaApplicationContext(); - PollenServiceContext serviceContext = topiaApplicationContext.getServices(); - //PollTopiaDao dao = get - //PollenUser[] topiauser = getAll; - now = new Date(); - long topia_hibernate_time = now.getTime(); - - System.out.println(spgeed_time - start); - System.out.println("Spgeed time: "+ (spgeed_time - start) + "\nTopia & hibernate time: "+(topia_hibernate_time - spgeed_time)); - Assert.assertTrue(spgeed_time - start < topia_hibernate_time - spgeed_time); + Assert.assertNotNull(pollenUser); } @Test - public void testPoll() { + public void testPollLink() { SpgeedDummyService spgeedDummyService = new SpgeedDummyService(); - Poll[] polls = spgeedDummyService.getallPoll(); + Poll[] PollArray = spgeedDummyService.getallPoll(); + System.out.println(PollArray.length); + /* Testing foreign key value */ + Assert.assertNotNull(PollArray); + Assert.assertNotNull(PollArray[0]); + Assert.assertNotNull(PollArray[0].getCreator().getPollenUser()); + Assert.assertNotNull(PollArray[0].getCreator().getPollenUser().getEmailAddresses()); + Assert.assertNotNull(PollArray[0].getCreator().getPollenUser().getDefaultEmailAddress()); + + /* Testing Poll filling */ + Assert.assertNotNull(PollArray[0].getTitle()); + Assert.assertNotNull(PollArray[0].getEndDate()); + Assert.assertNotNull(PollArray[0].getVoteVisibility()); + Assert.assertNotNull(PollArray[0].getCommentVisibility()); + Assert.assertNotNull(PollArray[0].getResultVisibility()); + Assert.assertNotNull(PollArray[0].getBeginDate()); + Assert.assertNotNull(PollArray[0].getNotifyMeHoursBeforePollEnds()); + Assert.assertNotNull(PollArray[0].getFeedContent()); + Assert.assertNotNull(PollArray[0].getNotificationLocale()); + Assert.assertNotNull(PollArray[0].getTopiaId()); + Assert.assertNotNull(PollArray[0].getClass()); + Assert.assertNotNull(PollArray[0].getTopiaVersion()); + Assert.assertNotNull(PollArray[0].getTopiaCreateDate()); + Assert.assertNotNull(PollArray[0].getDescription()); + Assert.assertNotNull(PollArray[0].getCreator()); + /* Undefined in db so NULL */ + //Assert.assertNotNull(PollArray[0].getEmailAddressSuffixes()); + //Assert.assertNotNull(PollArray[0].getGtuValidationDate()); + } - Assert.assertNotNull(polls); - Poll first = polls[0]; - Assert.assertEquals(polls.length, 1); - Assert.assertEquals(first.getTitle(), "Sondage"); - Assert.assertEquals(first.getDescription(), "cc"); + public void testPoll(Poll poll) { + if (poll.getCreator() != null) { + poll.getCreator().getEmail(); + poll.getCreator().getPermission(); + poll.getCreator().getName(); + poll.getCreator().getTopiaId(); + poll.getCreator().getTopiaCreateDate(); + poll.getCreator().getTopiaVersion(); + poll.getCreator().getClass(); + if (poll.getCreator().getPollenUser() != null) { + poll.getCreator().getPollenUser().getName(); + poll.getCreator().getPollenUser().getPassword(); + poll.getCreator().getPollenUser().getPremiumTo(); + poll.getCreator().getPollenUser().getGtuValidationDate(); + poll.getCreator().getPollenUser().getLanguage(); + poll.getCreator().getPollenUser().getSalt(); + poll.getCreator().getPollenUser().getTopiaId(); + poll.getCreator().getPollenUser().getTopiaCreateDate(); + poll.getCreator().getPollenUser().getTopiaVersion(); + poll.getCreator().getPollenUser().getClass(); + if (poll.getCreator().getPollenUser().getDefaultEmailAddress() != null) + Assert.assertTrue(true); + if (poll.getCreator().getPollenUser().getEmailAddresses() != null) + Assert.assertTrue(true); + } + } + poll.getTitle(); + poll.getEndDate(); + poll.getVoteVisibility(); + poll.getCommentVisibility(); + poll.getResultVisibility(); + poll.getBeginDate(); + poll.getPollType(); + poll.getNotifyMeHoursBeforePollEnds(); + poll.getFeedContent(); + poll.getNotificationLocale(); + poll.getDescription(); + poll.getEmailAddressSuffixes(); + poll.getGtuValidationDate(); + poll.getClass(); + poll.getTopiaVersion(); + poll.getTopiaId(); + poll.getTopiaCreateDate(); } + + @Test + public void testGetUser() { + String userId = "PollenUser_tzpzGUD2T--Je5vUXarfdA"; + SpgeedDummyService spgeedDummyService = new SpgeedDummyService(); + PollenUser user = spgeedDummyService.getSpgeedDao(PollenUserSpgeedDao.class).getUser(userId); + + Assert.assertEquals(user.getName(), "Étienne Rozé"); + System.out.println(user.getTopiaId()); + } + + @Test + public void testPerformance() { + Poll[] spgeedPollArray; + List<Poll> topiaPoll; + long beforSpgeed = System.currentTimeMillis(); + + SpgeedDummyService spgeedDummyService = new SpgeedDummyService(); + spgeedPollArray = spgeedDummyService.getallPoll(); + + for (int i = 0; i < spgeedPollArray.length; i++) { + testPoll(spgeedPollArray[i]); + } + + long afterSpgeed = System.currentTimeMillis(); + + try (PollenTopiaApplicationContext topiaApplicationContext = application.getTopiaApplicationContext()) { + try(PollenTopiaPersistenceContext topiaPersistenceContext=topiaApplicationContext.newPersistenceContext()) { + PollTopiaDao pollDao=topiaPersistenceContext.getPollDao(); + topiaPoll = pollDao.findAll(); + for (int i = 0; i < topiaPoll.size(); i++) { + testPoll(topiaPoll.get(i)); + } + } + } + + long topiaExecutionTime = System.currentTimeMillis() - afterSpgeed; + Assert.assertNotNull(spgeedPollArray); + Assert.assertNotNull(topiaPoll); + Assert.assertEquals(topiaPoll.size(), spgeedPollArray.length); + long spgeedExecutionTime = afterSpgeed - beforSpgeed; + System.out.println(topiaExecutionTime + " "+spgeedExecutionTime); + Assert.assertTrue(topiaExecutionTime > spgeedExecutionTime); + } } \ No newline at end of file -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.