diff --git a/Jenkinsfile b/Jenkinsfile index 1c6990e..2fa1642 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -60,7 +60,7 @@ pipeline { sh '(cd demo/simple ; bats tests ) 2>&1 | tee -a debug ; test ${PIPESTATUS[0]} -eq 0' // sh '(cd demo/shibboleth ; bats tests ) 2>&1 | tee -a debug ; test ${PIPESTATUS[0]} -eq 0' - sh '(cd demo/postgresql ; bats tests ) 2>&1 | tee -a debug ; test ${PIPESTATUS[0]} -eq 0' + // sh '(cd demo/postgresql ; bats tests ) 2>&1 | tee -a debug ; test ${PIPESTATUS[0]} -eq 0' sh '(cd demo/complex ; bats tests ) 2>&1 | tee -a debug ; test ${PIPESTATUS[0]} -eq 0' } catch (error) { def error_details = readFile('./debug') diff --git a/demo/complex/directory/container_files/seed-data/users.ldif b/demo/complex/directory/container_files/seed-data/users.ldif index 5381f7d..09c34da 100644 --- a/demo/complex/directory/container_files/seed-data/users.ldif +++ b/demo/complex/directory/container_files/seed-data/users.ldif @@ -17,4 +17,14 @@ objectClass: top objectClass: organizationalUnit ou: Courses +dn: ou=midpoint,ou=Groups,dc=internet2,dc=edu +objectClass: top +objectClass: organizationalUnit +ou: midpoint + +dn: ou=Generic,ou=Groups,dc=internet2,dc=edu +objectClass: top +objectClass: organizationalUnit +ou: Generic + diff --git a/demo/complex/grouper_data/container_files/seed-data/demo.gsh b/demo/complex/grouper_data/container_files/seed-data/demo.gsh index e584add..0d13760 100644 --- a/demo/complex/grouper_data/container_files/seed-data/demo.gsh +++ b/demo/complex/grouper_data/container_files/seed-data/demo.gsh @@ -65,7 +65,7 @@ attributeAssign = group.getAttributeDelegate().retrieveAssignment(null, LoaderLd attributeAssign.getAttributeValueDelegate().assignValue(LoaderLdapUtils.grouperLoaderLdapQuartzCronName(), "0 * * * * ?"); attributeAssign.getAttributeValueDelegate().assignValue(LoaderLdapUtils.grouperLoaderLdapTypeName(), "LDAP_SIMPLE"); attributeAssign.getAttributeValueDelegate().assignValue(LoaderLdapUtils.grouperLoaderLdapFilterName(), "(cn=sysadmingroup)"); -attributeAssign.getAttributeValueDelegate().assignValue(LoaderLdapUtils.grouperLoaderLdapSearchDnName(), "ou=Groups"); +attributeAssign.getAttributeValueDelegate().assignValue(LoaderLdapUtils.grouperLoaderLdapSearchDnName(), "ou=midpoint,ou=Groups"); attributeAssign.getAttributeValueDelegate().assignValue(LoaderLdapUtils.grouperLoaderLdapServerIdName(), "demo"); attributeAssign.getAttributeValueDelegate().assignValue(LoaderLdapUtils.grouperLoaderLdapSourceIdName(), "ldap"); attributeAssign.getAttributeValueDelegate().assignValue(LoaderLdapUtils.grouperLoaderLdapSubjectExpressionName(), '${loaderLdapElUtils.convertDnToSpecificValue(subjectId)}'); diff --git a/demo/complex/midpoint-objects/objectTemplates/template-role-affiliation.xml b/demo/complex/midpoint-objects/objectTemplates/template-org-affiliation.xml similarity index 90% rename from demo/complex/midpoint-objects/objectTemplates/template-role-affiliation.xml rename to demo/complex/midpoint-objects/objectTemplates/template-org-affiliation.xml index 3a9c726..00abb98 100644 --- a/demo/complex/midpoint-objects/objectTemplates/template-role-affiliation.xml +++ b/demo/complex/midpoint-objects/objectTemplates/template-org-affiliation.xml @@ -1,7 +1,7 @@ - template-role-affiliation + template-org-affiliation strong @@ -14,4 +14,4 @@ assignment - \ No newline at end of file + diff --git a/demo/complex/midpoint-objects/objectTemplates/template-org-group.xml b/demo/complex/midpoint-objects/objectTemplates/template-org-generic-group.xml similarity index 87% rename from demo/complex/midpoint-objects/objectTemplates/template-org-group.xml rename to demo/complex/midpoint-objects/objectTemplates/template-org-generic-group.xml index 0cd047f..6e9b462 100644 --- a/demo/complex/midpoint-objects/objectTemplates/template-org-group.xml +++ b/demo/complex/midpoint-objects/objectTemplates/template-org-generic-group.xml @@ -1,13 +1,13 @@ - template-org-group + template-org-generic-group strong RoleType - 48e231be-8474-4ed0-a85e-6acf4c5e8d52 + 48e231be-8474-4ed0-a85e-6acf4c5e8d52 diff --git a/demo/complex/midpoint-objects/objectTemplates/template-role-generic-group.xml b/demo/complex/midpoint-objects/objectTemplates/template-role-midpoint-group.xml similarity index 83% rename from demo/complex/midpoint-objects/objectTemplates/template-role-generic-group.xml rename to demo/complex/midpoint-objects/objectTemplates/template-role-midpoint-group.xml index 1205f6d..62296e9 100644 --- a/demo/complex/midpoint-objects/objectTemplates/template-role-generic-group.xml +++ b/demo/complex/midpoint-objects/objectTemplates/template-role-midpoint-group.xml @@ -1,17 +1,17 @@ - template-role-generic-group + template-role-midpoint-group strong RoleType - c691e15a-f30b-4e15-8445-532db07ceeeb + c691e15a-f30b-4e15-8445-532db07ceeeb assignment - \ No newline at end of file + diff --git a/demo/complex/midpoint-objects/objectTemplates/template-user.xml b/demo/complex/midpoint-objects/objectTemplates/template-user.xml index 455ccc0..288bd24 100644 --- a/demo/complex/midpoint-objects/objectTemplates/template-user.xml +++ b/demo/complex/midpoint-objects/objectTemplates/template-user.xml @@ -4,7 +4,7 @@ strong - extension/grouper_group + extension/grouperGroup @@ -15,14 +15,14 @@ - group + generic-group true @@ -33,7 +33,7 @@ @@ -43,7 +43,7 @@ subtype - group + generic-group @@ -55,7 +55,7 @@ diff --git a/demo/complex/midpoint-objects/orgs/org-affiliations.xml b/demo/complex/midpoint-objects/orgs/org-affiliations.xml new file mode 100644 index 0000000..618f9ee --- /dev/null +++ b/demo/complex/midpoint-objects/orgs/org-affiliations.xml @@ -0,0 +1,6 @@ + + + affiliations + Affiliations + diff --git a/demo/complex/midpoint-objects/orgs/org-groups.xml b/demo/complex/midpoint-objects/orgs/org-generic-groups.xml similarity index 65% rename from demo/complex/midpoint-objects/orgs/org-groups.xml rename to demo/complex/midpoint-objects/orgs/org-generic-groups.xml index 4998a2f..fa39bbc 100644 --- a/demo/complex/midpoint-objects/orgs/org-groups.xml +++ b/demo/complex/midpoint-objects/orgs/org-generic-groups.xml @@ -1,6 +1,6 @@ - groups - Groups + generic-groups + Generic groups diff --git a/demo/complex/midpoint-objects/orgs/org-mailing-lists.xml b/demo/complex/midpoint-objects/orgs/org-mailing-lists.xml new file mode 100644 index 0000000..136c3ee --- /dev/null +++ b/demo/complex/midpoint-objects/orgs/org-mailing-lists.xml @@ -0,0 +1,6 @@ + + + mailing-lists + Mailing lists + diff --git a/demo/complex/midpoint-objects/resources/ldap-main.xml b/demo/complex/midpoint-objects/resources/ldap-main.xml index f826cc7..8277067 100644 --- a/demo/complex/midpoint-objects/resources/ldap-main.xml +++ b/demo/complex/midpoint-objects/resources/ldap-main.xml @@ -180,22 +180,20 @@ ri:eduPersonAffiliation + + strong + + extension/rawAffiliation + + false - - ri:eduPersonEntitlement - false - - - extension/grouper_group - - - false ri:group entitlement course-group + midpoint-group generic-group objectToSubject ri:uniqueMember @@ -259,6 +257,45 @@ + + entitlement + midpoint-group + LDAP Group + ri:groupOfUniqueNames + + ri:uniqueMember + mr:distinguishedName + minimal + + + ri:dn + mr:stringIgnoreCase + + strong + true + + identifier + + + + + + + + ri:cn + mr:stringIgnoreCase + + weak + + identifier + + + + entitlement generic-group @@ -281,7 +318,7 @@ @@ -393,20 +430,73 @@ unmatched + + midpoint-group sync + ri:groupOfUniqueNames + entitlement + midpoint-group + RoleType + true + + + + + + + identifier + + $shadow/attributes/ri:cn + + + + subtype + midpoint-group + + + + + linked + true + + + deleted + true + + http://midpoint.evolveum.com/xml/ns/public/model/action-3#unlink + + + + unlinked + true + + http://midpoint.evolveum.com/xml/ns/public/model/action-3#link + + + + unmatched + + generic-group sync ri:groupOfUniqueNames entitlement generic-group - RoleType + OrgType true diff --git a/demo/complex/midpoint-objects/resources/resource-grouper.xml b/demo/complex/midpoint-objects/resources/resource-grouper.xml index ca43a21..186e929 100644 --- a/demo/complex/midpoint-objects/resources/resource-grouper.xml +++ b/demo/complex/midpoint-objects/resources/resource-grouper.xml @@ -110,7 +110,7 @@ strong - extension/grouper_group + extension/grouperGroup @@ -131,7 +131,7 @@ strong - group + generic-group subtype diff --git a/demo/complex/midpoint-objects/resources/scriptedsql-sis-courses.xml b/demo/complex/midpoint-objects/resources/scriptedsql-sis-courses.xml index 6b5f84b..7351c7a 100644 --- a/demo/complex/midpoint-objects/resources/scriptedsql-sis-courses.xml +++ b/demo/complex/midpoint-objects/resources/scriptedsql-sis-courses.xml @@ -29,9 +29,9 @@ GROOVY - /opt/midpoint/var/res/sis/SearchScript.groovy - /opt/midpoint/var/res/sis/TestScript.groovy - /opt/midpoint/var/res/sis/SchemaScript.groovy + /opt/midpoint/var/res/sis-courses/SearchScript.groovy + /opt/midpoint/var/res/sis-courses/TestScript.groovy + /opt/midpoint/var/res/sis-courses/SchemaScript.groovy true diff --git a/demo/complex/midpoint-objects/resources/scriptedsql-sis-persons.xml b/demo/complex/midpoint-objects/resources/scriptedsql-sis-persons.xml index 568074d..673f6d2 100644 --- a/demo/complex/midpoint-objects/resources/scriptedsql-sis-persons.xml +++ b/demo/complex/midpoint-objects/resources/scriptedsql-sis-persons.xml @@ -246,85 +246,9 @@ ri:affiliation strong - - - RoleType - - - name - - - - - - true - - - - - - - name - - - - - - - - displayName - - - - - - - - identifier - - - - - affiliation - - - subtype - - - - - affiliation - - - - assignment - - - - - - + extension/rawAffiliation + diff --git a/demo/complex/midpoint-objects/roles/metarole-affiliation.xml b/demo/complex/midpoint-objects/roles/metarole-affiliation.xml index be64d72..cdfa819 100644 --- a/demo/complex/midpoint-objects/roles/metarole-affiliation.xml +++ b/demo/complex/midpoint-objects/roles/metarole-affiliation.xml @@ -9,21 +9,5 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" oid="fecae27b-d1d3-40ae-95fa-8f7e44e2ee70"> metarole-affiliation - - - - - ri:eduPersonAffiliation - - strong - - - - - - - 2 - + diff --git a/demo/complex/midpoint-objects/roles/metarole-group.xml b/demo/complex/midpoint-objects/roles/metarole-grouper-group.xml similarity index 95% rename from demo/complex/midpoint-objects/roles/metarole-group.xml rename to demo/complex/midpoint-objects/roles/metarole-grouper-group.xml index bdf7113..df08f51 100644 --- a/demo/complex/midpoint-objects/roles/metarole-group.xml +++ b/demo/complex/midpoint-objects/roles/metarole-grouper-group.xml @@ -8,7 +8,7 @@ xmlns:t="http://prism.evolveum.com/xml/ns/public/types-3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" oid="48e231be-8474-4ed0-a85e-6acf4c5e8d52"> - metarole-group + metarole-grouper-group diff --git a/demo/complex/midpoint-objects/roles/metarole-generic-group.xml b/demo/complex/midpoint-objects/roles/metarole-midpoint-group.xml similarity index 92% rename from demo/complex/midpoint-objects/roles/metarole-generic-group.xml rename to demo/complex/midpoint-objects/roles/metarole-midpoint-group.xml index f0e93c5..a2a2c9a 100644 --- a/demo/complex/midpoint-objects/roles/metarole-generic-group.xml +++ b/demo/complex/midpoint-objects/roles/metarole-midpoint-group.xml @@ -8,12 +8,12 @@ xmlns:t="http://prism.evolveum.com/xml/ns/public/types-3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" oid="c691e15a-f30b-4e15-8445-532db07ceeeb"> - metarole-generic-group + metarole-midpoint-group entitlement - generic-group + midpoint-group @@ -26,7 +26,7 @@ entitlement - generic-group + midpoint-group diff --git a/demo/complex/midpoint-objects/roles/role-grouper-sysadmin.xml b/demo/complex/midpoint-objects/roles/role-grouper-sysadmin.xml index 5b559f8..cb81a23 100644 --- a/demo/complex/midpoint-objects/roles/role-grouper-sysadmin.xml +++ b/demo/complex/midpoint-objects/roles/role-grouper-sysadmin.xml @@ -10,8 +10,8 @@ oid="d48ec05b-fffd-4262-acd3-d9ff63365b62"> role-grouper-sysadmin - + - generic-group + midpoint-group sysadmingroup diff --git a/demo/complex/midpoint-objects/systemConfigurations/SystemConfiguration.xml b/demo/complex/midpoint-objects/systemConfigurations/SystemConfiguration.xml index 3c162e1..eb5f90c 100644 --- a/demo/complex/midpoint-objects/systemConfigurations/SystemConfiguration.xml +++ b/demo/complex/midpoint-objects/systemConfigurations/SystemConfiguration.xml @@ -91,7 +91,7 @@ - RoleType + OrgType affiliation @@ -107,12 +107,12 @@ OrgType - group + generic-group RoleType - generic-group + midpoint-group diff --git a/demo/complex/midpoint_server/container_files/mp-home/res/sis/SchemaScript.groovy b/demo/complex/midpoint_server/container_files/mp-home/res/sis-courses/SchemaScript.groovy similarity index 100% rename from demo/complex/midpoint_server/container_files/mp-home/res/sis/SchemaScript.groovy rename to demo/complex/midpoint_server/container_files/mp-home/res/sis-courses/SchemaScript.groovy diff --git a/demo/complex/midpoint_server/container_files/mp-home/res/sis/SearchScript.groovy b/demo/complex/midpoint_server/container_files/mp-home/res/sis-courses/SearchScript.groovy similarity index 100% rename from demo/complex/midpoint_server/container_files/mp-home/res/sis/SearchScript.groovy rename to demo/complex/midpoint_server/container_files/mp-home/res/sis-courses/SearchScript.groovy diff --git a/demo/complex/midpoint_server/container_files/mp-home/res/sis/TestScript.groovy b/demo/complex/midpoint_server/container_files/mp-home/res/sis-courses/TestScript.groovy similarity index 100% rename from demo/complex/midpoint_server/container_files/mp-home/res/sis/TestScript.groovy rename to demo/complex/midpoint_server/container_files/mp-home/res/sis-courses/TestScript.groovy diff --git a/demo/complex/midpoint_server/container_files/mp-home/schema/user-schema.xsd b/demo/complex/midpoint_server/container_files/mp-home/schema/user-schema.xsd index 329534a..00d479b 100644 --- a/demo/complex/midpoint_server/container_files/mp-home/schema/user-schema.xsd +++ b/demo/complex/midpoint_server/container_files/mp-home/schema/user-schema.xsd @@ -14,7 +14,8 @@ - + + diff --git a/demo/complex/upload-import-sis-persons.sh b/demo/complex/upload-import-sis-persons.sh new file mode 100755 index 0000000..4e0d56d --- /dev/null +++ b/demo/complex/upload-import-sis-persons.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +function upload () { + local filename=$1 + local regex="midpoint-objects.*/(.*)/(.*)" + if [[ $filename =~ $regex ]] + then + type="${BASH_REMATCH[1]}" + oid=`cat $filename | sed -n 's:.*oid=\"\([A-Za-z0-9\-]*\)\".*:\1:p' | sed -n '1 p'` + echo "Uploading $filename ($type, $oid)" + curl -k --user administrator:5ecr3t -H "Content-Type: application/xml" -X PUT "https://localhost:8443/midpoint/ws/rest/$type/$oid?options=overwrite&options=raw" --data-binary @$filename + else + echo "Skipping $filename" + fi +} + +upload midpoint-objects-manual/tasks/task-import-sis-persons.xml