View Javadoc
1   package fr.ifremer.dali.dao.data.survey;
2   
3   /*
4    * #%L
5    * Dali :: Core
6    * $Id:$
7    * $HeadURL:$
8    * %%
9    * Copyright (C) 2014 - 2015 Ifremer
10   * %%
11   * This program is free software: you can redistribute it and/or modify
12   * it under the terms of the GNU Affero General Public License as published by
13   * the Free Software Foundation, either version 3 of the License, or
14   * (at your option) any later version.
15   * 
16   * This program is distributed in the hope that it will be useful,
17   * but WITHOUT ANY WARRANTY; without even the implied warranty of
18   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19   * GNU General Public License for more details.
20   * 
21   * You should have received a copy of the GNU Affero General Public License
22   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
23   * #L%
24   */
25  
26  
27  import com.google.common.collect.ImmutableList;
28  import fr.ifremer.quadrige3.core.dao.technical.Dates;
29  import fr.ifremer.quadrige3.core.test.AbstractDaoTest;
30  import fr.ifremer.dali.dao.DaliDatabaseResource;
31  import fr.ifremer.dali.dto.data.survey.CampaignDTO;
32  import fr.ifremer.dali.dto.data.survey.OccasionDTO;
33  import fr.ifremer.dali.service.DaliServiceLocator;
34  import org.apache.commons.lang3.builder.ToStringBuilder;
35  import org.apache.commons.lang3.builder.ToStringStyle;
36  import org.apache.commons.logging.Log;
37  import org.apache.commons.logging.LogFactory;
38  import org.junit.Assert;
39  import org.junit.Before;
40  import org.junit.ClassRule;
41  import org.junit.Test;
42  
43  import java.util.Date;
44  import java.util.List;
45  
46  import static org.junit.Assert.assertEquals;
47  import static org.junit.Assert.assertNotNull;
48  
49  public class CampaignDaoReadTest extends AbstractDaoTest {
50  
51      private static final Log log = LogFactory.getLog(CampaignDaoReadTest.class);
52      
53      @ClassRule
54      public static final DaliDatabaseResource dbResource = DaliDatabaseResource.readDb();
55      
56      private DaliCampaignDao campaignDao;
57      
58      @Before
59      @Override
60      public void setUp() throws Exception {
61          super.setUp();
62          campaignDao = DaliServiceLocator.instance().getService("daliCampaignDao", DaliCampaignDao.class);
63      }
64      
65      @Test
66      public void getAllCampaign() {
67          List<CampaignDTO> campaigns  = campaignDao.getAllCampaigns();
68          assertNotNull(campaigns);
69          assertEquals(8, campaigns.size());
70          if (log.isDebugEnabled()) {
71              for (CampaignDTO dto: campaigns) {
72                  log.debug(ToStringBuilder.reflectionToString(dto, ToStringStyle.SHORT_PREFIX_STYLE));
73              }
74          }
75      }
76  
77      @Test
78      public void getCampaignsByIds() {
79          List<CampaignDTO> campaigns = campaignDao.getCampaignsByIds(ImmutableList.of(1));
80          Assert.assertNotNull(campaigns);
81          Assert.assertEquals(1, campaigns.size());
82          Assert.assertEquals(1, campaigns.get(0).getId().intValue());
83  
84          campaigns = campaignDao.getCampaignsByIds(ImmutableList.of(2,3,4));
85          Assert.assertNotNull(campaigns);
86          Assert.assertEquals(3, campaigns.size());
87          Assert.assertEquals(2, campaigns.get(0).getId().intValue());
88          Assert.assertEquals(3, campaigns.get(1).getId().intValue());
89          Assert.assertEquals(4, campaigns.get(2).getId().intValue());
90      }
91  
92      @Test
93      public void getCampaignsByName() {
94          List<CampaignDTO> campaigns = campaignDao.getCampaignsByName("RNO-DUNKERQUE");
95          Assert.assertNotNull(campaigns);
96          Assert.assertEquals(1, campaigns.size());
97          Assert.assertEquals(4, campaigns.get(0).getId().intValue());
98      }
99  
100     @Test
101     public void getCampaignsByCriteria() {
102         List<CampaignDTO> campaigns = campaignDao.getCampaignsByCriteria("GCRMN-RNMRUN", null, null, false, null, null, false, true);
103         Assert.assertNotNull(campaigns);
104         Assert.assertEquals(3, campaigns.size());
105         Assert.assertEquals(6, campaigns.get(0).getId().intValue());
106         Assert.assertEquals(7, campaigns.get(1).getId().intValue());
107         Assert.assertEquals(8, campaigns.get(2).getId().intValue());
108 
109         Date testDate = Dates.safeParseDate("01/01/2005", "dd/MM/yyyy");
110         campaigns = campaignDao.getCampaignsByCriteria(null, testDate, testDate, true,
111                 null, null, false, true);
112         Assert.assertNotNull(campaigns);
113         Assert.assertEquals(1, campaigns.size());
114         Assert.assertEquals(3, campaigns.get(0).getId().intValue());
115 
116         campaigns = campaignDao.getCampaignsByCriteria(null,
117                 Dates.safeParseDate("01/01/2012", "dd/MM/yyyy"), Dates.safeParseDate("02/03/2012", "dd/MM/yyyy"), false,
118                 Dates.safeParseDate("01/05/2015", "dd/MM/yyyy"), Dates.safeParseDate("01/06/2015", "dd/MM/yyyy"), false,
119                 false);
120         Assert.assertNotNull(campaigns);
121         Assert.assertEquals(1, campaigns.size());
122         Assert.assertEquals(7, campaigns.get(0).getId().intValue());
123 
124     }
125 
126     @Test
127     public void getOccasion() {
128 
129         List<OccasionDTO> occasions = campaignDao.getAllOccasions();
130         assertNotNull(occasions);
131 //        assertEquals(0, occasions.size());
132 
133         if (log.isDebugEnabled()) {
134             for (OccasionDTO dto: occasions) {
135                 log.debug(ToStringBuilder.reflectionToString(dto, ToStringStyle.SHORT_PREFIX_STYLE));
136             }
137         }
138         
139         // TODO may be add some occasion in dataset
140     }
141 
142     
143 }