[Suiviobsmer-commits] r1337 - in trunk/wao-business/src/test/java/fr/ifremer/wao: business/fixtures service
Author: bleny Date: 2011-06-10 22:25:28 +0000 (Fri, 10 Jun 2011) New Revision: 1337 Log: end of test refactoring Added: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatTest.java Removed: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/Fixtures.java trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsDebFixtures.java trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsMerFixtures.java trunk/wao-business/src/test/java/fr/ifremer/wao/service/AbstractServiceTest.java trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactImplTest.java trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactTest.java trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingTest.java trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisTest.java trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/Fixtures.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/Fixtures.java 2011-06-10 16:35:23 UTC (rev 1336) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/Fixtures.java 2011-06-10 22:25:28 UTC (rev 1337) @@ -1,6 +1,7 @@ package fr.ifremer.wao.business.fixtures; import fr.ifremer.wao.WaoBusinessException; +import fr.ifremer.wao.WaoDAOHelper; import fr.ifremer.wao.WaoServices; import fr.ifremer.wao.bean.ConnectedUser; import fr.ifremer.wao.bean.ObsProgram; @@ -8,6 +9,8 @@ import fr.ifremer.wao.entity.Boat; import fr.ifremer.wao.entity.Company; import fr.ifremer.wao.entity.CompanyImpl; +import fr.ifremer.wao.entity.SampleRow; +import fr.ifremer.wao.entity.SampleRowDAO; import fr.ifremer.wao.entity.UserProfile; import fr.ifremer.wao.entity.UserProfileImpl; import fr.ifremer.wao.entity.WaoUser; @@ -31,6 +34,8 @@ protected Map<Integer, Boat> boats; + protected Map<String, SampleRow> sampleRows; + protected TopiaContext transaction; public Fixtures(WaoServices manager) { @@ -65,8 +70,6 @@ return transaction; } - protected abstract ObsProgram getObsProgram(); - protected Company getCompany(String name) { Company company = companies.get(name); if (company == null) { @@ -106,11 +109,10 @@ return waoUser; } - public ConnectedUser connectedUser(WaoUser user, UserRole userRole) { + protected ConnectedUser connectedUser(WaoUser user, UserRole userRole) { // first, log in ConnectedUser connectedUser; try { - System.out.println("trying to connect " + user.getLogin() + " " + user.getPassword()); connectedUser = manager.getServiceUser().connect(user.getLogin(), user.getPassword()); } catch (WaoBusinessException e) { throw new RuntimeException(e); @@ -151,11 +153,46 @@ return boat; } + /** 174258 */ public Boat samourai() { return getBoat(174258); } + /** 273129 */ public Boat moise() { return getBoat(273129); } + + protected abstract ObsProgram getObsProgram(); + + protected abstract void importSamplingPlan(); + + public void samplingPlan() { + if (sampleRows == null) { + sampleRows = new HashMap<String, SampleRow>(); + importSamplingPlan(); + } + } + + protected SampleRow getSampleRow(String code) { + samplingPlan(); + SampleRow sampleRow = sampleRows.get(code); + if (sampleRow == null) { + try { + TopiaContext transaction = manager.getContext().beginTransaction(); + SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction); + sampleRow = rowDAO.findByCode(code); + sampleRow.getProfession(); + sampleRow.sizeElligibleBoat(); + sampleRow.sizeSampleMonth(); + sampleRow.sizeSampleRowLog(); + sampleRow.getCompany(); + transaction.closeContext(); + return sampleRow; + } catch (TopiaException e) { + throw new RuntimeException(e); + } + } + return sampleRow; + } } \ No newline at end of file Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsDebFixtures.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsDebFixtures.java 2011-06-10 16:35:23 UTC (rev 1336) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsDebFixtures.java 2011-06-10 22:25:28 UTC (rev 1337) @@ -41,4 +41,9 @@ public ConnectedUser joshAsObserver() { return connectedUser(josh(), UserRole.OBSERVER); } + + @Override + protected void importSamplingPlan() { + throw new UnsupportedOperationException("not yet implemented"); + } } Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsMerFixtures.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsMerFixtures.java 2011-06-10 16:35:23 UTC (rev 1336) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsMerFixtures.java 2011-06-10 22:25:28 UTC (rev 1337) @@ -8,9 +8,13 @@ import fr.ifremer.wao.bean.ObsProgram; import fr.ifremer.wao.bean.UserRole; import fr.ifremer.wao.entity.Boat; +import fr.ifremer.wao.entity.BoatDAO; import fr.ifremer.wao.entity.Company; import fr.ifremer.wao.entity.Contact; +import fr.ifremer.wao.entity.ContactDAO; import fr.ifremer.wao.entity.ContactImpl; +import fr.ifremer.wao.entity.ElligibleBoat; +import fr.ifremer.wao.entity.ElligibleBoatDAO; import fr.ifremer.wao.entity.SampleRow; import fr.ifremer.wao.entity.SampleRowDAO; import fr.ifremer.wao.entity.WaoUser; @@ -21,6 +25,8 @@ import org.nuiton.util.DateUtil; import java.io.InputStream; +import java.util.ArrayList; +import java.util.Arrays; import java.util.Date; public class ObsMerFixtures extends Fixtures { @@ -34,10 +40,13 @@ return ObsProgram.OBSMER; } + /** a company name 'TARTANPION' */ public Company tartanpion() { return getCompany("TARTANPION"); } + + /** a company name 'BIS' */ public Company bis() { return getCompany("BIS"); } @@ -70,7 +79,8 @@ return connectedUser; } - public void samplingPlan() { + @Override + protected void importSamplingPlan() { tartanpion(); bis(); fishingZones(); @@ -86,10 +96,6 @@ } } - public ConnectedUser connectedAdmin() { - return jeanMichmucheAsAdmin(); - } - public ConnectedUser jeanMichmucheAsObserver() { return connectedUser(jeanMichmuche(), UserRole.OBSERVER); } @@ -98,6 +104,9 @@ return connectedUser(billMurray(), UserRole.OBSERVER); } + /** + * @return a boat '177474' + */ public Boat mayflowers() { return getBoat(177474); } @@ -194,4 +203,95 @@ } } + /** @return a boat '174592' */ + public Boat fifitou() { + return getBoat(174592); + } + + public SampleRow row2009_0003() { + return getSampleRow("2009_0003"); + } + + public SampleRow row2010_0004() { + return getSampleRow("2010_0004"); + } + + public SampleRow row2010_0001() { + return getSampleRow("2010_0001"); + } + + public SampleRow row2009_0006() { + return getSampleRow("2009_0006"); + } + + protected Boat springfield; + + public Boat springfield() { + if (springfield == null) { + try { + BoatDAO dao = WaoDAOHelper.getBoatDAO(getTransaction()); + springfield = dao.create(); + springfield.setImmatriculation(123456); + springfield.setName("SPRINGFIELD"); + springfield.setActive(true); + transaction.commitTransaction(); + } catch (TopiaException e) { + throw new RuntimeException(e); + } + } + return springfield; + } + + public WaoUser homerSimpson() { + return getWaoUser("homer", "doh", "Homer", "Simpson", tartanpion()); + } + + public ConnectedUser homerSimpsonAsObserver() { + return connectedUser(homerSimpson(), UserRole.OBSERVER); + } + + protected SampleRow defaultSampleRow; + + public SampleRow defaultSampleRow() { + if (defaultSampleRow == null) { + try { + SampleRowDAO dao = WaoDAOHelper.getSampleRowDAO(getTransaction()); + defaultSampleRow = dao.create(); + defaultSampleRow.setCode("2010_0001"); + defaultSampleRow.setCompany(tartanpion()); + + ElligibleBoatDAO elligibleBoatDAO = WaoDAOHelper.getElligibleBoatDAO(getTransaction()); + ElligibleBoat elligibleBoat = elligibleBoatDAO.create(); + elligibleBoat.setSampleRow(defaultSampleRow()); + elligibleBoat.setBoat(samourai()); + elligibleBoat.setCompanyActive(true); + elligibleBoat.setGlobalActive(true); + + defaultSampleRow.addElligibleBoat(elligibleBoat); + getTransaction().commitTransaction(); + } catch (TopiaException e) { + throw new RuntimeException(e); + } + } + return defaultSampleRow; + } + + protected Contact defaultContact; + + public Contact defaultContact() { + if (defaultContact == null) { + try { + ContactDAO dao = WaoDAOHelper.getContactDAO(getTransaction()); + defaultContact = dao.create(); + defaultContact.setBoat(springfield()); + defaultContact.setContactState(ContactState.CONTACT_START); + defaultContact.setMainObserver(homerSimpson()); + defaultContact.setSampleRow(defaultSampleRow()); + getTransaction().commitTransaction(); + } catch (TopiaException e) { + throw new RuntimeException(e); + } + } + return defaultContact; + } } Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/AbstractServiceTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/service/AbstractServiceTest.java 2011-06-10 16:35:23 UTC (rev 1336) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/AbstractServiceTest.java 2011-06-10 22:25:28 UTC (rev 1337) @@ -21,31 +21,12 @@ package fr.ifremer.wao.service; -import fr.ifremer.wao.WaoDAOHelper; import fr.ifremer.wao.WaoServices; import fr.ifremer.wao.bean.ConnectedUser; -import fr.ifremer.wao.bean.ContactState; -import fr.ifremer.wao.bean.ObsProgram; -import fr.ifremer.wao.bean.UserRole; import fr.ifremer.wao.business.fixtures.ObsMerFixtures; -import fr.ifremer.wao.entity.Boat; -import fr.ifremer.wao.entity.BoatDAO; -import fr.ifremer.wao.entity.Company; -import fr.ifremer.wao.entity.CompanyDAO; -import fr.ifremer.wao.entity.Contact; -import fr.ifremer.wao.entity.ContactDAO; -import fr.ifremer.wao.entity.ElligibleBoat; -import fr.ifremer.wao.entity.ElligibleBoatDAO; -import fr.ifremer.wao.entity.SampleRow; -import fr.ifremer.wao.entity.SampleRowDAO; -import fr.ifremer.wao.entity.WaoUser; -import fr.ifremer.wao.entity.WaoUserDAO; -import org.junit.After; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Rule; -import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -61,7 +42,7 @@ public abstract class AbstractServiceTest { private static final Logger log = - LoggerFactory.getLogger(AbstractServiceTest.class); + LoggerFactory.getLogger(AbstractServiceTest.class); protected WaoServices getWaoServices() { // laziness ensure that manager is always available whatever the order @@ -78,421 +59,22 @@ @Rule public ObsMerFixtures obsMerFixtures = new ObsMerFixtures(getWaoServices()); - protected ServiceSamplingImpl serviceSampling; - - protected static final String BOAT_DEFAULT_NAME = "SPRINGFIELD"; - protected static final int BOAT_DEFAULT_IMMATRICULATION = 123456; - protected static final String SAMPLE_ROW_DEFAULT_CODE = "2010_0001"; - protected static final String OBSERVER_DEFAULT_FIRST_NAME = "Homer"; - protected static final String OBSERVER_DEFAULT_LAST_NAME = "Simpson"; - protected static final String OBSERVER_DEFAULT_LOGIN = "homer"; - @BeforeClass - public static void setUpClass() throws Exception { - // Create tmpdir if not exist + public static void createTempDir() throws Exception { String tmpdir = System.getProperty("java.io.tmpdir"); File file = new File(tmpdir); - if (!file.exists()) { + if ( ! file.exists()) { boolean b = file.mkdirs(); - if (!b) { - if (log.isWarnEnabled()) - log.warn("Could not create tmp directory : " + file); - } - if (log.isInfoEnabled()) { - log.info("tmp dir : " + file + " was created"); - } - } - } - - @Before - public void setUp() throws Throwable { - serviceSampling = (ServiceSamplingImpl) manager.getServiceSampling(); - } - - /** - * Create a company : <br /> - * <ul> - * <li>first name : Homer</li> - * <li>last name : Simpson</li> - * <li>login : homer</li> - * <li>company : ref to TARTANPION</li> - * <li>role : OBSERVER</li> - * </ul> - * - * @return the new Company - * @throws TopiaException - */ - protected WaoUser createDefaultObserver() throws TopiaException { - TopiaContext transaction = manager.getContext().beginTransaction(); - WaoUser observer = null; - try { - WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction); - observer = userDAO.create( - WaoUser.PROPERTY_COMPANY, obsMerFixtures.tartanpion(), - WaoUser.PROPERTY_LOGIN, OBSERVER_DEFAULT_LOGIN, - WaoUser.PROPERTY_FIRST_NAME, OBSERVER_DEFAULT_FIRST_NAME, - WaoUser.PROPERTY_LAST_NAME, OBSERVER_DEFAULT_LAST_NAME); - if (log.isDebugEnabled()) { - log.debug("Create default observer : " + observer); - } - - transaction.commitTransaction(); - } finally { - transaction.closeContext(); - } - return observer; - } - - /** - * Create a user : <br /> - * <ul> - * <li>first name : null</li> - * <li>last name : null</li> - * <li>login : defined with {@code login} argument</li> - * <li>company : defined with {@code company} argument</li> - * <li>role : defined with {@code role} argument</li> - * </ul> - * - * @param login String unique login for the new user - * @param role UserRole of the user - * @param company Company parent of the user - * @return the new WaoUser - * @throws TopiaException - */ - protected WaoUser createUser(String login, UserRole role, - Company company) throws TopiaException { - TopiaContext transaction = manager.getContext().beginTransaction(); - WaoUser observer = null; - try { - WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction); - observer = userDAO.create( - WaoUser.PROPERTY_COMPANY, company, - WaoUser.PROPERTY_LOGIN, login, - WaoUser.PROPERTY_FIRST_NAME, null, - WaoUser.PROPERTY_LAST_NAME, null); - - if (log.isDebugEnabled()) { - log.debug("Create observer : " + observer); - } - - transaction.commitTransaction(); - } finally { - transaction.closeContext(); - } - return observer; - } - - /** - * Create a company : <br /> - * <ul> - * <li>name : defined with {@code name} argument</li> - * </ul> - * - * @param name - * @return the new Company - * @throws TopiaException - */ - protected Company createCompany(String name) throws TopiaException { - Company company = null; - TopiaContext transaction = manager.getContext().beginTransaction(); - try { - CompanyDAO dao = WaoDAOHelper.getCompanyDAO(transaction); - - company = dao.create(); - company.setName(name); - - transaction.commitTransaction(); - } finally { - transaction.closeContext(); - } - - return company; - } - - /** - * Create a default sampleRow : <br /> - * <ul> - * <li>code : 2010_0001</li> - * <li>company : TARTANPION</li> - * </ul> - * - * @return the new SampleRow - * @throws TopiaException - */ - protected SampleRow createDefaultSampleRow() throws TopiaException { - return createSampleRow(SAMPLE_ROW_DEFAULT_CODE, obsMerFixtures.tartanpion()); - } - - /** - * Create a default sampleRow : <br /> - * <ul> - * <li>code : defined with {@code code} argument</li> - * <li>company : defined with {@code company} argument</li> - * </ul> - * - * @param code - * @param company - * @return the new SampleRow - * @throws TopiaException - */ - protected SampleRow createSampleRow(String code, Company company) - throws TopiaException { - SampleRow row = null; - TopiaContext transaction = manager.getContext().beginTransaction(); - try { - SampleRowDAO dao = - WaoDAOHelper.getSampleRowDAO(transaction); - - row = dao.create(); - row.setCode(code); - row.setCompany(company); - if (log.isDebugEnabled()) { - log.debug("Create sampleRow : " + row); - } - - transaction.commitTransaction(); - } finally { - transaction.closeContext(); - } - - return row; - } - - /** - * Create a default boat : <br /> - * <ul> - * <li>immatriculation : 123456</li> - * <li>name : SPRINGFIELD</li> - * <li>active : true</li> - * </ul> - * - * @return the new Boat - * @throws TopiaException - */ - protected Boat createDefaultBoat() throws TopiaException { - return createBoat(123456, "SPRINGFIELD"); - } - - /** - * Create a boat : <br /> - * <ul> - * <li>immatriculation : defined with {@code immatriculation} argument</li> - * <li>name : defined with {@code name} argument</li> - * <li>active : true</li> - * </ul> - * - * @param immatriculation - * @param name - * @return the new Boat - * @throws TopiaException - */ - protected Boat createBoat(int immatriculation, String name) - throws TopiaException { - Boat boat = null; - TopiaContext transaction = manager.getContext().beginTransaction(); - try { - BoatDAO dao = WaoDAOHelper.getBoatDAO(transaction); - - // CREATE - boat = dao.create(); - boat.setImmatriculation(immatriculation); - boat.setName(name); - boat.setActive(true); - if (log.isDebugEnabled()) { - log.debug("Create boat : " + boat); - } - - transaction.commitTransaction(); - - } finally { - transaction.closeContext(); - } - return boat; - } - - /** - * Create an elligibleBoat : <br /> - * <ul> - * <li>sampleRow : defined with {@code row} argument</li> - * <li>boat : defined with {@code boat} argument</li> - * <li>companyActive : true if {@code company} is true, null otherwise</li> - * <li>globalActive : true if {@code company} is false, false otherwise</li> - * </ul> - * - * @param row to set for ElligibleBoat - * @param boat to set for ElligibleBoat - * @param company true for companyActive, false for globalActive - * @return the new ElligibleBoat - * @throws TopiaException - */ - protected ElligibleBoat createElligibleBoat(SampleRow row, Boat boat, - boolean company) throws TopiaException { - - ElligibleBoat elligibleBoat = null; - TopiaContext transaction = manager.getContext().beginTransaction(); - try { - ElligibleBoatDAO dao = - WaoDAOHelper.getElligibleBoatDAO(transaction); - - // CREATE - elligibleBoat = dao.create(); - elligibleBoat.setBoat(boat); - elligibleBoat.setSampleRow(row); - if (company) { - elligibleBoat.setCompanyActive(true); + if (b) { + if (log.isInfoEnabled()) { + log.info("tmp dir : " + file + " was created"); + } } else { - elligibleBoat.setGlobalActive(true); - } - transaction.commitTransaction(); - - } finally { - transaction.closeContext(); - } - return elligibleBoat; - } - - /** - * Create a default contact : <br /> - * <ul> - * <li>boat : SPRINGFIELD</li> - * <li>observer : homer</li> - * <li>sampleRow : 2010_0001</li> - * <li>state : CONTACT_START</li> - * <li>companyValidation : null</li> - * <li>programValidation : null</li> - * </ul> - * - * @return the new Contact - * @throws TopiaException - */ - protected Contact createDefaultContact() throws TopiaException { - TopiaContext transaction = manager.getContext().beginTransaction(); - Contact contact = null; - try { - ContactDAO dao = WaoDAOHelper.getContactDAO(transaction); - - // CREATE - contact = dao.create(); - contact.setBoat(findDefaultBoat()); - contact.setContactState(ContactState.CONTACT_START); - contact.setMainObserver(findDefaultObserver()); - contact.setSampleRow(findDefaultSampleRow()); - if (log.isDebugEnabled()) { - log.debug("Create contact : " + contact); - } - - transaction.commitTransaction(); - - } finally { - transaction.closeContext(); - } - return contact; - } - - protected SampleRow findDefaultSampleRow(String... properties) - throws TopiaException { - SampleRow findRow = findSampleRowByCode( - SAMPLE_ROW_DEFAULT_CODE, properties); - - if (findRow == null) { - findRow = createDefaultSampleRow(); - } - return findRow; - } - - /** - * Find a sampleRow existing using his unique {@code code}. Some - * {@code properties} can be added to load them if the sampleRow is - * corretly retrieve. - * - * @param code SampleRow unique code - * @param properties authorized properties : ElligibleBoat - * @return the existing SampleRow if found, null otherwise - * @throws TopiaException - */ - protected SampleRow findSampleRowByCode(String code, String... properties) - throws TopiaException { - SampleRow row = null; - TopiaContext transaction = manager.getContext().beginTransaction(); - try { - SampleRowDAO dao = - WaoDAOHelper.getSampleRowDAO(transaction); - - row = dao.findByCode(code); - if (row != null) { - // Load properties - for (String property : properties) { - if (property.equals(SampleRow.PROPERTY_ELLIGIBLE_BOAT)) { - row.sizeElligibleBoat(); - } + if (log.isWarnEnabled()) { + log.warn("Could not create tmp directory : " + file); } } - } finally { - transaction.closeContext(); } - return row; } - protected Boat findDefaultBoat() throws TopiaException { - Boat findBoat = - findBoatByImmatriculation(BOAT_DEFAULT_IMMATRICULATION); - if (findBoat == null) { - findBoat = createDefaultBoat(); - } - return findBoat; - } - - protected Boat findBoatByImmatriculation(int immatriculation) - throws TopiaException { - Boat boat = null; - TopiaContext transaction = manager.getContext().beginTransaction(); - try { - BoatDAO dao = - WaoDAOHelper.getBoatDAO(transaction); - - boat = dao.findByImmatriculation(immatriculation); - } finally { - transaction.closeContext(); - } - return boat; - } - - protected WaoUser findDefaultObserver() throws TopiaException { - WaoUser findObserver = - findUserByLogin(OBSERVER_DEFAULT_LOGIN); - if (findObserver == null) { - findObserver = createDefaultObserver(); - } - return findObserver; - } - - protected WaoUser findUserByLogin(String login) - throws TopiaException { - WaoUser user = null; - TopiaContext transaction = manager.getContext().beginTransaction(); - try { - WaoUserDAO dao = - WaoDAOHelper.getWaoUserDAO(transaction); - - user = dao.findByLogin(login); - // Load company - if (user != null) { - user.getCompany(); - } - } finally { - transaction.closeContext(); - } - return user; - } - - @Deprecated - public ConnectedUser getConnectedUser(WaoUser user, UserRole userRole, ObsProgram obsProgram) { - return obsMerFixtures.jeanMichmucheAsAdmin(); - } - - @Deprecated - public ConnectedUser getConnectedAdmin() { - return obsMerFixtures.connectedAdmin(); - } - } Deleted: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java 2011-06-10 16:35:23 UTC (rev 1336) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java 2011-06-10 22:25:28 UTC (rev 1337) @@ -1,374 +0,0 @@ -/* - * #%L - * Wao :: Business - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2009 - 2010 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * #L% - */ - -package fr.ifremer.wao.service; - -import fr.ifremer.wao.WaoBusinessException; -import fr.ifremer.wao.WaoDAOHelper; -import fr.ifremer.wao.bean.BoatFilter; -import fr.ifremer.wao.bean.BoatFilterImpl; -import fr.ifremer.wao.bean.CompanyBoatInfos; -import fr.ifremer.wao.bean.ConnectedUser; -import fr.ifremer.wao.bean.ContactState; -import fr.ifremer.wao.bean.ObsProgram; -import fr.ifremer.wao.bean.UserRole; -import fr.ifremer.wao.business.fixtures.ObsMerFixtures; -import fr.ifremer.wao.entity.Boat; -import fr.ifremer.wao.entity.BoatInfos; -import fr.ifremer.wao.entity.Company; -import fr.ifremer.wao.entity.Contact; -import fr.ifremer.wao.entity.ElligibleBoat; -import fr.ifremer.wao.entity.SampleRow; -import fr.ifremer.wao.entity.SampleRowDAO; -import fr.ifremer.wao.entity.SampleRowLogImpl; -import fr.ifremer.wao.entity.WaoUser; -import fr.ifremer.wao.io.ImportResults; -import org.apache.commons.io.IOUtils; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.InputStream; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; - -/** - * - * @author fdesbois <fdesbois at codelutin.com> - */ -public class ServiceBoatImplTest extends AbstractServiceTest { - - private static final Logger log = LoggerFactory.getLogger(ServiceBoatImplTest.class); - - protected ServiceBoat service; - - @Before - public void setUp() { - service = manager.getServiceBoat(); - } - - /** - * Test of getBoatsByFilter method, of class ServiceBoatImpl. - * @throws Exception - */ - @Test - public void testGetBoatsByFilter() throws Exception { - - obsMerFixtures.boats(); - Company company = obsMerFixtures.tartanpion(); - List<SampleRow> rows = prepareSampleRows(company); - obsMerFixtures.jeanMichmuche(); - - BoatFilter filter = new BoatFilterImpl(); - - // Exec with no filter - Map<Integer, Boat> boats = service.getBoatsByFilter(filter); - Assert.assertEquals(6, boats.size()); - // first boat of the file - Boat boat = boats.get(273129); - Assert.assertNotNull(boat); - - // Exec with filter on Immatriculation - filter.setBoatImmatriculation(273129); - boats = service.getBoatsByFilter(filter); - Assert.assertEquals(1, boats.size()); - - // Exec with filter on Name : start with "M" - filter = new BoatFilterImpl(); - filter.setBoatName("M"); - boats = service.getBoatsByFilter(filter); - Assert.assertEquals(2, boats.size()); - - // Exec with filter on DistrictCode - filter = new BoatFilterImpl(); - filter.setBoatDistrictCode("UN"); - boats = service.getBoatsByFilter(filter); - Assert.assertEquals(4, boats.size()); - - // Exec with filter on SampleRowCode and company - filter = new BoatFilterImpl(); - filter.setSampleRow(rows.get(0)); // Code = 2009_03 - filter.setCompany(company); - boats = service.getBoatsByFilter(filter); - Assert.assertEquals(2, boats.size()); - - // Exec with filter on shipOwnerName - filter = new BoatFilterImpl(); - filter.setShipOwnerName("JEAN"); - boats = service.getBoatsByFilter(filter); - Assert.assertEquals(4, boats.size()); - - filter.setShipOwnerName("JEAN PIERRE POUTRE"); - boats = service.getBoatsByFilter(filter); - Assert.assertEquals(2, boats.size()); - } - - @Test - public void testGetBoatsByImmatriculations() throws Exception { - obsMerFixtures.boats(); - - String immatriculations = "174592 978419 273129"; - List<Boat> results = service.getBoatsByImmatriculations(immatriculations); - Assert.assertEquals(3, results.size()); - immatriculations = "174592 \\ èè-- ç999 àà \n\n 978419 00 ççç 273129"; - results = service.getBoatsByImmatriculations(immatriculations); - Assert.assertEquals(3, results.size()); - } - - @Test - public void testGetElligibleBoats() throws Exception { - - obsMerFixtures.boats(); - Company company = obsMerFixtures.tartanpion(); - prepareSampleRows(company); - - CompanyBoatInfos result = service.getCompanyBoatInfos(ObsProgram.OBSMER, 174592, company); - Assert.assertNotNull(result); - Assert.assertEquals(174592, result.getBoatInfos().getBoat().getImmatriculation()); - Assert.assertEquals(company.getName(), result.getCompany().getName()); - // only row1 is getting - Assert.assertEquals(1, result.getElligibleBoatsValues().size()); - } - - private List<SampleRow> prepareSampleRows(Company company) - throws TopiaException, WaoBusinessException { - obsMerFixtures.fishingZones(); - obsMerFixtures.bis(); - - ServiceSampling serviceSampling = manager.getServiceSampling(); - InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv"); - serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER)); - - // Get two SampleRows : 2009_3 & 2010_4 - TopiaContext transaction = manager.getContext().beginTransaction(); - SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction); - SampleRow row1 = rowDAO.findByCode("2009_0003"); - row1.getProfession(); - row1.sizeElligibleBoat(); - row1.sizeSampleMonth(); - row1.sizeSampleRowLog(); - SampleRow row2 = rowDAO.findByCode("2010_0004"); - row2.getProfession(); - row2.sizeElligibleBoat(); - row2.sizeSampleMonth(); - row2.sizeSampleRowLog(); - - transaction.commitTransaction(); - - transaction.closeContext(); - - // Set company and elligibleBoats '174592 177474' for row1 - List<Boat> boats = service.getBoatsByImmatriculations("174592 177474"); - row1.setCompany(company); - serviceSampling.createUpdateSampleRow(row1, boats, new SampleRowLogImpl(), getConnectedAdmin()); - // Set company only for row2 - row2.setCompany(company); - serviceSampling.createUpdateSampleRow(row2, new ArrayList<Boat>(), new SampleRowLogImpl(), getConnectedAdmin()); - - return Arrays.asList(row1, row2); - } - - @Test - public void testCreateUpdateBoatInfos() throws Exception { - - /** PREPARE DATA **/ - obsMerFixtures.boats(); - - List<Boat> boats = service.getBoatsByImmatriculations("174592"); - Boat boat = boats.get(0); - - // Two rows created : 2009_3 & 2010_4 and one Company : "TARTANPION" - Company company = obsMerFixtures.tartanpion(); - WaoUser user = obsMerFixtures.jeanMichmuche(); - List<SampleRow> rows = prepareSampleRows(company); - - TopiaContext transaction = manager.getContext().beginTransaction(); - SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction); - SampleRow row = rowDAO.findByCode("2010_0001"); - row.getCompany(); - row.getProfession(); - transaction.closeContext(); - - ConnectedUser connectedUser = getConnectedUser(user, UserRole.ADMIN, ObsProgram.OBSMER); - ServiceContact serviceContact = manager.getServiceContact(); - - // creating the contact will make the boat 174592 eligible for row - Contact contact1 = serviceContact.newContact(connectedUser, row, boat); - contact1.setContactState(ContactState.CONTACT_START); - serviceContact.saveContact(connectedUser, contact1, false); - - CompanyBoatInfos companyBoatInfos = service.getCompanyBoatInfos(ObsProgram.OBSMER, 174592, company); - - /** EXEC METHOD **/ - BoatInfos boatInfos = companyBoatInfos.getBoatInfos(); - - boatInfos.setDup(2); - boatInfos.setContactFirstName("Jean-Paul"); - boatInfos.setContactLastName("Belmondo"); - - /** TEST1 **/ - // ajout d'une nouvelle ligne "2010_4" non mise en elligible auparavent - companyBoatInfos.setNewElligibleBoat(rows.get(1)); - // ligne deja elligible mise en inactive - companyBoatInfos.removeElligibleBoat("2009_0003"); - - service.createUpdateCompanyBoatInfos(companyBoatInfos); - - companyBoatInfos = service.getCompanyBoatInfos(ObsProgram.OBSMER, 174592, company); - - Map<String, ElligibleBoat> results = companyBoatInfos.getElligibleBoats(); - Assert.assertEquals(3, results.size()); - - ElligibleBoat elligible = companyBoatInfos.getElligibleBoat("2009_0003"); - Assert.assertNotNull(elligible.getCompanyActive()); - Assert.assertFalse(elligible.getCompanyActive()); - - elligible = companyBoatInfos.getElligibleBoat("2010_0004"); - Assert.assertTrue(elligible.getCompanyActive()); - - /** TEST2 **/ - // Suppression ligne lié elligible pour la société - companyBoatInfos.removeElligibleBoat("2010_0004"); - // Reactivation ligne mise en inactive juste avant - companyBoatInfos.activeElligibleBoat("2009_0003"); - - service.createUpdateCompanyBoatInfos(companyBoatInfos); - - companyBoatInfos = service.getCompanyBoatInfos(ObsProgram.OBSMER, 174592, company); - - results = companyBoatInfos.getElligibleBoats(); - Assert.assertEquals(2, results.size()); - - elligible = companyBoatInfos.getElligibleBoat("2009_0003"); - Assert.assertNull(elligible.getCompanyActive()); - Assert.assertTrue(elligible.getGlobalActive()); - - /** EXEC METHOD **/ - Contact result = companyBoatInfos.getLastContact(); - Assert.assertEquals(contact1.getTopiaId(), result.getTopiaId()); - } - - /** - * Test of importBoatCsv method, of class ServiceBoatImpl. - * @throws Exception - */ - @Test - public void testImportBoatCsv() throws Exception { - InputStream input = null; - try { - input = getClass().getResourceAsStream("/import/navires.csv"); - ImportResults importResults = service.importBoatCsv(input); - Assert.assertEquals(6, importResults.getNbRowsImported()); - // new boats added - Assert.assertEquals(6, importResults.getNbRowsImportedNew()); - - // Check boat 174592 is active and boat 177474 is inactive - List<Boat> results = service.getBoatsByImmatriculations("174592 177474"); - Assert.assertTrue(results.get(0).getActive()); - Assert.assertFalse(results.get(1).getActive()); - } finally { - IOUtils.closeQuietly(input); - } - } - -// @Test -// @Ignore("activity calendars are deprecated") -// public void testGetLastActivityCalendar() throws Exception { -// log.info("getLastActivityCalendar"); -// -// /** PREPARE DATA **/ -// TopiaContext transaction = manager.getContext().beginTransaction(); -// -// BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction); -// Boat boat = boatDAO.create( -// Boat.PROPERTY_NAME, "TESTBOAT", -// Boat.PROPERTY_IMMATRICULATION, 174592); -// -// ActivityCalendarDAO dao = WaoDAOHelper.getActivityCalendarDAO(transaction); -// -// ActivityCalendar calendar1 = dao.create( -// ActivityCalendar.PROPERTY_BOAT, boat, -// ActivityCalendar.PROPERTY_YEAR, 2008); -// -// ActivityCalendar calendar2 = dao.create( -// ActivityCalendar.PROPERTY_BOAT, boat, -// ActivityCalendar.PROPERTY_YEAR, 2007); -// -// ActivityCalendar calendar3 = dao.create( -// ActivityCalendar.PROPERTY_BOAT, boat, -// ActivityCalendar.PROPERTY_YEAR, 2009); -// -// transaction.commitTransaction(); -// transaction.closeContext(); -// -// /** EXEC METHOD **/ -// WaoUser user = new WaoUserImpl(); -// user.setFirstName("Jean"); -// user.setLastName("Michmuche"); -// // Evo #2063 : the defaut instanciation of WaoUser doesn't put the -// // user automatically as an non admin -// UserProfile profile = new UserProfileImpl(ObsProgram.OBSMER, UserRole.OBSERVER, true); -// user.addUserProfile(profile); -// Company company = new CompanyImpl(); -// company.setName("TARTANPION"); -// user.setCompany(company); -// -// ConnectedUser connectedUser = new ConnectedUserImpl(); -// connectedUser.setUser(user); -// connectedUser.setProfile(profile); -// -// ActivityCalendar result = service.getLastActivityCalendar(connectedUser, boat); -// Assert.assertNotNull(result); -// Assert.assertEquals(2009, result.getYear()); -// -// -// String filename = WaoProperty.FILENAME_LOG_ACTIVITY_ACCESS.getValue(); -// -// if (log.isDebugEnabled()) { -// log.debug("ActivityCalendar filename for access : " + filename); -// } -// -// File file = new File(filename); -// Assert.assertTrue(file.exists()); -// -// BufferedReader reader = new BufferedReader(new FileReader(file)); -// try { -// String line = reader.readLine(); -// Assert.assertTrue(line.contains("Jean Michmuche")); -// Assert.assertTrue(line.contains("TARTANPION")); -// Assert.assertTrue(line.contains("TESTBOAT")); -// Assert.assertTrue(line.contains("174592")); -// } finally { -// reader.close(); -// } -// } - -} Copied: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatTest.java (from rev 1336, trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java) =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatTest.java (rev 0) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatTest.java 2011-06-10 22:25:28 UTC (rev 1337) @@ -0,0 +1,327 @@ +/* + * #%L + * Wao :: Business + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2009 - 2010 Ifremer + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * #L% + */ + +package fr.ifremer.wao.service; + +import fr.ifremer.wao.WaoBusinessException; +import fr.ifremer.wao.bean.BoatFilter; +import fr.ifremer.wao.bean.BoatFilterImpl; +import fr.ifremer.wao.bean.CompanyBoatInfos; +import fr.ifremer.wao.bean.ContactState; +import fr.ifremer.wao.bean.ObsProgram; +import fr.ifremer.wao.entity.Boat; +import fr.ifremer.wao.entity.BoatInfos; +import fr.ifremer.wao.entity.Company; +import fr.ifremer.wao.entity.Contact; +import fr.ifremer.wao.entity.ElligibleBoat; +import fr.ifremer.wao.entity.SampleRow; +import fr.ifremer.wao.entity.SampleRowLogImpl; +import fr.ifremer.wao.io.ImportResults; +import org.apache.commons.io.IOUtils; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.nuiton.topia.TopiaException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * + * @author fdesbois <fdesbois at codelutin.com> + */ +public class ServiceBoatTest extends AbstractServiceTest { + + private static final Logger log = LoggerFactory.getLogger(ServiceBoatTest.class); + + protected ServiceBoat service; + + protected ServiceSampling serviceSampling; + + @Before + public void initServiceBoat() { + serviceSampling = manager.getServiceSampling(); + service = manager.getServiceBoat(); + } + + /** + * Test of getBoatsByFilter method, of class ServiceBoatImpl. + * @throws Exception + */ + @Test + public void testGetBoatsByFilter() { + + obsMerFixtures.boats(); + Company company = obsMerFixtures.tartanpion(); + List<SampleRow> rows = prepareSampleRows(); + obsMerFixtures.jeanMichmuche(); + + BoatFilter filter = new BoatFilterImpl(); + + // Exec with no filter + Map<Integer, Boat> boats = service.getBoatsByFilter(filter); + Assert.assertEquals(6, boats.size()); + // first boat of the file + Boat boat = boats.get(273129); + Assert.assertNotNull(boat); + + // Exec with filter on Immatriculation + filter.setBoatImmatriculation(273129); + boats = service.getBoatsByFilter(filter); + Assert.assertEquals(1, boats.size()); + + // Exec with filter on Name : start with "M" + filter = new BoatFilterImpl(); + filter.setBoatName("M"); + boats = service.getBoatsByFilter(filter); + Assert.assertEquals(2, boats.size()); + + // Exec with filter on DistrictCode + filter = new BoatFilterImpl(); + filter.setBoatDistrictCode("UN"); + boats = service.getBoatsByFilter(filter); + Assert.assertEquals(4, boats.size()); + + // Exec with filter on SampleRowCode and company + filter = new BoatFilterImpl(); + filter.setSampleRow(rows.get(0)); // Code = 2009_03 + filter.setCompany(company); + boats = service.getBoatsByFilter(filter); + Assert.assertEquals(2, boats.size()); + + // Exec with filter on shipOwnerName + filter = new BoatFilterImpl(); + filter.setShipOwnerName("JEAN"); + boats = service.getBoatsByFilter(filter); + Assert.assertEquals(4, boats.size()); + + filter.setShipOwnerName("JEAN PIERRE POUTRE"); + boats = service.getBoatsByFilter(filter); + Assert.assertEquals(2, boats.size()); + } + + @Test + public void testGetBoatsByImmatriculations() throws Exception { + obsMerFixtures.boats(); + + String immatriculations = "174592 978419 273129"; + List<Boat> results = service.getBoatsByImmatriculations(immatriculations); + Assert.assertEquals(3, results.size()); + immatriculations = "174592 \\ èè-- ç999 àà \n\n 978419 00 ççç 273129"; + results = service.getBoatsByImmatriculations(immatriculations); + Assert.assertEquals(3, results.size()); + } + + @Test + public void testGetElligibleBoats() throws Exception { + + Company company = obsMerFixtures.tartanpion(); + prepareSampleRows(); + + CompanyBoatInfos result = service.getCompanyBoatInfos(ObsProgram.OBSMER, obsMerFixtures.fifitou().getImmatriculation(), company); + Assert.assertNotNull(result); + Assert.assertEquals(obsMerFixtures.fifitou().getImmatriculation(), result.getBoatInfos().getBoat().getImmatriculation()); + Assert.assertEquals(company.getName(), result.getCompany().getName()); + // only row1 is getting + Assert.assertEquals(1, result.getElligibleBoatsValues().size()); + } + + protected List<SampleRow> prepareSampleRows() { + + // Get two SampleRows : 2009_3 & 2010_4 + SampleRow row1 = obsMerFixtures.row2009_0003(); + SampleRow row2 = obsMerFixtures.row2010_0004(); + + // Set company and elligibleBoats '174592 177474' for row1 + List<Boat> boats = Arrays.asList(obsMerFixtures.fifitou(), obsMerFixtures.mayflowers()); + row1.setCompany(obsMerFixtures.tartanpion()); + serviceSampling.createUpdateSampleRow(row1, boats, new SampleRowLogImpl(), obsMerFixtures.jeanMichmucheAsAdmin()); + row2.setCompany(obsMerFixtures.tartanpion()); + serviceSampling.createUpdateSampleRow(row2, new ArrayList<Boat>(), new SampleRowLogImpl(), obsMerFixtures.jeanMichmucheAsAdmin()); + return Arrays.asList(row1, row2); + } + + @Test + public void testCreateUpdateBoatInfos() { + // Two rows created : 2009_3 & 2010_4 and one Company : "TARTANPION" + Company company = obsMerFixtures.tartanpion(); + Boat boat = obsMerFixtures.fifitou(); + List<SampleRow> rows = prepareSampleRows(); + + SampleRow row = obsMerFixtures.row2010_0001(); + + ServiceContact serviceContact = manager.getServiceContact(); + + // creating the contact will make the boat 174592 eligible for row + Contact contact1 = serviceContact.newContact(obsMerFixtures.jeanMichmucheAsObserver(), row, boat); + contact1.setContactState(ContactState.CONTACT_START); + serviceContact.saveContact(obsMerFixtures.jeanMichmucheAsObserver(), contact1, false); + + CompanyBoatInfos companyBoatInfos = service.getCompanyBoatInfos(ObsProgram.OBSMER, boat.getImmatriculation(), company); + BoatInfos boatInfos = companyBoatInfos.getBoatInfos(); + + boatInfos.setDup(2); + boatInfos.setContactFirstName("Jean-Paul"); + boatInfos.setContactLastName("Belmondo"); + // ajout d'une nouvelle ligne "2010_4" non mise en elligible auparavent + companyBoatInfos.setNewElligibleBoat(rows.get(1)); + // ligne deja elligible mise en inactive + companyBoatInfos.removeElligibleBoat(obsMerFixtures.row2009_0003().getCode()); + + service.createUpdateCompanyBoatInfos(companyBoatInfos); + + companyBoatInfos = service.getCompanyBoatInfos(ObsProgram.OBSMER, obsMerFixtures.fifitou().getImmatriculation(), company); + + Map<String, ElligibleBoat> results = companyBoatInfos.getElligibleBoats(); + Assert.assertEquals(3, results.size()); + + ElligibleBoat elligible = companyBoatInfos.getElligibleBoat(obsMerFixtures.row2009_0003().getCode()); + Assert.assertNotNull(elligible.getCompanyActive()); + Assert.assertFalse(elligible.getCompanyActive()); + + elligible = companyBoatInfos.getElligibleBoat(obsMerFixtures.row2010_0004().getCode()); + Assert.assertTrue(elligible.getCompanyActive()); + + // Suppression ligne lié elligible pour la société + companyBoatInfos.removeElligibleBoat(obsMerFixtures.row2010_0004().getCode()); + // Reactivation ligne mise en inactive juste avant + companyBoatInfos.activeElligibleBoat(obsMerFixtures.row2009_0003().getCode()); + + service.createUpdateCompanyBoatInfos(companyBoatInfos); + + companyBoatInfos = service.getCompanyBoatInfos(ObsProgram.OBSMER, obsMerFixtures.fifitou().getImmatriculation(), company); + + results = companyBoatInfos.getElligibleBoats(); + Assert.assertEquals(2, results.size()); + + elligible = companyBoatInfos.getElligibleBoat(obsMerFixtures.row2009_0003().getCode()); + Assert.assertNull(elligible.getCompanyActive()); + Assert.assertTrue(elligible.getGlobalActive()); + + Contact result = companyBoatInfos.getLastContact(); + Assert.assertEquals(contact1.getTopiaId(), result.getTopiaId()); + } + + /** + * Test of importBoatCsv method, of class ServiceBoatImpl. + * @throws WaoBusinessException if import of boats fails or if retrieving + * boats fail + */ + @Test + public void testImportBoatCsv() throws WaoBusinessException { + InputStream input = null; + try { + input = getClass().getResourceAsStream("/import/navires.csv"); + ImportResults importResults = service.importBoatCsv(input); + Assert.assertEquals(6, importResults.getNbRowsImported()); + // new boats added + Assert.assertEquals(6, importResults.getNbRowsImportedNew()); + + // Check boat 174592 is active and boat 177474 is inactive + List<Boat> results = service.getBoatsByImmatriculations("174592 177474"); + Assert.assertTrue(results.get(0).getActive()); + Assert.assertFalse(results.get(1).getActive()); + } finally { + IOUtils.closeQuietly(input); + } + } + +// @Test +// @Ignore("activity calendars are deprecated") +// public void testGetLastActivityCalendar() throws Exception { +// log.info("getLastActivityCalendar"); +// +// /** PREPARE DATA **/ +// TopiaContext transaction = manager.getContext().beginTransaction(); +// +// BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction); +// Boat boat = boatDAO.create( +// Boat.PROPERTY_NAME, "TESTBOAT", +// Boat.PROPERTY_IMMATRICULATION, 174592); +// +// ActivityCalendarDAO dao = WaoDAOHelper.getActivityCalendarDAO(transaction); +// +// ActivityCalendar calendar1 = dao.create( +// ActivityCalendar.PROPERTY_BOAT, boat, +// ActivityCalendar.PROPERTY_YEAR, 2008); +// +// ActivityCalendar calendar2 = dao.create( +// ActivityCalendar.PROPERTY_BOAT, boat, +// ActivityCalendar.PROPERTY_YEAR, 2007); +// +// ActivityCalendar calendar3 = dao.create( +// ActivityCalendar.PROPERTY_BOAT, boat, +// ActivityCalendar.PROPERTY_YEAR, 2009); +// +// transaction.commitTransaction(); +// transaction.closeContext(); +// +// /** EXEC METHOD **/ +// WaoUser user = new WaoUserImpl(); +// user.setFirstName("Jean"); +// user.setLastName("Michmuche"); +// // Evo #2063 : the defaut instanciation of WaoUser doesn't put the +// // user automatically as an non admin +// UserProfile profile = new UserProfileImpl(ObsProgram.OBSMER, UserRole.OBSERVER, true); +// user.addUserProfile(profile); +// Company company = new CompanyImpl(); +// company.setName("TARTANPION"); +// user.setCompany(company); +// +// ConnectedUser connectedUser = new ConnectedUserImpl(); +// connectedUser.setUser(user); +// connectedUser.setProfile(profile); +// +// ActivityCalendar result = service.getLastActivityCalendar(connectedUser, boat); +// Assert.assertNotNull(result); +// Assert.assertEquals(2009, result.getYear()); +// +// +// String filename = WaoProperty.FILENAME_LOG_ACTIVITY_ACCESS.getValue(); +// +// if (log.isDebugEnabled()) { +// log.debug("ActivityCalendar filename for access : " + filename); +// } +// +// File file = new File(filename); +// Assert.assertTrue(file.exists()); +// +// BufferedReader reader = new BufferedReader(new FileReader(file)); +// try { +// String line = reader.readLine(); +// Assert.assertTrue(line.contains("Jean Michmuche")); +// Assert.assertTrue(line.contains("TARTANPION")); +// Assert.assertTrue(line.contains("TESTBOAT")); +// Assert.assertTrue(line.contains("174592")); +// } finally { +// reader.close(); +// } +// } + +} Property changes on: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatTest.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactImplTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactImplTest.java 2011-06-10 16:35:23 UTC (rev 1336) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactImplTest.java 2011-06-10 22:25:28 UTC (rev 1337) @@ -30,6 +30,7 @@ import fr.ifremer.wao.bean.ObsProgram; import fr.ifremer.wao.bean.SamplingStrategy; import fr.ifremer.wao.bean.UserRole; +import fr.ifremer.wao.business.fixtures.Fixtures; import fr.ifremer.wao.entity.Boat; import fr.ifremer.wao.entity.BoatDAO; import fr.ifremer.wao.entity.Company; @@ -92,7 +93,7 @@ protected ServiceContactImpl service; @Before - public void setUp() throws Exception { + public void setUp() { MockitoAnnotations.initMocks(this); service = (ServiceContactImpl) manager.getServiceContact(); sampleMonth = null; @@ -133,13 +134,11 @@ SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction); - log.trace("SampleRow : 2010_0001"); sampleRow = rowDAO.create(SampleRow.PROPERTY_CODE, "2010_0001", SampleRow.PROPERTY_COMPANY, company); SampleMonthDAO monthDAO = WaoDAOHelper.getSampleMonthDAO(transaction); - log.trace("SampleMonth : 03/2010 _ row 2010_0001"); Date monthDate = DateUtil.createDate(1, 3, 2010); sampleMonth = monthDAO.create(SampleMonth.PROPERTY_SAMPLE_ROW, sampleRow, SampleMonth.PROPERTY_PERIOD_DATE, monthDate); @@ -700,16 +699,11 @@ /** PREPARE DATA **/ prepareData(true, true); - when(creator.getCompany()).thenReturn(company); - when(creator.getLogin()).thenReturn(observer.getLogin()); - when(creator.getProfile()).thenReturn(new UserProfileImpl(ObsProgram.OBSMER, UserRole.ADMIN, true)); - - /** EXEC METHOD **/ // test 1 : Import new contact with observer creator - InputStream input = - getClass().getResourceAsStream("/import/contacts.csv"); + InputStream input = null; try { - ImportResults results = service.importContactCsv(creator, input); + input = getClass().getResourceAsStream("/import/contacts.csv"); + ImportResults results = service.importContactCsv(obsMerFixtures.jeanMichmucheAsAdmin(), input); assertEquals(0, results.getNbRowsRefused()); assertEquals(1, results.getNbRowsImported()); assertTrue(results.getErrors().isEmpty()); @@ -734,20 +728,5 @@ transaction.closeContext(); } } - - // test 2 : Import new contact with super admin creator - when(creator.getCompany()).thenReturn(company); - when(creator.getLogin()).thenReturn("admin"); - when(creator.getProfile()).thenReturn(new UserProfileImpl(ObsProgram.OBSMER, UserRole.ADMIN, true)); - - input = getClass().getResourceAsStream("/import/contacts.csv"); - try { - ImportResults results = service.importContactCsv(creator, input); - assertEquals(1, results.getNbRowsImported()); - assertEquals(0, results.getNbRowsRefused()); - assertTrue(results.getErrors().isEmpty()); - } finally { - input.close(); - } } } Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactTest.java 2011-06-10 16:35:23 UTC (rev 1336) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactTest.java 2011-06-10 22:25:28 UTC (rev 1337) @@ -21,12 +21,9 @@ package fr.ifremer.wao.service; -import fr.ifremer.wao.bean.ConnectedUser; import fr.ifremer.wao.bean.ContactFilter; import fr.ifremer.wao.bean.ContactFilterImpl; -import fr.ifremer.wao.bean.ObsProgram; import fr.ifremer.wao.bean.UserRole; -import fr.ifremer.wao.entity.Company; import fr.ifremer.wao.entity.Contact; import fr.ifremer.wao.entity.WaoUser; import org.junit.Assert; @@ -60,14 +57,12 @@ @Test public void testGetContactsFilteredByObserver() throws TopiaException { - log.info("getContactsFilteredByObserver"); - /** PREPARE DATA **/ - Contact contact = createDefaultContact(); + Contact contact = obsMerFixtures.defaultContact(); /** EXEC METHOD **/ ContactFilter filter = new ContactFilterImpl(); - filter.setObserver(findDefaultObserver()); + filter.setObserver(obsMerFixtures.homerSimpson()); log.info("test 1 : Ok good filter, contact is correctly returned"); Map<String, Contact> results = service.getContacts(filter); @@ -77,8 +72,7 @@ Assert.assertEquals(contact, contactFind); log.info("test 2 : Bad filter, no contact is returned"); - WaoUser observer2 = createUser("marge", - UserRole.OBSERVER, obsMerFixtures.tartanpion()); + WaoUser observer2 = obsMerFixtures.billMurray(); filter.setObserver(observer2); @@ -88,21 +82,20 @@ @Test public void testSaveContactWithMultipleObservers() throws TopiaException { - Contact contact = createDefaultContact(); + Contact contact = obsMerFixtures.defaultContact(); - Company company = createCompany("Boite"); - WaoUser toto = createUser("toto", UserRole.OBSERVER, company); - contact.addSecondaryObservers(toto); - contact.addSecondaryObservers(createUser("titi", UserRole.OBSERVER, company)); + WaoUser observer1 = obsMerFixtures.jeanMichmuche(); + WaoUser observer2 = obsMerFixtures.billMurray(); + contact.addSecondaryObservers(observer1); + contact.addSecondaryObservers(observer2); - ConnectedUser connectedUser = getConnectedUser(toto, UserRole.COORDINATOR, ObsProgram.OBSMER); - service.saveContact(connectedUser, contact, false); + service.saveContact(obsMerFixtures.jeanMichmucheAsObserver(), contact, false); Contact savedContact = service.getContact(contact.getTopiaId()); Assert.assertEquals(2, savedContact.getSecondaryObservers().size()); contact.clearSecondaryObservers(); - service.saveContact(connectedUser, contact, false); + service.saveContact(obsMerFixtures.jeanMichmucheAsObserver(), contact, false); savedContact = service.getContact(contact.getTopiaId()); Assert.assertEquals(0, savedContact.getSecondaryObservers().size()); } Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingTest.java 2011-06-10 16:35:23 UTC (rev 1336) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingTest.java 2011-06-10 22:25:28 UTC (rev 1337) @@ -33,10 +33,7 @@ import fr.ifremer.wao.bean.SamplingFilter; import fr.ifremer.wao.bean.SamplingFilterImpl; import fr.ifremer.wao.bean.SamplingStrategy; -import fr.ifremer.wao.bean.UserRole; import fr.ifremer.wao.entity.Boat; -import fr.ifremer.wao.entity.Company; -import fr.ifremer.wao.entity.CompanyDAO; import fr.ifremer.wao.entity.Contact; import fr.ifremer.wao.entity.ContactDAO; import fr.ifremer.wao.entity.ContactImpl; @@ -60,6 +57,7 @@ import fr.ifremer.wao.entity.WaoUser; import fr.ifremer.wao.io.ImportResults; import org.junit.Assert; +import org.junit.Before; import org.junit.Test; import org.nuiton.topia.TopiaContext; import org.nuiton.topia.TopiaException; @@ -93,6 +91,13 @@ private static final Logger log = LoggerFactory.getLogger(ServiceSamplingTest.class); + protected ServiceSamplingImpl serviceSampling; + + @Before + public void initServiceSampling() { + serviceSampling = (ServiceSamplingImpl) manager.getServiceSampling(); + } + @Test public void testCreateUpdateSampleRow() throws Exception { /** PREPARE DATA **/ @@ -136,7 +141,7 @@ months.add(month); } - SampleRow row = serviceSampling.newSampleRow(getConnectedAdmin()); + SampleRow row = serviceSampling.newSampleRow(obsMerFixtures.jeanMichmucheAsAdmin()); row.setCode("2010_03"); row.setNbObservants(3); row.setAverageTideTime(2.5); @@ -161,7 +166,7 @@ /** EXEC CREATE **/ List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174592 978419 273129"); - serviceSampling.createUpdateSampleRow(row, boats, new SampleRowLogImpl(), getConnectedAdmin()); + serviceSampling.createUpdateSampleRow(row, boats, new SampleRowLogImpl(), obsMerFixtures.jeanMichmucheAsAdmin()); assertNotNull(row.getTopiaId()); assertNotNull(row.getProfession().getTopiaId()); @@ -172,7 +177,7 @@ // TEST FOR DELETE ELLIGIBLE PROPERTY_BOAT boats.remove(2); - serviceSampling.createUpdateSampleRow(result, boats, new SampleRowLogImpl(), getConnectedAdmin()); + serviceSampling.createUpdateSampleRow(result, boats, new SampleRowLogImpl(), obsMerFixtures.jeanMichmucheAsAdmin()); result = serviceSampling.getSampleRow(row.getTopiaId()); assertEquals(2, result.getElligibleBoat().size()); @@ -180,7 +185,7 @@ // TEST FOR REMOVE FISHING ZONE //FishingZone zone = result.getFishingZone().get(0); result.getFishingZone().remove(0); - serviceSampling.createUpdateSampleRow(result, boats, new SampleRowLogImpl(), getConnectedAdmin()); + serviceSampling.createUpdateSampleRow(result, boats, new SampleRowLogImpl(), obsMerFixtures.jeanMichmucheAsAdmin()); result = serviceSampling.getSampleRow(row.getTopiaId()); assertEquals(2, result.getFishingZone().size()); @@ -188,11 +193,11 @@ // test if sampleRow becomes null in contact after update Contact contact = new ContactImpl(); - WaoUser observer = createDefaultObserver(); + WaoUser observer = obsMerFixtures.homerSimpson(); contact.setMainObserver(observer); contact.setSampleRow(result); - ConnectedUser connectedUser = getConnectedUser(observer, UserRole.OBSERVER, ObsProgram.OBSMER); + ConnectedUser connectedUser = obsMerFixtures.homerSimpsonAsObserver(); manager.getServiceContact().saveContact(connectedUser, contact, false); // serviceSampling.createUpdateSampleRow(result, boats, new SampleRowLogImpl()); @@ -211,40 +216,6 @@ } - @Test - public void testUpdateElligibleBoats() throws TopiaException { - /** PREPARE DATA **/ - SampleRow row = createDefaultSampleRow(); - Boat boat = createDefaultBoat(); - - // Create an elligibleBoat active for company - ElligibleBoat elligible = createElligibleBoat(row, boat, true); - // Retrieve the sampleRow (updated with elligible) - row = findDefaultSampleRow(SampleRow.PROPERTY_ELLIGIBLE_BOAT); - - /** EXEC METHOD **/ - List<Boat> boats = new ArrayList<Boat>(); - boats.add(boat); - - TopiaContext transaction = serviceSampling.beginTransaction(); - // Will update the existing ElligibleBoat and set globalActive to true - List<List<Integer>> results = - serviceSampling.updateElligibleBoats(transaction, row, boats); - - /** CHECKING RESULTS **/ - Assert.assertEquals(2, results.size()); - // Index=1 for updatedImmatriculations, 1 is updated - Assert.assertEquals(1, results.get(1).size()); - // Index=0 for removedImmatriculations, 0 is removed - Assert.assertEquals(0, results.get(0).size()); - - Assert.assertEquals(1, row.sizeElligibleBoat()); - ElligibleBoat updatedElligible = - row.getElligibleBoatByTopiaId(elligible.getTopiaId()); - - Assert.assertTrue(updatedElligible.getGlobalActive()); - } - /** * Test of getSampleRowsOrderedByFishingZone method, of class ServiceSamplingImpl. */ @@ -383,46 +354,13 @@ } public void testGetSampleRowsForUser() throws Exception { - /** PREPARE DATA **/ - TopiaContext transaction = manager.getContext().beginTransaction(); - - FishingZoneDAO zoneDAO = WaoDAOHelper.getFishingZoneDAO(transaction); - FishingZone zoneIId = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IId"); - FishingZone zoneIV = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IV"); - FishingZone zoneI = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "I"); - - CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction); - Company company = companyDAO.create(Company.PROPERTY_NAME, "TARTANPION"); - Calendar begin = new GregorianCalendar(2009,8,1); - Calendar end = new GregorianCalendar(2010,11,31); - SampleRowDAO sampleRowDAO = WaoDAOHelper.getSampleRowDAO(transaction); - SampleRow row = sampleRowDAO.create( - SampleRow.PROPERTY_CODE,"2010_178", - SampleRow.PROPERTY_COMPANY,company, - SampleRow.PROPERTY_PROGRAM_NAME, "DPMA-2009", - SampleRow.PROPERTY_PERIOD_BEGIN, begin.getTime(), - SampleRow.PROPERTY_PERIOD_END, end.getTime()); - - - transaction.commitTransaction(); - transaction.closeContext(); - - InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv"); - serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER)); - - /** EXEC METHOD **/ + obsMerFixtures.samplingPlan(); SamplingFilter filter = new SamplingFilterImpl(); -// User admin = new UserImpl(); -// admin.setAdmin(true); -// filter.setCompany() filter.setNbMonthFinishedFromToday(0); List<SampleRow> results = serviceSampling.getSampleRowsByFilter(filter); // total in file : 11, 1 refused, 1 finished assertEquals(9, results.size()); - -// User user = new UserImpl(); -// user.setCompany(company); - filter.setCompany(company); + filter.setCompany(obsMerFixtures.tartanpion()); results = serviceSampling.getSampleRowsByFilter(filter); assertEquals(1, results.size()); } @@ -456,45 +394,21 @@ @Test public void testDeleteSampleRow() throws Exception { - /** PREPARE DATA **/ - TopiaContext transaction = manager.getContext().beginTransaction(); + obsMerFixtures.boats(); + obsMerFixtures.samplingPlan(); - FishingZoneDAO zoneDAO = WaoDAOHelper.getFishingZoneDAO(transaction); - FishingZone zoneIId = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IId"); - FishingZone zoneIV = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IV"); - FishingZone zoneI = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "I"); - - CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction); - companyDAO.create(Company.PROPERTY_NAME, "TARTANPION"); - companyDAO.create(Company.PROPERTY_NAME, "BIS"); - transaction.commitTransaction(); + SampleRow row = obsMerFixtures.row2010_0001(); - - InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv"); - serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER)); - - SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction); - SampleRow row = rowDAO.findByCode("2010_0001"); - row.getProfession(); - row.getProfession(); - row.getCompany(); - row.sizeSampleMonth(); - row.sizeElligibleBoat(); - row.sizeSampleRowLog(); - transaction.closeContext(); - - input = getClass().getResourceAsStream("/import/navires.csv"); ServiceBoat serviceBoat = manager.getServiceBoat(); - serviceBoat.importBoatCsv(input); List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174592 978419 273129"); - - serviceSampling.createUpdateSampleRow(row, boats, new SampleRowLogImpl(), getConnectedAdmin()); - /** EXEC METHOD **/ + serviceSampling.createUpdateSampleRow(row, boats, new SampleRowLogImpl(), obsMerFixtures.jeanMichmucheAsAdmin()); + serviceSampling.deleteSampleRow(row); - transaction = manager.getContext().beginTransaction(); - rowDAO = WaoDAOHelper.getSampleRowDAO(transaction); - row = rowDAO.findByCode("2010_0001"); + + TopiaContext transaction = manager.getContext().beginTransaction(); + SampleRowDAO sampleRowDAO = WaoDAOHelper.getSampleRowDAO(transaction); + row = sampleRowDAO.findByCode("2010_0001"); assertNull(row); ElligibleBoatDAO elligibleDAO = WaoDAOHelper.getElligibleBoatDAO(transaction); @@ -502,16 +416,15 @@ assertEquals(0, elligibles.size()); // test if sampleRow can't be deleted if contacts are associated - - row = rowDAO.findByCode("2010_0002"); + row = sampleRowDAO.findByCode("2010_0002"); transaction.closeContext(); Contact contact = new ContactImpl(); - WaoUser observer = createDefaultObserver(); + WaoUser observer = obsMerFixtures.homerSimpson(); contact.setMainObserver(observer); contact.setSampleRow(row); - ConnectedUser connectedUser = getConnectedUser(observer, UserRole.OBSERVER, ObsProgram.OBSMER); + ConnectedUser connectedUser = obsMerFixtures.homerSimpsonAsObserver(); manager.getServiceContact().saveContact(connectedUser, contact, false); try { @@ -519,8 +432,8 @@ Assert.fail("deleting a sample-row with associated contact should" + " not be permitted"); } catch (WaoBusinessException eee) { - if (log.isTraceEnabled()) { - log.trace("exception raised while trying to delete sample row", + if (log.isDebugEnabled()) { + log.debug("exception raised while trying to delete sample row", eee); } } @@ -529,24 +442,14 @@ @Test public void testImportSamplingPlanCsv() throws TopiaException, WaoException, WaoBusinessException { - /** PREPARE DATA **/ - TopiaContext transaction = manager.getContext().beginTransaction(); - FishingZoneDAO zoneDAO = WaoDAOHelper.getFishingZoneDAO(transaction); - FishingZone zoneIId = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IId"); - FishingZone zoneIV = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IV"); - FishingZone zoneI = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "I"); - - CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction); - companyDAO.create(Company.PROPERTY_NAME, "TARTANPION"); - companyDAO.create(Company.PROPERTY_NAME, "BIS"); + obsMerFixtures.tartanpion(); + obsMerFixtures.bis(); + obsMerFixtures.fishingZones(); - transaction.commitTransaction(); - transaction.closeContext(); - /** EXEC METHOD **/ InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv"); - ImportResults result = serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER)); + ImportResults result = serviceSampling.importSamplingPlanCsv(input, obsMerFixtures.jeanMichmucheAsAdmin()); // total imported assertEquals(12, result.getNbRowsImported()); @@ -554,7 +457,7 @@ assertEquals(1, result.getNbRowsRefused()); /** CHECK VALUES **/ - transaction = manager.getContext().beginTransaction(); + TopiaContext transaction = manager.getContext().beginTransaction(); SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction); @@ -585,8 +488,6 @@ Collection<FishingZone> zones = row1.getFishingZone(); assertEquals(2, zones.size()); - zones.contains(zoneI); - zones.contains(zoneIId); Collection<DCF5Code> dcf5codes = row1.getDCF5Code(); assertEquals(1, dcf5codes.size()); @@ -598,24 +499,7 @@ @Test public void testGetPrograms() throws Exception { - /** PREPARE DATA **/ - TopiaContext transaction = manager.getContext().beginTransaction(); - - FishingZoneDAO zoneDAO = WaoDAOHelper.getFishingZoneDAO(transaction); - zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IId"); - zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IV"); - zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "I"); - - CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction); - companyDAO.create(Company.PROPERTY_NAME, "TARTANPION"); - companyDAO.create(Company.PROPERTY_NAME, "BIS"); - transaction.commitTransaction(); - transaction.closeContext(); - - InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv"); - serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER)); - - /** EXEC METHOD **/ + obsMerFixtures.samplingPlan(); List<String> programs = serviceSampling.getPrograms(null); assertEquals(4, programs.size()); } @@ -623,40 +507,12 @@ @Test public void testGetNewSampleRowCode() throws Exception { - /** PREPARE DATA **/ - TopiaContext transaction = manager.getContext().beginTransaction(); + obsMerFixtures.samplingPlan(); - FishingZoneDAO zoneDAO = WaoDAOHelper.getFishingZoneDAO(transaction); - FishingZone zoneIId = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IId"); - FishingZone zoneIV = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IV"); - FishingZone zoneI = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "I"); - - CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction); - companyDAO.create(Company.PROPERTY_NAME, "TARTANPION"); - companyDAO.create(Company.PROPERTY_NAME, "BIS"); - transaction.commitTransaction(); - - ServiceSampling serviceSampling = manager.getServiceSampling(); - InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv"); - serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER)); - - transaction.closeContext(); - - /** EXEC METHOD **/ - Calendar begin = new GregorianCalendar(2009, 11, 1); String result = serviceSampling.getNewSampleRowCode(begin.getTime()); Assert.assertEquals("2009_0007", result); - - // Test regex for replacment in importSamplingPlanCsv -// String code = "2010_1"; -// code = code.replaceFirst("_(\\d)$", "_0$1"); -// Assert.assertEquals("2010_01", code); -// -// code = "2010_04"; -// code = code.replaceFirst("_(\\d)$", "_0$1"); -// Assert.assertEquals("2010_04", code); } } Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisTest.java 2011-06-10 16:35:23 UTC (rev 1336) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisTest.java 2011-06-10 22:25:28 UTC (rev 1337) @@ -83,47 +83,13 @@ */ @Test public void testGetBoardingBoats() throws Exception { - /** PREPARE DATA **/ - InputStream input = getClass().getResourceAsStream("/import/navires.csv"); - ServiceBoat serviceBoat = manager.getServiceBoat(); - serviceBoat.importBoatCsv(input); - List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258"); - Boat boat = boats.get(0); + Boat boat = obsMerFixtures.samourai(); + Boat boat2 = obsMerFixtures.mayflowers(); + WaoUser user = obsMerFixtures.jeanMichmuche(); + SampleRow row = obsMerFixtures.row2010_0001(); - List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474"); - Boat boat2 = boats2.get(0); + ConnectedUser connectedUser = obsMerFixtures.jeanMichmucheAsObserver(); - TopiaContext transaction = manager.getContext().beginTransaction(); - - CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction); - Company company = companyDAO.create(Company.PROPERTY_NAME, "TARTANPION"); - Company company2 = companyDAO.create(Company.PROPERTY_NAME, "BIS"); - - WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction); - WaoUser user = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Jean", WaoUser.PROPERTY_LAST_NAME, "Michmuche", - WaoUser.PROPERTY_COMPANY, company); - company.addWaoUser(user); - WaoUser user2 = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Bill", WaoUser.PROPERTY_LAST_NAME, "Murray", - WaoUser.PROPERTY_COMPANY, company2); - company2.addWaoUser(user2); - - transaction.commitTransaction(); - - input = getClass().getResourceAsStream("/import/zonesPeche.csv"); - ServiceReferential serviceReferential = manager.getServiceReferential(); - serviceReferential.importFishingZoneCsv(input); - - input = getClass().getResourceAsStream("/import/echantillonnage.csv"); - ServiceSampling serviceSampling = manager.getServiceSampling(); - serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER)); - - SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction); - SampleRow row = rowDAO.findByCode("2010_0001"); - - transaction.closeContext(); - - ConnectedUser connectedUser = getConnectedUser(user, UserRole.ADMIN, ObsProgram.OBSMER); - ServiceContact serviceContact = manager.getServiceContact(); // First contact : OK Contact contact1 = new ContactImpl(); @@ -181,48 +147,19 @@ */ @Test public void testGetComplianceBoardingIndicator() throws Exception { - /** PREPARE DATA **/ - InputStream input = getClass().getResourceAsStream("/import/navires.csv"); - ServiceBoat serviceBoat = manager.getServiceBoat(); - serviceBoat.importBoatCsv(input); - List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258"); - Boat boat = boats.get(0); + Boat boat = obsMerFixtures.samourai(); + Boat boat2 = obsMerFixtures.mayflowers(); + Company company = obsMerFixtures.tartanpion(); + Company company2 = obsMerFixtures.bis(); + WaoUser user = obsMerFixtures.jeanMichmuche(); + WaoUser user2 = obsMerFixtures.billMurray(); + obsMerFixtures.samplingPlan(); - List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474"); - Boat boat2 = boats2.get(0); + SampleRow row = obsMerFixtures.row2010_0001(); + SampleRow row2 = obsMerFixtures.row2009_0006(); - TopiaContext transaction = manager.getContext().beginTransaction(); + ConnectedUser connectedUser = obsMerFixtures.jeanMichmucheAsObserver(); - CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction); - Company company = companyDAO.create(Company.PROPERTY_NAME, "TARTANPION"); - Company company2 = companyDAO.create(Company.PROPERTY_NAME, "BIS"); - - WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction); - WaoUser user = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Jean", WaoUser.PROPERTY_LAST_NAME, "Michmuche", - WaoUser.PROPERTY_COMPANY, company); - company.addWaoUser(user); - WaoUser user2 = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Bill", WaoUser.PROPERTY_LAST_NAME, "Murray", - WaoUser.PROPERTY_COMPANY, company2); - company2.addWaoUser(user2); - - transaction.commitTransaction(); - - input = getClass().getResourceAsStream("/import/zonesPeche.csv"); - ServiceReferential serviceReferential = manager.getServiceReferential(); - serviceReferential.importFishingZoneCsv(input); - - input = getClass().getResourceAsStream("/import/echantillonnage.csv"); - ServiceSampling serviceSampling = manager.getServiceSampling(); - serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER)); - - SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction); - SampleRow row = rowDAO.findByCode("2010_0001"); - SampleRow row2 = rowDAO.findByCode("2009_0006"); - - transaction.closeContext(); - - ConnectedUser connectedUser = getConnectedUser(user, UserRole.ADMIN, ObsProgram.OBSMER); - ServiceContact serviceContact = manager.getServiceContact(); // First contact : OK Contact contact1 = new ContactImpl(); @@ -267,8 +204,6 @@ contact3.setValidationCompany(Boolean.TRUE); serviceContact.saveContact(connectedUser, contact3, false); - /** EXEC METHOD **/ - // result for company TARTANPION SamplingFilter filter = new SamplingFilterImpl(); filter.setCompany(company); @@ -364,48 +299,19 @@ */ @Test public void testGetContactDataInputDateReactivity() throws Exception { - /** PREPARE DATA **/ - InputStream input = getClass().getResourceAsStream("/import/navires.csv"); - ServiceBoat serviceBoat = manager.getServiceBoat(); - serviceBoat.importBoatCsv(input); - List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258"); - Boat boat = boats.get(0); - List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474"); - Boat boat2 = boats2.get(0); + Boat boat = obsMerFixtures.samourai(); + Boat boat2 = obsMerFixtures.mayflowers(); + Company company = obsMerFixtures.tartanpion(); + WaoUser user = obsMerFixtures.jeanMichmuche(); + WaoUser user2 = obsMerFixtures.billMurray(); + obsMerFixtures.samplingPlan(); - TopiaContext transaction = manager.getContext().beginTransaction(); + SampleRow row = obsMerFixtures.row2010_0001(); + SampleRow row2 = obsMerFixtures.row2009_0006(); - CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction); - Company company = companyDAO.create(Company.PROPERTY_NAME, "TARTANPION"); - Company company2 = companyDAO.create(Company.PROPERTY_NAME, "BIS"); + ConnectedUser connectedUser = obsMerFixtures.jeanMichmucheAsObserver(); - WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction); - WaoUser user = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Jean", WaoUser.PROPERTY_LAST_NAME, "Michmuche", - WaoUser.PROPERTY_COMPANY, company); - company.addWaoUser(user); - WaoUser user2 = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Bill", WaoUser.PROPERTY_LAST_NAME, "Murray", - WaoUser.PROPERTY_COMPANY, company2); - company2.addWaoUser(user2); - - transaction.commitTransaction(); - - input = getClass().getResourceAsStream("/import/zonesPeche.csv"); - ServiceReferential serviceReferential = manager.getServiceReferential(); - serviceReferential.importFishingZoneCsv(input); - - input = getClass().getResourceAsStream("/import/echantillonnage.csv"); - ServiceSampling serviceSampling = manager.getServiceSampling(); - serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER)); - - SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction); - SampleRow row = rowDAO.findByCode("2010_0001"); - SampleRow row2 = rowDAO.findByCode("2009_0006"); - - transaction.closeContext(); - - ConnectedUser connectedUser = getConnectedUser(user, UserRole.ADMIN, ObsProgram.OBSMER); - ServiceContact serviceContact = manager.getServiceContact(); // First contact : OK Contact contact1 = new ContactImpl(); @@ -449,8 +355,6 @@ contact3.setValidationCompany(Boolean.TRUE); serviceContact.saveContact(connectedUser, contact3, false); - /** EXEC METHOD **/ - PeriodDates period = new PeriodDates(begin, begin); SamplingFilter filter = new SamplingFilterImpl(); filter.setCompany(company); Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java 2011-06-10 16:35:23 UTC (rev 1336) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java 2011-06-10 22:25:28 UTC (rev 1337) @@ -34,6 +34,7 @@ import fr.ifremer.wao.entity.UserProfileDAO; import fr.ifremer.wao.entity.UserProfileImpl; import fr.ifremer.wao.entity.WaoUser; +import fr.ifremer.wao.entity.WaoUserDAO; import fr.ifremer.wao.entity.WaoUserImpl; import org.apache.commons.lang.StringUtils; import org.junit.Assert; @@ -63,6 +64,25 @@ service = manager.getServiceUser(); } + protected WaoUser findUserByLogin(String login) + throws TopiaException { + WaoUser user = null; + TopiaContext transaction = manager.getContext().beginTransaction(); + try { + WaoUserDAO dao = + WaoDAOHelper.getWaoUserDAO(transaction); + + user = dao.findByLogin(login); + // Load company + if (user != null) { + user.getCompany(); + } + } finally { + transaction.closeContext(); + } + return user; + } + /** * Test of createUpdateUser method, of class ServiceUserImpl. *
participants (1)
-
bleny@users.labs.libre-entreprise.org