4
4
package com .marklogic .client .test .document ;
5
5
6
6
import com .marklogic .client .DatabaseClient ;
7
- import com .marklogic .client .document .DocumentPage ;
8
- import com .marklogic .client .document .DocumentRecord ;
7
+ import com .marklogic .client .document .*;
8
+ import com .marklogic .client .io .BytesHandle ;
9
+ import com .marklogic .client .io .DocumentMetadataHandle ;
9
10
import com .marklogic .client .io .StringHandle ;
11
+ import com .marklogic .client .query .StructuredQueryBuilder ;
12
+ import com .marklogic .client .query .StructuredQueryDefinition ;
10
13
import com .marklogic .client .test .Common ;
14
+ import org .junit .jupiter .api .Disabled ;
11
15
import org .junit .jupiter .api .Test ;
12
16
13
17
import static org .junit .jupiter .api .Assertions .assertEquals ;
@@ -20,13 +24,46 @@ void test() {
20
24
Common .deleteUrisWithPattern ("/aaa-page/*" );
21
25
22
26
final String uri = "/aaa-page/太田佳伸のXMLファイル.xml" ;
27
+ DocumentRecord documentRecord ;
28
+ try (DatabaseClient client = Common .newClient ()) {
29
+ client .newXMLDocumentManager ().write (uri , Common .newDefaultMetadata (),
30
+ new StringHandle ("<test>太田佳伸のXMLファイル</test>" ));
31
+
32
+ try (DocumentPage page = client .newXMLDocumentManager ().read (uri )) {
33
+ assertTrue (page .hasNext ());
34
+ documentRecord = page .next ();
35
+ }
36
+ }
37
+ assertEquals (uri , documentRecord .getUri ());
38
+ }
39
+
40
+ @ Test
41
+ @ Disabled ("Disabling for now because this seems to be a server bug." )
42
+ void testEmptyDocWithNoExtension () {
43
+ final String collection = "empty-binary-test" ;
23
44
DatabaseClient client = Common .newClient ();
24
- client .newXMLDocumentManager ().write (uri , Common .newDefaultMetadata (),
25
- new StringHandle ("<test>太田佳伸のXMLファイル</test>" ));
26
45
27
- DocumentPage page = client .newXMLDocumentManager ().read (uri );
28
- assertTrue (page .hasNext ());
29
- DocumentRecord record = page .next ();
30
- assertEquals (uri , record .getUri ());
46
+ writeEmptyDocWithFileExtension (client , collection );
47
+
48
+ GenericDocumentManager documentManager = client .newDocumentManager ();
49
+ StructuredQueryDefinition query = new StructuredQueryBuilder ().collection (collection );
50
+ DocumentRecord documentRecord ;
51
+ try (DocumentPage documentPage = documentManager .search (query , 1 )) {
52
+ documentRecord = documentPage .next ();
53
+ }
54
+ String uri = documentRecord .getUri ();
55
+ assertEquals ("/test/empty" , uri , "The URI of the empty document should match the one written." );
56
+ }
57
+
58
+ protected void writeEmptyDocWithFileExtension (DatabaseClient client , String ... collections ) {
59
+ DocumentMetadataHandle metadata = new DocumentMetadataHandle ()
60
+ .withCollections (collections )
61
+ .withPermission ("rest-reader" , DocumentMetadataHandle .Capability .READ , DocumentMetadataHandle .Capability .UPDATE );
62
+ GenericDocumentManager mgr = client .newDocumentManager ();
63
+ DocumentWriteSet set = mgr .newWriteSet ();
64
+ BytesHandle emptyBytesHandle = new BytesHandle (new byte [0 ]);
65
+ String uri = "/test/empty" ;
66
+ set .add (uri , metadata , emptyBytesHandle );
67
+ mgr .write (set );
31
68
}
32
69
}
0 commit comments