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