package net.ion.craken.node.ref; import net.ion.craken.node.IteratorList; import net.ion.craken.node.ReadNode; import net.ion.craken.node.TransactionJob; import net.ion.craken.node.WriteNode; import net.ion.craken.node.WriteSession; import net.ion.craken.node.crud.TestBaseCrud; import net.ion.craken.node.crud.tree.NodeNotExistsException; public class TestRefPathBy extends TestBaseCrud { public void testNotExistRefThrowExcpetion() throws Exception { session.pathBy("/"); // not throw try { session.pathBy("/").ref("friend"); fail(); } catch (NodeNotExistsException expect) { } } public void testNotExistRefsReturnEmpty() throws Exception { IteratorList<ReadNode> refs = session.pathBy("/").refs("friend"); assertEquals(0, refs.toList().size()); } public void testRefInReadSession() throws Exception { try { session.root().ref("notfound"); fail(); } catch (NodeNotExistsException expect) { } } public void testRefInWriteSession() throws Exception { session.tranSync(new TransactionJob<Void>() { @Override public Void handle(WriteSession wsession) { try { wsession.root().ref("notfound"); fail(); } catch (IllegalArgumentException expect) { } ; return null; } }); } public void testNotFoundRefInReadSession() throws Exception { session.tranSync(new TransactionJob<Void>() { @Override public Void handle(WriteSession wsession) { wsession.root().refTos("notfound", "/notfound/path"); return null; } }); ReadNode notfound = session.root().ref("notfound"); assertEquals(0, notfound.keys().size()) ; } public void testNotFoundRefInWriteSession() throws Exception { session.tranSync(new TransactionJob<Void>() { @Override public Void handle(WriteSession wsession) { wsession.root().refTos("notfound", "/notfound/path"); WriteNode notfound = wsession.root().ref("notfound"); assertEquals(0, notfound.keys().size()) ; return null; } }); } public void testRefsInWriteSession() throws Exception { session.tranSync(new TransactionJob<Void>() { @Override public Void handle(WriteSession wsession) { IteratorList<WriteNode> iter = wsession.root().refs("notfound"); while(iter.hasNext()){ WriteNode node = iter.next(); assertEquals(0, node.keys().size()) ; } return null; } }); } public void testRefsInReadSession() throws Exception { IteratorList<ReadNode> iter = session.root().refs("notfound"); while(iter.hasNext()){ ReadNode node = iter.next(); assertEquals(0, node.keys().size()) ; } } }