7cb8a7a569092fccbf45f8f0cb25b44c6e391e2d
[taxeditor.git] / eu.etaxonomy.taxeditor.test / src / test / java / eu / etaxonomy / taxeditor / session / CdmEntitySessionManagerTest.java
1 package eu.etaxonomy.taxeditor.session;
2
3 import java.util.List;
4 import java.util.UUID;
5
6 import org.apache.log4j.Logger;
7 import org.junit.Assert;
8 import org.junit.BeforeClass;
9 import org.junit.Ignore;
10 import org.junit.Test;
11 import org.unitils.dbunit.annotation.DataSet;
12
13 import eu.etaxonomy.cdm.api.service.IPolytomousKeyService;
14 import eu.etaxonomy.cdm.model.common.CdmBase;
15 import eu.etaxonomy.cdm.model.common.Language;
16 import eu.etaxonomy.cdm.model.description.PolytomousKey;
17 import eu.etaxonomy.taxeditor.httpinvoker.BaseRemotingTest;
18
19 //FIXME:Remoting fix data issue : User#30
20 @Ignore
21 @DataSet
22 public class CdmEntitySessionManagerTest extends BaseRemotingTest {
23
24 private static final Logger logger = Logger.getLogger(CdmEntitySessionManagerTest.class);
25
26
27 IPolytomousKeyService polytomousKeyService = getRemoteApplicationController().getPolytomousKeyService();
28
29 private final UUID polytomousKeyUuid = UUID.fromString("0d53ba20-7de4-4baa-bd8a-401048447d66");
30 private final Language english = Language.getLanguageFromUuid(Language.uuidEnglish);
31
32
33 @BeforeClass
34 public static void initializeCdmEntitySessionManagerTest() {
35 }
36
37
38 @Test
39 public void manageNullSessionTest() {
40
41 PolytomousKey pKey = CdmBase.deproxy(polytomousKeyService.find(polytomousKeyUuid),PolytomousKey.class);
42 cdmEntitySessionManager.bind(null);
43 Assert.assertSame(pKey, pKey);
44 Assert.assertNull(getActiveSession());
45 }
46
47 @Test
48 public void manageSessionWithObjectTest() {
49 PolytomousKey pKey = CdmBase.deproxy(polytomousKeyService.find(polytomousKeyUuid),PolytomousKey.class);
50
51 Assert.assertNotNull(getActiveSession());
52 List<CdmBase> rootEntities = getActiveSession().getRootEntities();
53
54 // FIXME:Remoting fix test of setting root entities
55 //Assert.assertEquals(rootEntities.size(),1);
56 //Assert.assertSame(rootEntities.get(0), pKey);
57
58 String upTitleCache = "Updated Title Cache";
59 String upStatement = "Updated Statement";
60 pKey.setTitleCache(upTitleCache, true);
61
62 pKey.getRoot().getChildAt(0).getStatement().getLabel(english).setText(upStatement);
63 polytomousKeyService.merge(pKey);
64
65 pKey = CdmBase.deproxy(polytomousKeyService.find(polytomousKeyUuid),PolytomousKey.class);
66
67
68 Assert.assertEquals(pKey.getTitleCache(), upTitleCache);
69 Assert.assertEquals(pKey.getRoot().getChildAt(0).getStatement().getLabel(english).getText(), upStatement);
70 }
71
72 @Test
73 public void manageSessionWithListTest() {
74 List<PolytomousKey> pKeys = polytomousKeyService.list(PolytomousKey.class, null, null, null, null);
75 Assert.assertNotNull(getActiveSession());
76 List<CdmBase> rootEntities = getActiveSession().getRootEntities();
77
78 // FIXME:Remoting fix test of setting root entities
79 //Assert.assertEquals(rootEntities.size(),2);
80 //Assert.assertSame(rootEntities.get(0),pKeys.get(0));
81 //Assert.assertEquals(rootEntities.get(0).getUuid(),UUID.fromString("9d8bf4f6-a70a-4b80-8556-2ccfb436ff01"));
82
83 Assert.assertSame(rootEntities.get(1),pKeys.get(1));
84 Assert.assertEquals(rootEntities.get(1).getUuid(),UUID.fromString("0d53ba20-7de4-4baa-bd8a-401048447d66"));
85
86 String upTitleCache = "Updated Title Cache";
87 String upStatement = "Updated Statement";
88 pKeys.get(0).setTitleCache(upTitleCache, true);
89 polytomousKeyService.merge(pKeys.get(0));
90 pKeys.get(1).getRoot().getChildAt(0).getStatement().getLabel(english).setText(upStatement);
91 polytomousKeyService.merge(pKeys.get(1));
92
93
94 pKeys = polytomousKeyService.list(PolytomousKey.class, null, null, null, null);
95
96 Assert.assertEquals(pKeys.get(0).getTitleCache(), upTitleCache);
97 Assert.assertEquals(pKeys.get(1).getRoot().getChildAt(0).getStatement().getLabel(english).getText(), upStatement);
98
99 }
100
101 }