View Javadoc
1   /*
2    *
3    *  * Copyright (C) 2003-2015 eXo Platform SAS.
4    *  *
5    *  * This program is free software; you can redistribute it and/or
6    *  modify it under the terms of the GNU Affero General Public License
7    *  as published by the Free Software Foundation; either version 3
8    *  of the License, or (at your option) any later version.
9    *
10   *  This program is distributed in the hope that it will be useful,
11   *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12   *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13   *  GNU General Public License for more details.
14   *
15   *  You should have received a copy of the GNU General Public License
16   *  along with this program; if not, see<http://www.gnu.org/licenses/>.
17   *
18   */
19  
20  package org.exoplatform.wiki.jpa.dao;
21  
22  
23  import org.exoplatform.wiki.jpa.BaseWikiJPAIntegrationTest;
24  import org.exoplatform.wiki.jpa.entity.PageEntity;
25  import org.exoplatform.wiki.jpa.entity.PermissionEntity;
26  import org.exoplatform.wiki.jpa.entity.WikiEntity;
27  import org.exoplatform.wiki.mow.api.PermissionType;
28  import org.junit.Test;
29  
30  import java.util.ArrayList;
31  import java.util.Date;
32  import java.util.List;
33  
34  /**
35   * Created by The eXo Platform SAS Author : eXoPlatform exo@exoplatform.com
36   * 7/31/15
37   */
38  public class PageDAOTest extends BaseWikiJPAIntegrationTest {
39  
40    @Test
41    public void testPageOfWikiByName() {
42      WikiEntity wiki = new WikiEntity();
43      wiki.setType("portal");
44      wiki.setOwner("wiki1");
45      wiki = wikiDAO.create(wiki);
46      PageEntity parentPage = new PageEntity();
47      parentPage.setWiki(wiki);
48      parentPage.setName("parentPage1");
49      parentPage.setCreatedDate(new Date());
50      parentPage.setUpdatedDate(new Date());
51      PageEntity page = new PageEntity();
52      page.setWiki(wiki);
53      page.setParentPage(parentPage);
54      page.setCreatedDate(new Date());
55      page.setUpdatedDate(new Date());
56      page.setName("page1");
57      page.setTitle("Page 1");
58  
59      pageDAO.create(parentPage);
60      pageDAO.create(page);
61  
62      assertEquals(2, pageDAO.findAll().size());
63  
64      PageEntity pageOfWikiByName = pageDAO.getPageOfWikiByName("portal", "wiki1", "page1");
65      assertNotNull(pageOfWikiByName);
66      assertEquals("portal", pageOfWikiByName.getWiki().getType());
67      assertEquals("wiki1", pageOfWikiByName.getWiki().getOwner());
68      assertEquals("page1", pageOfWikiByName.getName());
69      assertEquals("Page 1", pageOfWikiByName.getTitle());
70    }
71  
72    @Test
73    public void testInsert(){
74      //Given
75      WikiEntity wiki = new WikiEntity();
76      wiki.setType("portal");
77      wiki.setOwner("wiki1");
78      wiki = wikiDAO.create(wiki);
79  
80      PageEntity page = new PageEntity();
81      page.setWiki(wiki);
82  
83      PermissionEntity per = new PermissionEntity();
84      per.setIdentity("user");
85      per.setIdentityType("User");
86      per.setPermissionType(PermissionType.EDITPAGE);
87      List<PermissionEntity> permissions = new ArrayList<PermissionEntity>();
88      permissions.add(per);
89      page.setPermissions(permissions);
90      
91      page.setAuthor("author");
92      page.setContent("content");
93      page.setComment("comment");
94      page.setCreatedDate(new Date());
95      page.setUpdatedDate(new Date());
96      page.setName("name");
97      page.setMinorEdit(true);
98      page.setOwner("owner");
99      page.setSyntax("syntax");
100     page.setTitle("title");
101     page.setUrl("url");
102 
103     // When
104     pageDAO.create(page);
105     PageEntity got = pageDAO.find(page.getId());
106 
107     // Then
108     assertNotNull(got);
109     assertEquals("name", got.getName());
110   }
111 
112   @Test
113   public void testDuplicatedWikiOwnerTypeInsert() {
114     // Given
115     WikiEntity wiki = new WikiEntity();
116     wiki.setType("portal");
117     wiki.setOwner("wiki1");
118     wiki = wikiDAO.create(wiki);
119 
120     // When
121     try {
122       WikiEntity wiki1 = new WikiEntity();
123       wiki1.setType("portal");
124       wiki1.setOwner("wiki1");
125       wiki1 = wikiDAO.create(wiki1);
126 
127       // Then
128       fail();
129     } catch (Exception e) {
130     }
131   }
132 
133 }