From 77506ec2098f4dcc31318c6526d791e60453d00b Mon Sep 17 00:00:00 2001 From: nttuyen Date: Thu, 4 Jul 2013 16:59:51 +0700 Subject: [PATCH] add test for login module --- portal/web/pom.xml | 6 + .../org/gatein/portal/templates/login.gtmpl | 2 +- .../gatein/portal/PortalLoginTestCase.java | 183 +++++++ .../src/test/resources/META-INF/context.xml | 31 ++ .../mappings/HibernateIdentityObject.hbm.xml | 96 ++++ .../HibernateIdentityObjectAttribute.hbm.xml | 56 ++ ...IdentityObjectAttributeBinaryValue.hbm.xml | 22 + .../HibernateIdentityObjectCredential.hbm.xml | 62 +++ ...dentityObjectCredentialBinaryValue.hbm.xml | 22 + ...ernateIdentityObjectCredentialType.hbm.xml | 23 + ...ibernateIdentityObjectRelationship.hbm.xml | 63 +++ ...nateIdentityObjectRelationshipName.hbm.xml | 47 ++ ...nateIdentityObjectRelationshipType.hbm.xml | 23 + .../HibernateIdentityObjectType.hbm.xml | 23 + .../mappings/HibernateRealm.hbm.xml | 36 ++ .../HibernateIdentityObject.hbm.xml | 96 ++++ .../HibernateIdentityObjectAttribute.hbm.xml | 56 ++ ...IdentityObjectAttributeBinaryValue.hbm.xml | 22 + .../HibernateIdentityObjectCredential.hbm.xml | 62 +++ ...dentityObjectCredentialBinaryValue.hbm.xml | 22 + ...ernateIdentityObjectCredentialType.hbm.xml | 23 + ...ibernateIdentityObjectRelationship.hbm.xml | 63 +++ ...nateIdentityObjectRelationshipName.hbm.xml | 47 ++ ...nateIdentityObjectRelationshipType.hbm.xml | 23 + .../HibernateIdentityObjectType.hbm.xml | 23 + .../sybase-mappings/HibernateRealm.hbm.xml | 36 ++ .../resources/WEB-INF/conf/configuration.xml | 183 +++++++ .../conf/organization/configuration.xml | 326 ++++++++++++ .../organization-configuration.xml | 502 ++++++++++++++++++ .../examples/acme-openldap.ldif | 160 ++++++ .../picketlink-idm/examples/acme.ldif | 151 ++++++ .../examples/initial-openldap.ldif | 16 + .../picketlink-idm-ldap-acme-config.xml | 419 +++++++++++++++ .../examples/picketlink-idm-ldap-config.xml | 380 +++++++++++++ .../examples/picketlink-idm-msad-config.xml | 424 +++++++++++++++ .../picketlink-idm-msad-readonly-config.xml | 378 +++++++++++++ .../picketlink-idm-openldap-acme-config.xml | 434 +++++++++++++++ .../picketlink-idm-openldap-config.xml | 394 ++++++++++++++ .../picketlink-idm/infinispan-cluster.xml | 65 +++ .../picketlink-idm/infinispan.xml | 50 ++ .../picketlink-idm/picketlink-idm-config.xml | 127 +++++ .../conf/portal/portal/classic/navigation.xml | 20 + .../conf/portal/portal/classic/pages.xml | 91 ++++ .../conf/portal/portal/classic/portal.xml | 8 + .../conf/portal/portal/sharedlayout.xml | 6 + portal/web/src/test/resources/web.xml | 25 + 46 files changed, 5326 insertions(+), 1 deletion(-) create mode 100644 portal/web/src/test/java/org/gatein/portal/PortalLoginTestCase.java create mode 100644 portal/web/src/test/resources/META-INF/context.xml create mode 100644 portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObject.hbm.xml create mode 100644 portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectAttribute.hbm.xml create mode 100644 portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectAttributeBinaryValue.hbm.xml create mode 100644 portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectCredential.hbm.xml create mode 100644 portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectCredentialBinaryValue.hbm.xml create mode 100644 portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectCredentialType.hbm.xml create mode 100644 portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectRelationship.hbm.xml create mode 100644 portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectRelationshipName.hbm.xml create mode 100644 portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectRelationshipType.hbm.xml create mode 100644 portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectType.hbm.xml create mode 100644 portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateRealm.hbm.xml create mode 100644 portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObject.hbm.xml create mode 100644 portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectAttribute.hbm.xml create mode 100644 portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectAttributeBinaryValue.hbm.xml create mode 100644 portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectCredential.hbm.xml create mode 100644 portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectCredentialBinaryValue.hbm.xml create mode 100644 portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectCredentialType.hbm.xml create mode 100644 portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectRelationship.hbm.xml create mode 100644 portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectRelationshipName.hbm.xml create mode 100644 portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectRelationshipType.hbm.xml create mode 100644 portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectType.hbm.xml create mode 100644 portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateRealm.hbm.xml create mode 100644 portal/web/src/test/resources/WEB-INF/conf/configuration.xml create mode 100644 portal/web/src/test/resources/WEB-INF/conf/organization/configuration.xml create mode 100644 portal/web/src/test/resources/WEB-INF/conf/organization/organization-configuration.xml create mode 100644 portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/acme-openldap.ldif create mode 100644 portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/acme.ldif create mode 100644 portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/initial-openldap.ldif create mode 100644 portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-ldap-acme-config.xml create mode 100644 portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-ldap-config.xml create mode 100644 portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-msad-config.xml create mode 100644 portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-msad-readonly-config.xml create mode 100644 portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-openldap-acme-config.xml create mode 100644 portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-openldap-config.xml create mode 100644 portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/infinispan-cluster.xml create mode 100644 portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/infinispan.xml create mode 100644 portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/picketlink-idm-config.xml create mode 100644 portal/web/src/test/resources/WEB-INF/conf/portal/portal/classic/navigation.xml create mode 100644 portal/web/src/test/resources/WEB-INF/conf/portal/portal/classic/pages.xml create mode 100644 portal/web/src/test/resources/WEB-INF/conf/portal/portal/classic/portal.xml create mode 100644 portal/web/src/test/resources/WEB-INF/conf/portal/portal/sharedlayout.xml diff --git a/portal/web/pom.xml b/portal/web/pom.xml index f65d22df2..26cea86ea 100644 --- a/portal/web/pom.xml +++ b/portal/web/pom.xml @@ -281,6 +281,12 @@ 2.14.1 false + + + java.security.auth.login.config + ${basedir}/src/main/tomcatconf/jaas.conf + + diff --git a/portal/web/src/main/java/org/gatein/portal/templates/login.gtmpl b/portal/web/src/main/java/org/gatein/portal/templates/login.gtmpl index ba07e9a93..9f4b29717 100644 --- a/portal/web/src/main/java/org/gatein/portal/templates/login.gtmpl +++ b/portal/web/src/main/java/org/gatein/portal/templates/login.gtmpl @@ -14,7 +14,7 @@ ${message} -
+ diff --git a/portal/web/src/test/java/org/gatein/portal/PortalLoginTestCase.java b/portal/web/src/test/java/org/gatein/portal/PortalLoginTestCase.java new file mode 100644 index 000000000..a83eff4d4 --- /dev/null +++ b/portal/web/src/test/java/org/gatein/portal/PortalLoginTestCase.java @@ -0,0 +1,183 @@ +package org.gatein.portal; + +import java.io.File; +import java.io.IOException; +import java.io.PrintWriter; +import java.net.MalformedURLException; +import java.net.URISyntaxException; +import java.net.URL; + +import javax.portlet.GenericPortlet; +import javax.portlet.PortletException; +import javax.portlet.RenderRequest; +import javax.portlet.RenderResponse; + +import junit.framework.AssertionFailedError; +import juzu.impl.common.RunMode; +import juzu.impl.common.Tools; +import juzu.impl.inject.spi.InjectorProvider; +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.container.test.api.RunAsClient; +import org.jboss.arquillian.drone.api.annotation.Drone; +import org.jboss.arquillian.junit.Arquillian; +import org.jboss.arquillian.junit.InSequence; +import org.jboss.arquillian.test.api.ArquillianResource; +import org.jboss.shrinkwrap.api.Filters; +import org.jboss.shrinkwrap.api.GenericArchive; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.asset.StringAsset; +import org.jboss.shrinkwrap.api.importer.ExplodedImporter; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.openqa.selenium.By; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; + +/** + * Created with IntelliJ IDEA. + * User: tuyennt + * Date: 7/4/13 + * Time: 10:35 AM + * To change this template use File | Settings | File Templates. + */ +@RunWith(Arquillian.class) +public class PortalLoginTestCase extends AbstractPortalTestCase { + + @Deployment(testable = false) + public static WebArchive createPortal() { + //WebArchive portal = AbstractPortalTestCase.createPortal(InjectorProvider.INJECT_GUICE, RunMode.DEV); + WebArchive portal = ShrinkWrap.create(WebArchive.class, "portal.war"); + + String servlet; + try { + servlet = Tools.read(Thread.currentThread().getContextClassLoader().getResourceAsStream("web.xml")); + } catch (IOException e) { + AssertionFailedError afe = new AssertionFailedError("Could not read web xml deployment descriptor"); + afe.initCause(e); + throw afe; + } + + servlet = String.format(servlet, InjectorProvider.INJECT_GUICE.getValue(), RunMode.DEV.getValue()); + + portal.setWebXML(new StringAsset(servlet)); + + portal.merge(ShrinkWrap. + create(GenericArchive.class). + as(ExplodedImporter.class). + importDirectory("src/test/resources/WEB-INF"). + as(GenericArchive.class), "/WEB-INF", Filters.exclude("web.xml")); + portal.merge(ShrinkWrap. + create(GenericArchive.class). + as(ExplodedImporter.class). + importDirectory("src/test/resources/META-INF"). + as(GenericArchive.class), "/META-INF", Filters.exclude("web.xml")); + + portal.addAsWebInfResource(new StringAsset(descriptor(Portlet1.class).exportAsString()), "portlet.xml"); + + return portal; + } + + @ArquillianResource + URL deploymentURL; + + @Drone + WebDriver driver; + + @Test + @RunAsClient + public void testHasLoginForm() { + String url = deploymentURL.toString() + "/login"; + driver.get(url); + WebElement form = driver.findElement(By.tagName("form")); + WebElement username = form.findElement(By.name("username")); + WebElement password = form.findElement(By.name("password")); + + Assert.assertNotNull(form); + Assert.assertNotNull(username); + Assert.assertNotNull(password); + } + + @Test + @RunAsClient + public void testNotLogin() throws InterruptedException, URISyntaxException, MalformedURLException { + String portletURL = deploymentURL + "page1"; + driver.get(portletURL); + WebElement body = driver.findElement(By.tagName("body")); + WebElement linkElement = driver.findElement(By.id("login-user")); + Assert.assertNotNull(linkElement); + String username = linkElement.getText(); + Assert.assertEquals("__GUEST__", username); + } + + @Test + @RunAsClient + public void testDoLogin() throws InterruptedException { + String url = deploymentURL.toString() + "/dologin?initURL="+ deploymentURL + "page1"; + driver.get(url); + WebElement form = driver.findElement(By.tagName("form")); + WebElement username = form.findElement(By.name("username")); + WebElement password = form.findElement(By.name("password")); + + Assert.assertNotNull(form); + Assert.assertNotNull(username); + Assert.assertNotNull(password); + + username.sendKeys("root"); + password.sendKeys("gtn"); + form.submit(); + + String portletURL = deploymentURL + "page1"; + driver.get(portletURL); + + WebElement linkElement = driver.findElement(By.id("login-user")); + Assert.assertNotNull(linkElement); + String name = linkElement.getText(); + Assert.assertEquals("root", name); + } + + @Test + @RunAsClient + public void testLoginFailure() { + String url = deploymentURL.toString() + "/dologin?initURL="+ deploymentURL + "page1"; + driver.get(url); + WebElement form = driver.findElement(By.tagName("form")); + WebElement username = form.findElement(By.name("username")); + WebElement password = form.findElement(By.name("password")); + + Assert.assertNotNull(form); + Assert.assertNotNull(username); + Assert.assertNotNull(password); + + username.sendKeys("root"); + password.sendKeys("gtn1111"); + form.submit(); + + WebElement body = driver.findElement(By.tagName("body")); + Assert.assertTrue(body.getText().contains("Username or password incorrect!")); + + String portletURL = deploymentURL + "page1"; + driver.get(portletURL); + + WebElement linkElement = driver.findElement(By.id("login-user")); + Assert.assertNotNull(linkElement); + String name = linkElement.getText(); + Assert.assertEquals("__GUEST__", name); + } + + + public static class Portlet1 extends GenericPortlet { + @Override + protected void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException { + response.setContentType("text/html"); + PrintWriter writer = response.getWriter(); + String username = request.getRemoteUser(); + if(username == null || username.isEmpty()) { + username = "__GUEST__"; + } + writer.append(""+username+""); + writer.close(); + } + } +} diff --git a/portal/web/src/test/resources/META-INF/context.xml b/portal/web/src/test/resources/META-INF/context.xml new file mode 100644 index 000000000..349a0d7c3 --- /dev/null +++ b/portal/web/src/test/resources/META-INF/context.xml @@ -0,0 +1,31 @@ + + + + + + + \ No newline at end of file diff --git a/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObject.hbm.xml b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObject.hbm.xml new file mode 100644 index 000000000..8c5ac1415 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObject.hbm.xml @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectAttribute.hbm.xml b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectAttribute.hbm.xml new file mode 100644 index 000000000..540eff4e3 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectAttribute.hbm.xml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectAttributeBinaryValue.hbm.xml b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectAttributeBinaryValue.hbm.xml new file mode 100644 index 000000000..d10142c8d --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectAttributeBinaryValue.hbm.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + diff --git a/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectCredential.hbm.xml b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectCredential.hbm.xml new file mode 100644 index 000000000..96221fb48 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectCredential.hbm.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectCredentialBinaryValue.hbm.xml b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectCredentialBinaryValue.hbm.xml new file mode 100644 index 000000000..f32141ced --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectCredentialBinaryValue.hbm.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + diff --git a/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectCredentialType.hbm.xml b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectCredentialType.hbm.xml new file mode 100644 index 000000000..9a18541a3 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectCredentialType.hbm.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + diff --git a/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectRelationship.hbm.xml b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectRelationship.hbm.xml new file mode 100644 index 000000000..5fadbfec3 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectRelationship.hbm.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectRelationshipName.hbm.xml b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectRelationshipName.hbm.xml new file mode 100644 index 000000000..4fb5b5c95 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectRelationshipName.hbm.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectRelationshipType.hbm.xml b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectRelationshipType.hbm.xml new file mode 100644 index 000000000..a279894f2 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectRelationshipType.hbm.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + diff --git a/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectType.hbm.xml b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectType.hbm.xml new file mode 100644 index 000000000..752738739 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectType.hbm.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + diff --git a/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateRealm.hbm.xml b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateRealm.hbm.xml new file mode 100644 index 000000000..a47f18400 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/mappings/HibernateRealm.hbm.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObject.hbm.xml b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObject.hbm.xml new file mode 100644 index 000000000..8c5ac1415 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObject.hbm.xml @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectAttribute.hbm.xml b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectAttribute.hbm.xml new file mode 100644 index 000000000..540eff4e3 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectAttribute.hbm.xml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectAttributeBinaryValue.hbm.xml b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectAttributeBinaryValue.hbm.xml new file mode 100644 index 000000000..a9f9fa122 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectAttributeBinaryValue.hbm.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + diff --git a/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectCredential.hbm.xml b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectCredential.hbm.xml new file mode 100644 index 000000000..96221fb48 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectCredential.hbm.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectCredentialBinaryValue.hbm.xml b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectCredentialBinaryValue.hbm.xml new file mode 100644 index 000000000..18037e928 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectCredentialBinaryValue.hbm.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + diff --git a/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectCredentialType.hbm.xml b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectCredentialType.hbm.xml new file mode 100644 index 000000000..9a18541a3 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectCredentialType.hbm.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + diff --git a/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectRelationship.hbm.xml b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectRelationship.hbm.xml new file mode 100644 index 000000000..5fadbfec3 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectRelationship.hbm.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectRelationshipName.hbm.xml b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectRelationshipName.hbm.xml new file mode 100644 index 000000000..4fb5b5c95 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectRelationshipName.hbm.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectRelationshipType.hbm.xml b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectRelationshipType.hbm.xml new file mode 100644 index 000000000..a279894f2 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectRelationshipType.hbm.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + diff --git a/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectType.hbm.xml b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectType.hbm.xml new file mode 100644 index 000000000..752738739 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectType.hbm.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + diff --git a/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateRealm.hbm.xml b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateRealm.hbm.xml new file mode 100644 index 000000000..a47f18400 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateRealm.hbm.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/portal/web/src/test/resources/WEB-INF/conf/configuration.xml b/portal/web/src/test/resources/WEB-INF/conf/configuration.xml new file mode 100644 index 000000000..327b3734f --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/conf/configuration.xml @@ -0,0 +1,183 @@ + + + + + + org.gatein.portal.portlet.PortletAppManager + + + + + org.gatein.portal.impl.mop.ram.RamStore + + + org.gatein.portal.impl.mop.ram.RamSiteStore + + + org.gatein.portal.mop.site.SiteServiceImpl + + + org.gatein.portal.impl.mop.ram.RamLayoutStore + + + org.gatein.portal.mop.layout.LayoutServiceImpl + + + org.gatein.portal.impl.mop.ram.RamDescriptionStore + + + org.gatein.portal.mop.description.DescriptionServiceImpl + + + org.gatein.portal.impl.mop.ram.RamNavigationStore + + + org.gatein.portal.mop.navigation.NavigationServiceImpl + + + org.gatein.portal.impl.mop.ram.RamPageStore + + + org.gatein.portal.mop.page.PageServiceImpl + + + org.gatein.portal.impl.mop.ram.RamCustomizationStore + + + org.gatein.portal.mop.customization.CustomizationServiceImpl + + + + + org.gatein.portal.importer.ModelImporter + + + default.import.mode + merge + + + default.portal + The default portal for checking db is empty or not + classic + + + page.templates.location + the path to the location that contains Page templates + war:/conf/portal/template/pages + + + override + The flag parameter to decide if portal metadata is overriden on restarting server + false + + + site.templates.location + description + + + war:/conf/portal + + + + + basic + + + classic + + + + + + + group + + + + + + + user + + + + + + + portal.configuration + description + + + + + classic + + + mobile + + + + + portal + + + war:/conf/portal/ + + + + + group.configuration + description + + + + + /platform/administrators + + + /platform/users + + + /platform/guests + + + /organization/management/executive-board + + + + + group + + + war:/conf/portal + + + + + user.configuration + description + + + + + root + + + + + user + + + war:/conf/portal + + + + + + + war:/conf/organization/configuration.xml + war:/conf/organization/organization-configuration.xml + diff --git a/portal/web/src/test/resources/WEB-INF/conf/organization/configuration.xml b/portal/web/src/test/resources/WEB-INF/conf/organization/configuration.xml new file mode 100644 index 000000000..86fae7948 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/conf/organization/configuration.xml @@ -0,0 +1,326 @@ + + + + + org.exoplatform.services.organization.idm.PicketLinkIDMCacheService + org.exoplatform.services.organization.idm.PicketLinkIDMCacheService + + + + org.gatein.common.transaction.JTAUserTransactionLifecycleService + org.gatein.common.transaction.JTAUserTransactionLifecycleServiceImpl + + + + org.exoplatform.services.database.HibernateService + database:type=HibernateService + org.exoplatform.services.organization.idm.CustomHibernateServiceImpl + + + hibernate.properties + Default Hibernate Service + + + + + + + + + + + + + + + + + + + + + + + + + + + + org.exoplatform.services.organization.idm.PicketLinkIDMService + org.exoplatform.services.organization.idm.PicketLinkIDMServiceImpl + + + config + war:/conf/organization/picketlink-idm/picketlink-idm-config.xml + + + + + + + + + + + + + + + + + + + + + + + + portalRealm + idm_realm + + + + apiCacheConfig + war:/conf/organization/picketlink-idm/infinispan.xml + + + + apiCacheConfig + war:/conf/organization/picketlink-idm/infinispan-cluster.xml + + + + storeCacheConfig + war:/conf/organization/picketlink-idm/infinispan.xml + + + + storeCacheConfig + war:/conf/organization/picketlink-idm/infinispan-cluster.xml + + + + skipExpirationOfStructureCacheEntries + true + + + + + + + + org.exoplatform.services.organization.OrganizationService + org.exoplatform.services.organization.idm.PicketLinkIDMOrganizationServiceImpl + + + configuration + + + + true + + + + true + + + + . + + + + GTN_ROOT_GROUP + + + + + + + / + + + root_type + + + + + + + + + + + + + + + + + member + + + + false + + + + false + + + + + @_@_@ + + + + + true + + + + + true + + + + + true + + + + + + + + org.exoplatform.services.naming.InitialContextInitializer + + bind.datasource + addPlugin + org.exoplatform.services.naming.BindReferencePlugin + + + bind-name + jdbcidm + + + class-name + javax.sql.DataSource + + + factory + org.apache.commons.dbcp.BasicDataSourceFactory + + + ref-addresses + ref-addresses + + + + + + + + + + + + org.exoplatform.services.database.HibernateService + + add.hibernate.mapping + addPlugin + org.exoplatform.services.database.impl.AddHibernateMappingPlugin + + + hibernate.mapping + picketlink-idm/mappings/HibernateRealm.hbm.xml + picketlink-idm/mappings/HibernateIdentityObjectCredentialBinaryValue.hbm.xml + picketlink-idm/mappings/HibernateIdentityObjectAttributeBinaryValue.hbm.xml + picketlink-idm/mappings/HibernateIdentityObject.hbm.xml + picketlink-idm/mappings/HibernateIdentityObjectCredential.hbm.xml + picketlink-idm/mappings/HibernateIdentityObjectCredentialType.hbm.xml + picketlink-idm/mappings/HibernateIdentityObjectAttribute.hbm.xml + picketlink-idm/mappings/HibernateIdentityObjectType.hbm.xml + picketlink-idm/mappings/HibernateIdentityObjectRelationship.hbm.xml + picketlink-idm/mappings/HibernateIdentityObjectRelationshipType.hbm.xml + picketlink-idm/mappings/HibernateIdentityObjectRelationshipName.hbm.xml + + + hibernate.mapping + picketlink-idm/sybase-mappings/HibernateRealm.hbm.xml + picketlink-idm/sybase-mappings/HibernateIdentityObjectCredentialBinaryValue.hbm.xml + picketlink-idm/sybase-mappings/HibernateIdentityObjectAttributeBinaryValue.hbm.xml + picketlink-idm/sybase-mappings/HibernateIdentityObject.hbm.xml + picketlink-idm/sybase-mappings/HibernateIdentityObjectCredential.hbm.xml + picketlink-idm/sybase-mappings/HibernateIdentityObjectCredentialType.hbm.xml + picketlink-idm/sybase-mappings/HibernateIdentityObjectAttribute.hbm.xml + picketlink-idm/sybase-mappings/HibernateIdentityObjectType.hbm.xml + picketlink-idm/sybase-mappings/HibernateIdentityObjectRelationship.hbm.xml + picketlink-idm/sybase-mappings/HibernateIdentityObjectRelationshipType.hbm.xml + picketlink-idm/sybase-mappings/HibernateIdentityObjectRelationshipName.hbm.xml + + + + + + diff --git a/portal/web/src/test/resources/WEB-INF/conf/organization/organization-configuration.xml b/portal/web/src/test/resources/WEB-INF/conf/organization/organization-configuration.xml new file mode 100644 index 000000000..2e47ded24 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/conf/organization/organization-configuration.xml @@ -0,0 +1,502 @@ + + + + + + org.exoplatform.services.organization.OrganizationService + + init.service.listener + addListenerPlugin + org.exoplatform.services.organization.OrganizationDatabaseInitializer + + this listener populate organization data for the first launch + + + checkDatabaseAlgorithm + check database + entry + + + printInformation + Print information init database + false + + + configuration + description + + + + + + + manager + + + manager membership type + + + + + + + member + + + member membership type + + + + + + + validator + + + validator membership type + + + + + + + + + + + + platform + + + + + + the /platform group + + + Platform + + + + + + + administrators + + + /platform + + + the /platform/administrators group + + + Administrators + + + + + + + users + + + /platform + + + the /platform/users group + + + Users + + + + + + + guests + + + /platform + + + the /platform/guests group + + + Guests + + + + + + + organization + + + + + + the organization group + + + Organization + + + + + + + management + + + /organization + + + the /organization/management group + + + Management + + + + + + + executive-board + + + /organization/management + + + the /organization/management/executive-board group + + + Executive Board + + + + + + + human-resources + + + /organization/management + + + the /organization/management/human-resource group + + + Human Resources + + + + + + + communication + + + /organization + + + the /organization/communication group + + + Communication + + + + + + + marketing + + + /organization/communication + + + the /organization/communication/marketing group + + + Marketing + + + + + + + press-and-media + + + /organization/communication + + + the /organization/communication/press-and-media group + + + Press and Media + + + + + + + operations + + + /organization + + + the /organization/operations and media group + + + Operations + + + + + + + sales + + + /organization/operations + + + the /organization/operations/sales group + + + Sales + + + + + + + finances + + + /organization/operations + + + the /organization/operations/finances group + + + Finances + + + + + + + customers + + + + + + the /customers group + + + Customers + + + + + + + partners + + + + + + the /partners group + + + Partners + + + + + + + + + + + + + root + + + + gtn + + + Root + + + Root + + + root@localhost + + + + manager:/platform/administrators,member:/platform/users, + member:/organization/management/executive-board + + + + + + + + john + + + gtn + + + John + + + Anthony + + + john@localhost + + + + member:/platform/administrators,member:/platform/users, + manager:/organization/management/executive-board + + + + + + + + mary + + + gtn + + + Mary + + + Kelly + + + mary@localhost + + + member:/platform/users + + + + + + + demo + + + gtn + + + Demo + + + gtn + + + demo@localhost + + + member:/platform/guests,member:/platform/users + + + + + + + + + + + + new.user.event.listener + addListenerPlugin + org.exoplatform.services.organization.impl.NewUserEventListener + this listener assign group and membership to a new created user + + + configuration + description + + + + + + + /platform/users + + + member + + + + + + + + + root + + + john + + + mary + + + demo + + + + + + + + + + MembershipUpdateListener + addListenerPlugin + org.exoplatform.services.organization.impl.MembershipUpdateListener + + + diff --git a/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/acme-openldap.ldif b/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/acme-openldap.ldif new file mode 100644 index 000000000..435e790a9 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/acme-openldap.ldif @@ -0,0 +1,160 @@ +dn: o=acme,dc=my-domain,dc=com +objectclass: top +objectclass: dcObject +objectclass: organization +o: acme +dc: acme + +dn: ou=placeholder,o=acme,dc=my-domain,dc=com +objectclass: top +objectclass: organizationalUnit +ou: placeholder +description: entry used to satisfy schmema restrictions for required member attribute in groupOfNames objectClass + +dn: ou=People,o=acme,dc=my-domain,dc=com +objectclass: top +objectclass: organizationalUnit +ou: People + +dn: uid=admin,ou=People,o=acme,dc=my-domain,dc=com +objectclass: top +objectclass: inetOrgPerson +objectclass: person +uid: admin +cn: Administrator +sn: Duke +userPassword: admin +mail: admin@acme.example.com + +dn: uid=user,ou=People,o=acme,dc=my-domain,dc=com +objectclass: top +objectclass: inetOrgPerson +objectclass: person +uid: user +cn: User +sn: Sample +userPassword: user +mail: user@acme.example.com + +dn: uid=jduke,ou=People,o=acme,dc=my-domain,dc=com +objectclass: top +objectclass: inetOrgPerson +objectclass: person +uid: jduke +cn: Java +sn: Duke +userPassword: theduke +mail: jduke@acme.example.com + +dn: uid=jduke1,ou=People,o=acme,dc=my-domain,dc=com +objectclass: top +objectclass: inetOrgPerson +objectclass: person +uid: jduke1 +cn: Java 1 +sn: Duke1 +userPassword: theduke +mail: jduke1@acme.example.com + + +dn: uid=jduke2,ou=People,o=acme,dc=my-domain,dc=com +objectclass: top +objectclass: inetOrgPerson +objectclass: person +uid: jduke2 +cn: Java 2 +sn: Duke2 +userPassword: theduke +mail: jduke2@acme.example.com + +dn: uid=jduke3,ou=People,o=acme,dc=my-domain,dc=com +objectclass: top +objectclass: inetOrgPerson +objectclass: person +uid: jduke3 +cn: Java 3 +sn: Duke3 +userPassword: theduke +mail: jduke3@acme.example.com + +dn: uid=jduke4,ou=People,o=acme,dc=my-domain,dc=com +objectclass: top +objectclass: inetOrgPerson +objectclass: person +uid: jduke4 +cn: Java 4 +sn: Duke4 +userPassword: theduke +mail: jduke4@acme.example.com + +dn: ou=Roles,o=acme,dc=my-domain,dc=com +objectclass: top +objectclass: organizationalUnit +ou: Roles + +dn: cn=admins,ou=Roles,o=acme,dc=my-domain,dc=com +objectClass: top +objectClass: groupOfNames +cn: admins +description: Portal admin role +member: uid=admin,ou=People,o=acme,dc=my-domain,dc=com + +dn: cn=employees,ou=Roles,o=acme,dc=my-domain,dc=com +objectClass: top +objectClass: groupOfNames +cn: employees +description: ACME Employees +member: uid=admin,ou=People,o=acme,dc=my-domain,dc=com +member: uid=user,ou=People,o=acme,dc=my-domain,dc=com +member: uid=jduke,ou=People,o=acme,dc=my-domain,dc=com +member: uid=jduke1,ou=People,o=acme,dc=my-domain,dc=com +member: uid=jduke2,ou=People,o=acme,dc=my-domain,dc=com +member: uid=jduke3,ou=People,o=acme,dc=my-domain,dc=com +member: uid=jduke4,ou=People,o=acme,dc=my-domain,dc=com + +dn: cn=echo,ou=Roles,o=acme,dc=my-domain,dc=com +objectClass: top +objectClass: groupOfNames +cn: echo +description: Echo role +member: uid=jduke1,ou=People,o=acme,dc=my-domain,dc=com +member: uid=jduke3,ou=People,o=acme,dc=my-domain,dc=com +member: uid=jduke4,ou=People,o=acme,dc=my-domain,dc=com + +dn: cn=echo1,ou=Roles,o=acme,dc=my-domain,dc=com +objectClass: top +objectClass: groupOfNames +cn: echo1 +description: Echo1 role +member: uid=jduke2,ou=People,o=acme,dc=my-domain,dc=com +member: uid=jduke3,ou=People,o=acme,dc=my-domain,dc=com + +dn: cn=theduke,ou=Roles,o=acme,dc=my-domain,dc=com +objectClass: groupOfNames +objectClass: top +cn: theduke +description: TheDuke role +member: uid=jduke,ou=People,o=acme,dc=my-domain,dc=com + +dn: ou=OrganizationUnits,o=acme,dc=my-domain,dc=com +objectclass: top +objectclass: organizationalUnit +ou: OrganizationUnits + +dn: cn=foo,ou=OrganizationUnits,o=acme,dc=my-domain,dc=com +objectClass: top +objectClass: groupOfNames +cn: foo +description: Foo organization unit +member: uid=admin,ou=People,o=acme,dc=my-domain,dc=com + + + +dn: cn=bar,ou=OrganizationUnits,o=acme,dc=my-domain,dc=com +objectClass: top +objectClass: groupOfNames +cn: bar +description: Bar organization +member: uid=admin,ou=People,o=acme,dc=my-domain,dc=com + + diff --git a/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/acme.ldif b/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/acme.ldif new file mode 100644 index 000000000..addd88638 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/acme.ldif @@ -0,0 +1,151 @@ +dn: o=acme,dc=example,dc=com +objectclass: top +objectclass: dcObject +objectclass: organization +o: acme +dc: acme + +dn: ou=People,o=acme,dc=example,dc=com +objectclass: top +objectclass: organizationalUnit +ou: People + + +dn: uid=admin,ou=People,o=acme,dc=example,dc=com +objectclass: top +objectclass: inetOrgPerson +objectclass: person +uid: admin +cn: Administrator +sn: Duke +userPassword: admin +mail: admin@acme.example.com + +dn: uid=user,ou=People,o=acme,dc=example,dc=com +objectclass: top +objectclass: inetOrgPerson +objectclass: person +uid: user +cn: User +sn: Sample +userPassword: user +mail: user@acme.example.com + +dn: uid=jduke,ou=People,o=acme,dc=example,dc=com +objectclass: top +objectclass: inetOrgPerson +objectclass: person +uid: jduke +cn: Java +sn: Duke +userPassword: theduke +mail: jduke@acme.example.com + +dn: uid=jduke1,ou=People,o=acme,dc=example,dc=com +objectclass: top +objectclass: inetOrgPerson +objectclass: person +uid: jduke1 +cn: Java 1 +sn: Duke1 +userPassword: theduke +mail: jduke1@acme.example.com + + +dn: uid=jduke2,ou=People,o=acme,dc=example,dc=com +objectclass: top +objectclass: inetOrgPerson +objectclass: person +uid: jduke2 +cn: Java 2 +sn: Duke2 +userPassword: theduke +mail: jduke2@acme.example.com + +dn: uid=jduke3,ou=People,o=acme,dc=example,dc=com +objectclass: top +objectclass: inetOrgPerson +objectclass: person +uid: jduke3 +cn: Java 3 +sn: Duke3 +userPassword: theduke +mail: jduke3@acme.example.com + +dn: uid=jduke4,ou=People,o=acme,dc=example,dc=com +objectclass: top +objectclass: inetOrgPerson +objectclass: person +uid: jduke4 +cn: Java 4 +sn: Duke4 +userPassword: theduke +mail: jduke4@acme.example.com + +dn: ou=Roles,o=acme,dc=example,dc=com +objectclass: top +objectclass: organizationalUnit +ou: Roles + +dn: cn=admins,ou=Roles,o=acme,dc=example,dc=com +objectClass: top +objectClass: groupOfNames +cn: admins +description: Portal admin role +member: uid=admin,ou=People,o=acme,dc=example,dc=com + +dn: cn=employees,ou=Roles,o=acme,dc=example,dc=com +objectClass: top +objectClass: groupOfNames +cn: employees +description: ACME Employees +member: uid=admin,ou=People,o=acme,dc=example,dc=com +member: uid=user,ou=People,o=acme,dc=example,dc=com +member: uid=jduke,ou=People,o=acme,dc=example,dc=com +member: uid=jduke1,ou=People,o=acme,dc=example,dc=com +member: uid=jduke2,ou=People,o=acme,dc=example,dc=com +member: uid=jduke3,ou=People,o=acme,dc=example,dc=com +member: uid=jduke4,ou=People,o=acme,dc=example,dc=com + +dn: cn=echo,ou=Roles,o=acme,dc=example,dc=com +objectClass: top +objectClass: groupOfNames +cn: echo +description: Echo role +member: uid=jduke1,ou=People,o=acme,dc=example,dc=com +member: uid=jduke3,ou=People,o=acme,dc=example,dc=com +member: uid=jduke4,ou=People,o=acme,dc=example,dc=com + +dn: cn=echo1,ou=Roles,o=acme,dc=example,dc=com +objectClass: top +objectClass: groupOfNames +cn: echo1 +description: Echo1 role +member: uid=jduke2,ou=People,o=acme,dc=example,dc=com +member: uid=jduke3,ou=People,o=acme,dc=example,dc=com + +dn: cn=theduke,ou=Roles,o=acme,dc=example,dc=com +objectClass: groupOfNames +objectClass: top +cn: theduke +description: TheDuke role +member: uid=jduke,ou=People,o=acme,dc=example,dc=com + +dn: ou=OrganizationUnits,o=acme,dc=example,dc=com +objectclass: top +objectclass: organizationalUnit +ou: OrganizationUnits + +dn: cn=foo,ou=OrganizationUnits,o=acme,dc=example,dc=com +objectClass: top +objectClass: groupOfNames +cn: foo +description: Foo organization unit + + +dn: cn=bar,ou=OrganizationUnits,o=acme,dc=example,dc=com +objectClass: top +objectClass: groupOfNames +cn: bar +description: Bar organization + diff --git a/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/initial-openldap.ldif b/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/initial-openldap.ldif new file mode 100644 index 000000000..c0a2658eb --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/initial-openldap.ldif @@ -0,0 +1,16 @@ +dn: o=gatein,dc=my-domain,dc=com +objectclass: top +objectclass: organization +o: gatein + +dn: o=portal,o=gatein,dc=my-domain,dc=com +objectclass: top +objectclass: organization +o: portal + +dn: ou=placeholder,o=portal,o=gatein,dc=my-domain,dc=com +objectclass: top +objectclass: organizationalUnit +ou: placeholder +description: entry used to satisfy schmema restrictions for required member attribute in groupOfNames objectClass + diff --git a/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-ldap-acme-config.xml b/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-ldap-acme-config.xml new file mode 100644 index 000000000..4350d2238 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-ldap-acme-config.xml @@ -0,0 +1,419 @@ + + + + + + + idm_realm_sample-portal + DefaultPortalRepository + + USER + + + + + + + + + idm_realm + PortalRepository + + USER + + + + + + + + + + + + PortalRepository + org.picketlink.idm.impl.repository.FallbackIdentityStoreRepository + + HibernateStore + HibernateStore + + + PortalLDAPStore + + USER + acme_roles_type + acme_ou_type + + + + + + + + + + + + DefaultPortalRepository + org.picketlink.idm.impl.repository.WrapperIdentityStoreRepository + + HibernateStore + HibernateStore + + + + + + + HibernateStore + org.picketlink.idm.impl.store.hibernate.HibernateIdentityStoreImpl + + + JBOSS_IDENTITY_MEMBERSHIP + JBOSS_IDENTITY_ROLE + + + + USER + + + PASSWORD + + + + + + + + + + + + + + + + + + PortalLDAPStore + org.picketlink.idm.impl.store.ldap.LDAPIdentityStoreImpl + + + JBOSS_IDENTITY_MEMBERSHIP + + + + USER + + + PASSWORD + + + + firstName + cn + text + false + false + false + + + lastName + sn + text + false + false + false + + + email + mail + text + false + false + false + true + + + + + + + + + + + + acme_roles_type + + + JBOSS_IDENTITY_MEMBERSHIP + USER + + + JBOSS_IDENTITY_MEMBERSHIP + acme_roles_type + + + + + + label + cn + text + false + false + true + + + description + description + text + false + false + false + + + + + + + + + + + + + + + + + + acme_ou_type + + + JBOSS_IDENTITY_MEMBERSHIP + USER + + + JBOSS_IDENTITY_MEMBERSHIP + acme_ou_type + + + + + + label + cn + text + false + false + true + + + description + description + text + false + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-ldap-config.xml b/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-ldap-config.xml new file mode 100644 index 000000000..e6688fe55 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-ldap-config.xml @@ -0,0 +1,380 @@ + + + + + + + idm_realm_sample-portal + DefaultPortalRepository + + USER + + + + + + + + + idm_realm + PortalRepository + + USER + + + + + + + + + + + + PortalRepository + org.picketlink.idm.impl.repository.FallbackIdentityStoreRepository + + HibernateStore + HibernateStore + + + PortalLDAPStore + + USER + platform_type + organization_type + + + + + + + + + + DefaultPortalRepository + org.picketlink.idm.impl.repository.WrapperIdentityStoreRepository + + HibernateStore + HibernateStore + + + + + + + HibernateStore + org.picketlink.idm.impl.store.hibernate.HibernateIdentityStoreImpl + + + JBOSS_IDENTITY_MEMBERSHIP + JBOSS_IDENTITY_ROLE + + + + USER + + + PASSWORD + + + + + + + + + + + + + + + + + + PortalLDAPStore + org.picketlink.idm.impl.store.ldap.LDAPIdentityStoreImpl + + + JBOSS_IDENTITY_MEMBERSHIP + + + + USER + + + PASSWORD + + + + firstName + cn + text + false + false + false + + + lastName + sn + text + false + false + false + + + email + mail + text + false + false + false + true + + + + + + + + + + + + platform_type + + + JBOSS_IDENTITY_MEMBERSHIP + USER + + + JBOSS_IDENTITY_MEMBERSHIP + platform_type + + + + + + + + + + + + + + + + + + + + organization_type + + + JBOSS_IDENTITY_MEMBERSHIP + USER + + + JBOSS_IDENTITY_MEMBERSHIP + organization_type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-msad-config.xml b/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-msad-config.xml new file mode 100644 index 000000000..711c4e13d --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-msad-config.xml @@ -0,0 +1,424 @@ + + + + + + + idm_realm_sample-portal + DefaultPortalRepository + + USER + + + + + + + + + idm_realm + PortalRepository + + USER + + + + + + + + + + + + PortalRepository + org.picketlink.idm.impl.repository.FallbackIdentityStoreRepository + + HibernateStore + HibernateStore + + + PortalLDAPStore + + USER + platform_type + organization_type + + + + + + + + + DefaultPortalRepository + org.picketlink.idm.impl.repository.WrapperIdentityStoreRepository + + HibernateStore + HibernateStore + + + + + + + HibernateStore + org.picketlink.idm.impl.store.hibernate.HibernateIdentityStoreImpl + + + JBOSS_IDENTITY_MEMBERSHIP + JBOSS_IDENTITY_ROLE + + + + USER + + + PASSWORD + + + + + + + + + + + + + + + + + + PortalLDAPStore + org.picketlink.idm.impl.store.ldap.LDAPIdentityStoreImpl + + + JBOSS_IDENTITY_MEMBERSHIP + + + + USER + + + PASSWORD + + + + firstName + givenName + text + false + false + false + + + lastName + sn + text + false + false + false + + + email + mail + text + false + false + false + true + + + + + + + + + + + + + + + + platform_type + + + JBOSS_IDENTITY_MEMBERSHIP + USER + + + JBOSS_IDENTITY_MEMBERSHIP + platform_type + + + + + + description + description + text + false + false + false + + + + + + + + + + + + + + + organization_type + + + JBOSS_IDENTITY_MEMBERSHIP + USER + + + JBOSS_IDENTITY_MEMBERSHIP + organization_type + + + + + + description + description + text + false + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-msad-readonly-config.xml b/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-msad-readonly-config.xml new file mode 100644 index 000000000..e1f8e8545 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-msad-readonly-config.xml @@ -0,0 +1,378 @@ + + + + + + + idm_realm_sample-portal + DefaultPortalRepository + + USER + + + + + + + + + idm_realm + PortalRepository + + USER + + + + + + + + + + + + PortalRepository + org.picketlink.idm.impl.repository.FallbackIdentityStoreRepository + + HibernateStore + HibernateStore + + + PortalLDAPStore + + USER + msad_roles_type + + + + + + + + + + + + DefaultPortalRepository + org.picketlink.idm.impl.repository.WrapperIdentityStoreRepository + + HibernateStore + HibernateStore + + + + + + + HibernateStore + org.picketlink.idm.impl.store.hibernate.HibernateIdentityStoreImpl + + + JBOSS_IDENTITY_MEMBERSHIP + JBOSS_IDENTITY_ROLE + + + + USER + + + PASSWORD + + + + + + + + + + + + + + + + + + PortalLDAPStore + org.picketlink.idm.impl.store.ldap.LDAPIdentityStoreImpl + + + JBOSS_IDENTITY_MEMBERSHIP + + + + USER + + + PASSWORD + + + + firstName + givenName + text + false + false + false + + + lastName + sn + text + false + false + false + + + email + mail + text + false + false + false + true + + + + + + + + + + + + + + + + msad_roles_type + + + JBOSS_IDENTITY_MEMBERSHIP + USER + + + JBOSS_IDENTITY_MEMBERSHIP + msad_roles_type + + + + + + label + cn + text + false + false + true + + + description + description + text + false + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-openldap-acme-config.xml b/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-openldap-acme-config.xml new file mode 100644 index 000000000..48eb1a1d4 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-openldap-acme-config.xml @@ -0,0 +1,434 @@ + + + + + + + idm_realm_sample-portal + DefaultPortalRepository + + USER + + + + + + + + + idm_realm + PortalRepository + + USER + + + + + + + + + + + + PortalRepository + org.picketlink.idm.impl.repository.FallbackIdentityStoreRepository + + HibernateStore + HibernateStore + + + PortalLDAPStore + + USER + acme_roles_type + acme_ou_type + + + + + + + + + + + + DefaultPortalRepository + org.picketlink.idm.impl.repository.WrapperIdentityStoreRepository + + HibernateStore + HibernateStore + + + + + + + HibernateStore + org.picketlink.idm.impl.store.hibernate.HibernateIdentityStoreImpl + + + JBOSS_IDENTITY_MEMBERSHIP + JBOSS_IDENTITY_ROLE + + + + USER + + + PASSWORD + + + + + + + + + + + + + + + + + + PortalLDAPStore + org.picketlink.idm.impl.store.ldap.LDAPIdentityStoreImpl + + + JBOSS_IDENTITY_MEMBERSHIP + + + + USER + + + PASSWORD + + + + firstName + cn + text + false + false + false + + + lastName + sn + text + false + false + false + + + email + mail + text + false + false + false + true + + + + + + + + + + + + acme_roles_type + + + JBOSS_IDENTITY_MEMBERSHIP + USER + + + JBOSS_IDENTITY_MEMBERSHIP + acme_roles_type + + + + + + label + cn + text + false + false + true + + + description + description + text + false + false + false + + + + + + + + + + + + + + + + + + + acme_ou_type + + + JBOSS_IDENTITY_MEMBERSHIP + USER + + + JBOSS_IDENTITY_MEMBERSHIP + acme_ou_type + + + + + + label + cn + text + false + false + true + + + description + description + text + false + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-openldap-config.xml b/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-openldap-config.xml new file mode 100644 index 000000000..bf08f8b5a --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/examples/picketlink-idm-openldap-config.xml @@ -0,0 +1,394 @@ + + + + + + + idm_realm_sample-portal + DefaultPortalRepository + + USER + + + + + + + + + idm_realm + PortalRepository + + USER + + + + + + + + + + + + PortalRepository + org.picketlink.idm.impl.repository.FallbackIdentityStoreRepository + + HibernateStore + HibernateStore + + + PortalLDAPStore + + USER + platform_type + organization_type + + + + + + + + + + DefaultPortalRepository + org.picketlink.idm.impl.repository.WrapperIdentityStoreRepository + + HibernateStore + HibernateStore + + + + + + + HibernateStore + org.picketlink.idm.impl.store.hibernate.HibernateIdentityStoreImpl + + + JBOSS_IDENTITY_MEMBERSHIP + JBOSS_IDENTITY_ROLE + + + + USER + + + PASSWORD + + + + + + + + + + + + + + + + + + PortalLDAPStore + org.picketlink.idm.impl.store.ldap.LDAPIdentityStoreImpl + + + JBOSS_IDENTITY_MEMBERSHIP + + + + USER + + + PASSWORD + + + + firstName + cn + text + false + false + false + + + lastName + sn + text + false + false + false + + + email + mail + text + false + false + false + true + + + + + + + + + + + + platform_type + + + JBOSS_IDENTITY_MEMBERSHIP + USER + + + JBOSS_IDENTITY_MEMBERSHIP + platform_type + + + + + + + + + + + + + + + + + + + + + organization_type + + + JBOSS_IDENTITY_MEMBERSHIP + USER + + + JBOSS_IDENTITY_MEMBERSHIP + organization_type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/infinispan-cluster.xml b/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/infinispan-cluster.xml new file mode 100644 index 000000000..d3c6535ec --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/infinispan-cluster.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/infinispan.xml b/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/infinispan.xml new file mode 100644 index 000000000..c69da7973 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/infinispan.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/picketlink-idm-config.xml b/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/picketlink-idm-config.xml new file mode 100644 index 000000000..d8c778e25 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/conf/organization/picketlink-idm/picketlink-idm-config.xml @@ -0,0 +1,127 @@ + + + + + + + idm_realm + DefaultPortalRepository + + USER + + + + + + + + + + + + DefaultPortalRepository + org.picketlink.idm.impl.repository.WrapperIdentityStoreRepository + + HibernateStore + HibernateStore + + + + + + + HibernateStore + org.picketlink.idm.impl.store.hibernate.HibernateIdentityStoreImpl + + + JBOSS_IDENTITY_MEMBERSHIP + JBOSS_IDENTITY_ROLE + + + + USER + + + PASSWORD + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/portal/web/src/test/resources/WEB-INF/conf/portal/portal/classic/navigation.xml b/portal/web/src/test/resources/WEB-INF/conf/portal/portal/classic/navigation.xml new file mode 100644 index 000000000..4a20ac524 --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/conf/portal/portal/classic/navigation.xml @@ -0,0 +1,20 @@ + + + + + page1 + portal::classic::page1 + + + page2 + portal::classic::page2 + + + page3 + portal::classic::page3 + + + diff --git a/portal/web/src/test/resources/WEB-INF/conf/portal/portal/classic/pages.xml b/portal/web/src/test/resources/WEB-INF/conf/portal/portal/classic/pages.xml new file mode 100644 index 000000000..b677a720c --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/conf/portal/portal/classic/pages.xml @@ -0,0 +1,91 @@ + + + + + page1 + Everyone + *:/platform/administrators + + 1 + + + portal + Portlet1 + + Everyone + false + false + false + + + + + page2 + Everyone + *:/platform/administrators + + 1 + + + portal + Portlet1 + + Everyone + false + false + false + + + + portal + Portlet2 + + Everyone + false + false + false + + + + + page3 + Everyone + *:/platform/administrators + + 1 + + + portal + Portlet1 + + Everyone + false + false + false + + + + portal + Portlet2 + + Everyone + false + false + false + + + + portal + Portlet3 + + Everyone + false + false + false + + + + diff --git a/portal/web/src/test/resources/WEB-INF/conf/portal/portal/classic/portal.xml b/portal/web/src/test/resources/WEB-INF/conf/portal/portal/classic/portal.xml new file mode 100644 index 000000000..d7276afcd --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/conf/portal/portal/classic/portal.xml @@ -0,0 +1,8 @@ + + + test + en + diff --git a/portal/web/src/test/resources/WEB-INF/conf/portal/portal/sharedlayout.xml b/portal/web/src/test/resources/WEB-INF/conf/portal/portal/sharedlayout.xml new file mode 100644 index 000000000..d0bf40b2e --- /dev/null +++ b/portal/web/src/test/resources/WEB-INF/conf/portal/portal/sharedlayout.xml @@ -0,0 +1,6 @@ + + + \ No newline at end of file diff --git a/portal/web/src/test/resources/web.xml b/portal/web/src/test/resources/web.xml index f19d50010..7be8fa1fe 100644 --- a/portal/web/src/test/resources/web.xml +++ b/portal/web/src/test/resources/web.xml @@ -72,4 +72,29 @@ /assets/* + + + + user authentication + /dologin + + + users + + + NONE + + + + users + + + FORM + gatein-domain + + /login + /login + + + \ No newline at end of file