1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 package org.nuiton.topiatest.deletetest;
40
41 import org.apache.commons.logging.Log;
42 import org.apache.commons.logging.LogFactory;
43 import org.junit.Rule;
44 import org.junit.Test;
45 import org.nuiton.topia.TopiaContext;
46 import org.nuiton.topia.TopiaDatabase;
47 import org.nuiton.topia.TopiaException;
48 import org.nuiton.topia.TopiaTestDAOHelper;
49 import org.nuiton.topia.generator.DAOAbstractTransformer;
50 import org.nuiton.topiatest.Personne;
51 import org.nuiton.topiatest.PersonneDAO;
52
53 import static org.junit.Assert.assertEquals;
54 import static org.junit.Assert.assertNotNull;
55 import static org.junit.Assert.assertNull;
56
57
58
59
60
61
62
63
64 public class DeleteEntityTest {
65
66 private static final Log log = LogFactory.getLog(DeleteEntityTest.class);
67
68 @Rule
69 public final TopiaDatabase db = new TopiaDatabase();
70
71
72
73
74
75
76
77
78
79 @Test
80 public void testDeleteEntityWithInheritance() throws TopiaException {
81 log.debug("START TEST : testDeleteEntityWithInheritance");
82
83 TopiaContext transaction = db.beginTransaction();
84
85 log.debug("DAO : PersonneDAO");
86 PersonneDAO dao = TopiaTestDAOHelper.getPersonneDAO(transaction);
87
88 log.debug("CREATE PERSONNE : Bob Marley");
89 Personne personne = dao.create(Personne.PROPERTY_NAME, "Bob Marley");
90 transaction.commitTransaction();
91 String idPersonne = personne.getTopiaId();
92 assertNotNull(idPersonne);
93 log.debug("ENTITY PERSONNE SAVED !");
94
95 log.debug("DELETE PERSONNE");
96 dao.delete(personne);
97 transaction.commitTransaction();
98 Personne res = dao.findByTopiaId(idPersonne);
99 assertNull(res);
100 log.debug("ENTITY PERSONNE DELETED !");
101
102 log.debug("CREATE PERSONNE : Ziggy Marley");
103 Personne personne2 = dao.create(Personne.PROPERTY_NAME, "Ziggy Marley");
104 transaction.commitTransaction();
105 String idPersonne2 = personne2.getTopiaId();
106 assertNotNull(idPersonne2);
107 log.debug("ENTITY PERSONNE SAVED !");
108
109 log.debug("DAO parent (abstract) : PartyDAO");
110 Party2DAO dao2 = TopiaTestDAOHelper.getParty2DAO(transaction);
111
112 log.debug("DELETE PERSONNE with PartyDAO");
113 dao2.delete(personne2);
114 transaction.commitTransaction();
115 Party2 res2 = dao2.findByTopiaId(idPersonne2);
116 assertNull(res2);
117 log.debug("ENTITY PERSONNE DELETED !");
118
119
120 }
121
122
123
124
125
126
127
128
129
130
131 @Test
132 public void testDeleteEntityWithManyToManyRelation() throws TopiaException {
133 log.debug("START TEST : testDeleteEntityWithManyToManyRelation");
134
135 TopiaContext transaction = db.beginTransaction();
136
137 PersonneDAO dao = TopiaTestDAOHelper.getPersonneDAO(transaction);
138
139 log.debug("CREATE PERSONNE : Bob Marley");
140 Personne personne = dao.create(Personne.PROPERTY_NAME, "Bob Marley");
141 transaction.commitTransaction();
142 String idPersonne = personne.getTopiaId();
143 assertNotNull(idPersonne);
144 log.debug("ENTITY PERSONNE SAVED !");
145
146 Contact2DAO contactDAO = TopiaTestDAOHelper.getContact2DAO(transaction);
147
148 log.debug("CREATE CONTACT : jaja@codelutin.com");
149 Contact2 contact = contactDAO.create(Contact2.PROPERTY_CONTACT_VALUE, "jaja@codelutin.com");
150 transaction.commitTransaction();
151 String idContact = contact.getTopiaId();
152 assertNotNull(idContact);
153 log.debug("ENTITY CONTACT SAVED !");
154
155 log.debug("ADD CONTACT TO PERSONNE");
156 personne.addContacts(contact);
157 transaction.commitTransaction();
158 assertEquals(1, personne.getContacts().size());
159 log.debug("CONTACT ADDED !");
160
161 log.debug("DELETE PERSONNE");
162 dao.delete(personne);
163 transaction.commitTransaction();
164 Personne res = dao.findByTopiaId(idPersonne);
165 assertNull(res);
166 log.debug("ENTITY PERSONNE DELETED !");
167
168 assertEquals(0, contact.getParty2().size());
169
170 log.debug("DELETE CONTACT");
171 contactDAO.delete(contact);
172 transaction.commitTransaction();
173 Contact2 res2 = contactDAO.findByTopiaId(idContact);
174 assertNull(res2);
175 log.debug("ENTITY PERSONNE DELETED !");
176
177 }
178
179 }