Changeset 3407 for DASISH/t5.6/backend/annotator-backend/trunk/annotator-backend/src/test/java/eu/dasish/annotation/backend/dao/impl/JdbcAnnotationDaoTest.java
- Timestamp:
- 08/17/13 21:09:17 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
DASISH/t5.6/backend/annotator-backend/trunk/annotator-backend/src/test/java/eu/dasish/annotation/backend/dao/impl/JdbcAnnotationDaoTest.java
r3396 r3407 20 20 import eu.dasish.annotation.backend.TestBackendConstants; 21 21 import eu.dasish.annotation.backend.TestInstances; 22 import eu.dasish.annotation.backend.dao.NotebookDao;23 import eu.dasish.annotation.backend.dao.PermissionsDao;24 import eu.dasish.annotation.backend.dao.SourceDao;25 import eu.dasish.annotation.backend.dao.UserDao;26 22 import eu.dasish.annotation.backend.identifiers.AnnotationIdentifier; 27 import eu.dasish.annotation.backend.identifiers.SourceIdentifier;28 23 import eu.dasish.annotation.backend.identifiers.UserIdentifier; 29 24 import eu.dasish.annotation.schema.Annotation; … … 31 26 import eu.dasish.annotation.schema.NewOrExistingSourceInfo; 32 27 import eu.dasish.annotation.schema.NewOrExistingSourceInfos; 33 import eu.dasish.annotation.schema.NewSourceInfo;34 28 import eu.dasish.annotation.schema.ResourceREF; 35 29 import eu.dasish.annotation.schema.SourceInfo; … … 37 31 import java.sql.Timestamp; 38 32 import java.util.ArrayList; 39 import java.util.HashMap;40 33 import java.util.List; 41 34 import java.util.Map; 42 35 import org.jmock.Expectations; 43 import org.jmock.Mockery;44 36 import static org.junit.Assert.*; 45 import org.junit.Ignore;46 37 import org.junit.Test; 47 38 import org.junit.runner.RunWith; … … 55 46 */ 56 47 @RunWith(SpringJUnit4ClassRunner.class) 57 @ContextConfiguration({"/spring-test-config/dataSource.xml", "/spring-test-config/mockery.xml", "/spring-test-config/mockNotebookDao.xml", 58 "/spring-test-config/mockUserDao.xml", "/spring-test-config/mockPermissionsDao.xml", "/spring-test-config/mockSourceDao.xml", "/spring-config/annotationDao.xml"}) 48 @ContextConfiguration({"/spring-test-config/dataSource.xml", "/spring-config/annotationDao.xml"}) 59 49 public class JdbcAnnotationDaoTest extends JdbcResourceDaoTest { 60 50 61 51 @Autowired 62 JdbcAnnotationDao jdbcAnnotationDao; 63 @Autowired 64 private PermissionsDao permissionsDao; 65 @Autowired 66 private NotebookDao notebookDao; 67 @Autowired 68 private SourceDao sourceDao; 69 @Autowired 70 private UserDao userDao; 71 @Autowired 72 private Mockery mockery; 52 JdbcAnnotationDao jdbcAnnotationDao; 73 53 TestInstances testInstances = new TestInstances(); 74 54 … … 178 158 179 159 /// dummy test 180 final Annotation annotaionNull = jdbcAnnotationDao.getAnnotation (null);160 final Annotation annotaionNull = jdbcAnnotationDao.getAnnotationWithoutSources(null); 181 161 assertEquals(null, annotaionNull); 182 162 //// 183 163 184 164 final Number testAnnotationID = 2; 185 186 187 SourceInfo sourceOneInfo = new SourceInfo(); 188 sourceOneInfo.setLink(TestBackendConstants._TEST_SOURCE_1_LINK); 189 sourceOneInfo.setRef(TestBackendConstants._TEST_SOURCE_1_EXT_ID); 190 sourceOneInfo.setVersion(Integer.toString(TestBackendConstants._TEST_SOURCE_1_VERSION_ID)); 191 192 SourceInfo sourceTwoInfo = new SourceInfo(); 193 sourceTwoInfo.setLink(TestBackendConstants._TEST_SOURCE_2_LINK); 194 sourceTwoInfo.setRef(TestBackendConstants._TEST_SOURCE_2_EXT_ID); 195 sourceTwoInfo.setVersion(Integer.toString(TestBackendConstants._TEST_SOURCE_2_VERSION_ID)); 196 197 final List<SourceInfo> sourceInfoList = new ArrayList<SourceInfo>(); 198 sourceInfoList.add(sourceOneInfo); 199 sourceInfoList.add(sourceTwoInfo); 200 201 NewOrExistingSourceInfo noeSourceOneInfo = new NewOrExistingSourceInfo(); 202 noeSourceOneInfo.setSource(sourceOneInfo); 203 NewOrExistingSourceInfo noeSourceTwoInfo = new NewOrExistingSourceInfo(); 204 noeSourceTwoInfo.setSource(sourceTwoInfo); 205 206 List<NewOrExistingSourceInfo> noeSourceInfoList = new ArrayList<NewOrExistingSourceInfo>(); 207 noeSourceInfoList.add(noeSourceOneInfo); 208 noeSourceInfoList.add(noeSourceTwoInfo); 209 final NewOrExistingSourceInfos noeSourceInfos = new NewOrExistingSourceInfos(); 210 noeSourceInfos.getTarget().addAll(noeSourceInfoList); 211 212 mockery.checking(new Expectations() { 213 { 214 oneOf(sourceDao).getSourceInfos(with(aNonNull(List.class))); // retrieveSourceIDs is tested, so we can put "any" instead of its result 215 will(returnValue(sourceInfoList)); 216 217 } 218 }); 219 220 221 final Annotation annotation = jdbcAnnotationDao.getAnnotation(testAnnotationID); 165 final Annotation annotation = jdbcAnnotationDao.getAnnotationWithoutSources(testAnnotationID); 222 166 assertEquals(TestBackendConstants._TEST_ANNOT_2_HEADLINE, annotation.getHeadline()); 223 167 assertEquals(String.valueOf(TestBackendConstants._TEST_ANNOT_2_OWNER), annotation.getOwner().getRef()); 224 168 assertEquals(TestBackendConstants._TEST_ANNOT_2_BODY, annotation.getBody().getAny().get(0)); // when the body is elaborated it may be changed 225 226 assertEquals(sourceOneInfo.getRef(), annotation.getTargetSources().getTarget().get(0).getSource().getRef());227 assertEquals(sourceOneInfo.getLink(), annotation.getTargetSources().getTarget().get(0).getSource().getLink());228 assertEquals(sourceOneInfo.getVersion(), annotation.getTargetSources().getTarget().get(0).getSource().getVersion());229 230 assertEquals(sourceTwoInfo.getRef(), annotation.getTargetSources().getTarget().get(1).getSource().getRef());231 assertEquals(sourceTwoInfo.getLink(), annotation.getTargetSources().getTarget().get(1).getSource().getLink());232 assertEquals(sourceTwoInfo.getVersion(), annotation.getTargetSources().getTarget().get(1).getSource().getVersion());233 234 169 assertEquals(TestBackendConstants._TEST_ANNOT_2_EXT, annotation.getURI()); 235 236 170 assertEquals(TestBackendConstants._TEST_ANNOT_2_TIME_STAMP, annotation.getTimeStamp().toString()); 237 238 239 171 } 240 172 … … 244 176 @Test 245 177 public void testDeleteAnnotation() throws SQLException { 246 System.out.println("deleteAnnotation"); 247 final List<Number> sourceIDs = new ArrayList<Number>(); 248 sourceIDs.add(3); 249 sourceIDs.add(4); 250 251 mockery.checking(new Expectations() { 252 { 253 oneOf(sourceDao).deleteSource(sourceIDs.get(0)); 254 will(returnValue(0)); 255 256 oneOf(sourceDao).deleteSource(sourceIDs.get(1)); 257 will(returnValue(1)); 258 } 259 }); 260 178 System.out.println("deleteAnnotation"); 179 // result[0] = # removed "annotations_principals_perissions" rows 180 // result[1] = # removed "annotatiobs_target_sources" rows 181 // result[2] = # removed annotation rows (should be 1) 182 261 183 int[] result = jdbcAnnotationDao.deleteAnnotation(5); 262 // result[0] = # removed notebooks_annotations rows 263 // result[1] = # removed "annotations_principals_perissions" rows 264 // result[2] = # removed "annotatiobs_target_sources" rows 265 // result[3] = # SAFELY removed "target_sources" rows (only unused) 266 // result[4] = # removed annotation rows (should be 1) 267 268 assertEquals(1, result[0]); 269 assertEquals(3, result[1]); 270 assertEquals(2, result[2]); 271 assertEquals(1, result[3]); 272 assertEquals(1, result[4]); 273 274 184 assertEquals(3, result[0]); 185 assertEquals(2, result[1]); 186 assertEquals(1, result[2]); 275 187 276 188 // now, try to delete the same annotation one more time … … 281 193 assertEquals(0, result[1]); 282 194 assertEquals(0, result[2]); 283 assertEquals(0, result[3]);284 assertEquals(0, result[4]);285 195 } 286 196 … … 299 209 assertEquals(6, newAnnotationID); 300 210 301 Map<String, Object> addedAnnotation= jdbcAnnotationDao.getRawAnnotation(6);302 assertFalse(null == addedAnnotation.get ("external_id"));303 assertFalse(null == addedAnnotation.get ("time_stamp"));304 assertEquals(5, addedAnnotation.get ("owner_id"));305 assertEquals(annotationToAdd.getBody().getAny().get(0), addedAnnotation.get ("body_xml")); // TODO: to be changed after serialization is fixed306 assertEquals(annotationToAdd.getHeadline(), addedAnnotation.get ("headline"));211 Annotation addedAnnotation= jdbcAnnotationDao.getAnnotationWithoutSources(6); 212 assertFalse(null == addedAnnotation.getURI()); 213 assertFalse(null == addedAnnotation.getTimeStamp()); 214 assertEquals(5, addedAnnotation.getOwner().getRef()); 215 assertEquals(annotationToAdd.getBody().getAny().get(0), addedAnnotation.getBody().getAny().get(0)); // TODO: to be changed after serialization is fixed 216 assertEquals(annotationToAdd.getHeadline(), addedAnnotation.getHeadline()); 307 217 } 308 218 … … 378 288 ////////////////////////////////////////// 379 289 // TEST 1 380 final String link = "nl.wikipedia.org"; 381 final List<Number> sourceIDs = new ArrayList<Number>(); 382 sourceIDs.add(1); 383 sourceIDs.add(2); 384 385 386 mockery.checking(new Expectations() { 387 { 388 oneOf(sourceDao).getSourcesForLink(link); 389 will(returnValue(sourceIDs)); 390 } 391 }); 392 List<Number> result_1 = jdbcAnnotationDao.getFilteredAnnotationIDs(link, null, null, null, null, null, null); 290 //final String link = "nl.wikipedia.org"; 291 final List<Number> annotationIDs = new ArrayList<Number>(); 292 annotationIDs.add(2); 293 annotationIDs.add(3); 294 295 List<Number> result_1 = jdbcAnnotationDao.getFilteredAnnotationIDs(annotationIDs, null, null, null, null, null, null); 393 296 assertEquals(2, result_1.size()); 394 297 assertEquals(2, result_1.get(0)); 395 298 assertEquals(3, result_1.get(1)); 396 299 397 /////////////////////////////////////////////// 398 // TEST 2 399 mockery.checking(new Expectations() { 400 { 401 oneOf(sourceDao).getSourcesForLink(link); 402 will(returnValue(sourceIDs)); 403 } 404 }); 405 List<Number> result_2 = jdbcAnnotationDao.getFilteredAnnotationIDs(link, "some html", null, null, null, null, null); 300 301 List<Number> result_2 = jdbcAnnotationDao.getFilteredAnnotationIDs(annotationIDs, "some html", null, null, null, null, null); 406 302 assertEquals(2, result_2.size()); 407 303 assertEquals(2, result_2.get(0)); 408 304 assertEquals(3, result_2.get(1)); 409 305 410 /////////////////////////////////////////////// 411 // TEST 3 412 final UserIdentifier owner = new UserIdentifier("00000000-0000-0000-0000-000000000111"); 413 414 415 mockery.checking(new Expectations() { 416 { 417 oneOf(sourceDao).getSourcesForLink(link); 418 will(returnValue(sourceIDs)); 419 420 oneOf(userDao).getInternalID(owner); 421 will(returnValue(3)); 422 } 423 }); 306 424 307 425 List<Number> result_3 = jdbcAnnotationDao.getFilteredAnnotationIDs( link, "some html", null, null, owner, null, null);308 List<Number> result_3 = jdbcAnnotationDao.getFilteredAnnotationIDs(annotationIDs, "some html", null, null, 1, null, null); 426 309 assertEquals(1, result_3.size()); 427 310 assertEquals(2, result_3.get(0)); 428 311 429 ///////////////////////////////////////////////430 // TEST 4431 312 432 mockery.checking(new Expectations() {433 {434 oneOf(sourceDao).getSourcesForLink(link);435 will(returnValue(sourceIDs));436 437 oneOf(userDao).getInternalID(owner);438 will(returnValue(3));439 }440 });441 313 Timestamp after = new Timestamp(0); 442 314 Timestamp before = new Timestamp(System.currentTimeMillis()); 443 List<Number> result_4 = jdbcAnnotationDao.getFilteredAnnotationIDs( link, "some html", null, null, owner, after, before);315 List<Number> result_4 = jdbcAnnotationDao.getFilteredAnnotationIDs(annotationIDs, "some html", null, null, 1, after, before); 444 316 assertEquals(1, result_4.size()); 445 317 assertEquals(2, result_4.get(0)); 446 318 447 /////////////////////////////////////////////// 448 // TEST 5 449 450 mockery.checking(new Expectations() { 451 { 452 oneOf(sourceDao).getSourcesForLink(link); 453 will(returnValue(sourceIDs)); 454 455 oneOf(userDao).getInternalID(owner); 456 will(returnValue(3)); 457 } 458 }); 319 459 320 Timestamp after_1 = new Timestamp(System.currentTimeMillis()); 460 List<Number> result_5 = jdbcAnnotationDao.getFilteredAnnotationIDs( link, "some html", null, null, owner, after_1, null);321 List<Number> result_5 = jdbcAnnotationDao.getFilteredAnnotationIDs(annotationIDs, "some html", null, null, 1, after_1, null); 461 322 assertEquals(0, result_5.size()); 462 323
Note: See TracChangeset
for help on using the changeset viewer.