@@ -385,14 +385,29 @@ public void testWriteMultipleBinaryDocWithDefaultMetadata2() throws Exception
385
385
docMgr .readMetadata (rec .getUri (), mh );
386
386
assertEquals (" quality" ,5 ,mh .getQuality ());
387
387
388
- assertTrue ("default collections reset" ,mh .getCollections ().isEmpty ());
388
+ // Collections - Test corrected for bug fix from 32783
389
+ /* Default collections are applied only in the following cases:
390
+
391
+ * Creating a document with single write without specifying collections
392
+ * Creating a document or updating document content with bulk write without specifying collections
393
+ * Resetting collections by deleting all or collection metadata
394
+ *
395
+ */
396
+
397
+ String expectedCollections = "size:1|http://permission-collections/|" ;
398
+ String actualCollections = getDocumentCollectionsString (mh .getCollections ());
399
+
400
+ assertEquals ("Document collections difference" , expectedCollections , actualCollections );
389
401
390
402
page = docMgr .read ("/1/mlfavicon.png" );
391
403
rec = page .next ();
392
404
docMgr .readMetadata (rec .getUri (), mh );
393
405
assertEquals ("default quality" ,0 ,mh .getQuality ());
394
406
// System.out.println(rec.getUri()+mh.getCollections().isEmpty());
395
- assertFalse ("default collections reset" ,mh .getCollections ().isEmpty ());
407
+ expectedCollections = "size:1|collection1|" ;
408
+ actualCollections = getDocumentCollectionsString (mh .getCollections ());
409
+
410
+ assertEquals ("Document collections difference" , expectedCollections , actualCollections );
396
411
397
412
page = docMgr .read ("/2/mlfavicon.png" );
398
413
rec = page .next ();
@@ -462,7 +477,10 @@ public void testWriteMultipleJSONDocsWithDefaultMetadata2() throws Exception
462
477
jdm .readMetadata (rec .getUri (), mh );
463
478
System .out .print (mh .getCollections ().isEmpty ());
464
479
assertEquals ("default quality" ,1 ,mh .getQuality ());
465
- assertTrue ("default collections reset" ,mh .getCollections ().isEmpty ());
480
+ String expectedCollections = "size:1|http://permission-collections/|" ;
481
+ String actualCollections = getDocumentCollectionsString (mh .getCollections ());
482
+
483
+ assertEquals ("Document collections difference" , expectedCollections , actualCollections );
466
484
467
485
// Doc3 should have the system default document quality (0) because quality
468
486
// was not included in the document-specific metadata. It should be in the
@@ -477,18 +495,20 @@ public void testWriteMultipleJSONDocsWithDefaultMetadata2() throws Exception
477
495
DocumentMetadataHandle doc3Metadata =
478
496
jdm .readMetadata ("doc3.json" , new DocumentMetadataHandle ());
479
497
System .out .println ("doc3 quality: Expected=0, Actual=" + doc3Metadata .getPermissions ());
480
- System .out .print ("doc3 collections: Expected: myCollection, Actual=" );
481
- for (String collection : doc3Metadata .getCollections ()) {
482
- System .out .print (collection + " " );
483
- }
484
- System .out .println ();
498
+ expectedCollections = "size:1|mySpecificCollection|" ;
499
+ actualCollections = getDocumentCollectionsString (mh .getCollections ());
500
+
501
+ assertEquals ("Document collections difference" , expectedCollections , actualCollections );
485
502
486
503
// Doc 4 should also use the 1st batch default metadata, with quality 1
487
504
page = jdm .read ("doc4.json" );
488
505
rec = page .next ();
489
506
jdm .readMetadata (rec .getUri (), mh );
490
507
assertEquals ("default quality" ,1 ,mh .getQuality ());
491
- assertTrue ("default collections reset" ,mh .getCollections ().isEmpty ());
508
+ expectedCollections = "size:1|http://permission-collections/|" ;
509
+ actualCollections = getDocumentCollectionsString (mh .getCollections ());
510
+
511
+ assertEquals ("Document collections difference" , expectedCollections , actualCollections );
492
512
// Doc5 should use the 2nd batch default metadata, with quality 2
493
513
page = jdm .read ("doc5.json" );
494
514
rec = page .next ();
@@ -553,7 +573,11 @@ public void testWriteGenericDocMgrWithDefaultMetadata() throws Exception
553
573
DocumentRecord rec = page .next ();
554
574
docMgr .readMetadata (rec .getUri (), mh );
555
575
assertEquals ("default quality" ,10 ,mh .getQuality ());
556
- assertTrue ("default collections missing" ,mh .getCollections ().isEmpty ());
576
+
577
+ String expectedCollections = "size:1|http://permission-collections/|" ;
578
+ String actualCollections = getDocumentCollectionsString (mh .getCollections ());
579
+
580
+ assertEquals ("Document collections difference" , expectedCollections , actualCollections );
557
581
558
582
page = docMgr .read ("/generic/foo.xml" );
559
583
rec = page .next ();
0 commit comments