package org.openntf.domino.xsp.tests.rpr; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import lotus.domino.NotesException; import org.junit.Test; import org.openntf.domino.Database; import org.openntf.domino.Document; import org.openntf.domino.Session; import org.openntf.domino.design.IconNote; import org.openntf.domino.utils.Factory; import org.openntf.domino.xsp.tests.XspJUnitEx; import com.ibm.domino.napi.NException; import com.ibm.domino.napi.c.xsp.XSPNative; public class XspSessionTestEx extends XspJUnitEx { //private static String LOCAL_SERVER = masterSession.getUserName(); private static String REMOTE_UNTRUSTED_SERVER = "CN=srv-01-nprod/O=FOCONIS"; private static String REMOTE_TRUSTED_SERVER = "CN=srv-01-ntest85/OU=srv/O=FOCONIS"; // @Test public void TestNativeSession() { Session sess = Factory.getSession(); assertFalse(sess.isTrustedSession()); assertFalse(sess.isAnonymous()); assertFalse(sess.isRestricted()); assertEquals(getCurrentId(), sess.getUserName()); assertEquals(getCurrentId(), sess.getEffectiveUserName()); Database nab = sess.getDatabase(REMOTE_TRUSTED_SERVER, "names.nsf"); assertNotNull(nab); IconNote icn = nab.getDesign().getIconNote(); assertNotNull(icn); } //@Test public void TestTrustedSession() { Session sess = Factory.getTrustedSession(); assertTrue(sess.isTrustedSession()); assertFalse(sess.isAnonymous()); assertFalse(sess.isRestricted()); System.out.println("Native Session User name " + sess.getUserName()); System.out.println("Native Session Effective name " + sess.getEffectiveUserName()); assertEquals(getCurrentId(), sess.getUserName()); assertEquals(getCurrentId(), sess.getEffectiveUserName()); Database nab = sess.getDatabase(REMOTE_UNTRUSTED_SERVER, "names.nsf"); assertNotNull(nab); IconNote icn = nab.getDesign().getIconNote(); assertNotNull(icn); } // @Test public void TestNamedSession() { Session sess = Factory.getNamedSession("CN=The Tester/OU=Test/O=FOCONIS"); // assertFalse(sess.isTrustedSession()); assertFalse(sess.isAnonymous()); //assertFalse(sess.isRestricted()); System.out.println("Named Session User name " + sess.getUserName()); System.out.println("Named Session Effective name " + sess.getEffectiveUserName()); Database db = sess.getDatabase(getCurrentId(), "Testdocuments.nsf"); Document doc = db.createDocument(); doc.replaceItemValue("Test", "Test"); doc.replaceItemValue("$Leser", "[AllesLesen]").setReaders(true); doc.save(); } @Test public void TestFullAccessSession() throws NotesException, NException { //String username = "CN=Roland Praml/OU=01/OU=int/O=FOCONIS"; String username = "CN=Theo Tester/OU=test/O=FOCONIS"; long hList = com.ibm.domino.napi.c.NotesUtil.createUserNameList(username); // enforce access - preview server lotus.domino.Session raw = XSPNative.createXPageSessionExt(username, hList, false, false, true); Factory.setSession(raw); Session sess = Factory.getSession(); //"CN=The Tester/OU=Test/O=FOCONIS") assertFalse(sess.isTrustedSession()); assertFalse(sess.isAnonymous()); System.out.println("Named Session User name " + sess.getUserName()); System.out.println("Named Session Effective name " + sess.getEffectiveUserName()); //assertFalse(sess.isRestricted()); Database db = sess.getDatabase(getCurrentId(), "Testdocuments.nsf"); for (Document doc : db.getAllDocuments()) { System.out.println("ID:" + doc.getUniversalID()); } Document doc = db.getDocumentByUNID("D4E1E39F32A051A7C1257D89005940C6"); doc.remove(true); } }