package org.exist.fluent; import org.junit.Test; import static org.junit.Assert.*; public class DatabaseMiscTest extends DatabaseTestCase { @Test public void queryDocs1() { Folder c1 = db.createFolder("/c1"); XMLDocument d1 = c1.documents().build(Name.generate()).elem("test1").end("test1").commit(); XMLDocument d2 = c1.documents().build(Name.generate()).elem("test2").end("test2").commit(); c1.documents().build(Name.generate()).elem("test3").end("test3").commit(); assertTrue(db.query(d1, d2).exists("/test1")); assertTrue(db.query(d1, d2).exists("/test2")); assertFalse(db.query(d1, d2).exists("/test3")); } @Test public void queryBaseUri() { Folder c1 = db.createFolder("/c1"); c1.documents().build(Name.create("original")).elem("test").end("test").commit(); assertFalse(db.query().single("doc-available('original')").booleanValue()); assertTrue(db.query().single("doc-available('c1/original')").booleanValue()); } @Test public void getDocument1() { Folder c1 = db.createFolder("/c1"); XMLDocument d1 = c1.documents().build(Name.create("doc")).elem("test1").end("test1").commit(); Document d2 = db.getDocument("/c1/doc"); assertEquals(d1, d2); } @Test public void getDocument2() { XMLDocument d1 = db.getFolder("/").documents().build(Name.create("doc")).elem("test1").end("test1").commit(); Document d2 = db.getDocument("/doc"); assertEquals(d1, d2); } @Test(expected = IllegalArgumentException.class) public void getDocumentBadPath1() { db.getDocument(""); } @Test(expected = IllegalArgumentException.class) public void getDocumentBadPath2() { db.getDocument("doc"); } @Test(expected = IllegalArgumentException.class) public void getDocumentBadPath3() { db.getDocument("/doc/"); } @Test public void containsDocument1() { Folder c1 = db.createFolder("/c1"); c1.documents().build(Name.create("doc")).elem("test1").end("test1").commit(); assertTrue(db.contains("/c1/doc")); } @Test public void containsDocument2() { db.getFolder("/").documents().build(Name.create("doc")).elem("test1").end("test1").commit(); assertTrue(db.contains("/doc")); } @Test public void containsFolder1() { db.createFolder("/c1"); assertTrue(db.contains("/c1")); } @Test public void containsFolder2() { db.createFolder("/c1/c2"); assertTrue(db.contains("/c1/c2")); } @Test public void containsFolder3() { assertTrue(db.contains("/")); } @Test public void containsMissing() { assertFalse(db.contains("/c1")); } @Test(expected = IllegalArgumentException.class) public void containsBadPath1() { db.contains(""); } @Test(expected = IllegalArgumentException.class) public void containsBadPath2() { db.contains("doc"); } @Test(expected = IllegalArgumentException.class) public void containsBadPath3() { db.contains("/doc/"); } }