From 8ac1695a48faeccab74f622dbbda7694b379e96c Mon Sep 17 00:00:00 2001
From: gary_williams <gary_williams@localhost>
Date: Wed, 03 Dec 2008 16:06:08 +0000
Subject: [PATCH] Tests for Solaris and RFC 4876 Schema Elements
---
opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/ldifs/rfc2247_2.ldif | 6
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/dynamic/schema_dynamic_tests.xml | 397 ++++
opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/solaris/rfc4876.ldif | 167 ++
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/solaris/schema_solaris.xml | 119 +
opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/ldifs/rfc2377.ldif | 18
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/schema_setup.xml | 155
opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/ldifs/rfc2247_3.ldif | 2
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/schema_cleanup.xml | 86
/dev/null | 1039 ------------
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/solaris/schema_solaris_tests.xml | 140 +
opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/ldifs/rfc2247_4.ldif | 2
opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/ldifs/rfc2247_1.ldif | 6
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/rfc/schema_rfc_tests.xml | 1990 ++++++++++++++++++++++++
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/schema.xml | 121 +
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/dynamic/schema_dynamic.xml | 121 +
opendj-sdk/opends/tests/staf-tests/shared/functions/utils.xml | 40
opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/solaris/solaris.ldif | 180 ++
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/rfc/schema_rfc.xml | 177 ++
18 files changed, 3,535 insertions(+), 1,231 deletions(-)
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/ldifs/rfc2247_1.ldif b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/ldifs/rfc2247_1.ldif
index d824c1a..2a303ff 100644
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/ldifs/rfc2247_1.ldif
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/ldifs/rfc2247_1.ldif
@@ -23,19 +23,19 @@
# Copyright 2006-2008 Sun Microsystems, Inc.
#
-dn: dc=rfc-2247-tests,dc=example,dc=com
+dn: dc=rfc-2247-tests,o=rfc tests,dc=example,dc=com
dc: rfc-2247-tests
o: Crucial RFC Tests
objectclass: top
objectclass: dcObject
objectclass: organization
-dn: ou=People,dc=rfc-2247-tests,dc=example,dc=com
+dn: ou=People,dc=rfc-2247-tests,o=rfc tests,dc=example,dc=com
ou: People
objectclass: top
objectclass: organizationalunit
-dn: uid=nmiller, ou=People,dc=rfc-2247-tests,dc=example,dc=com
+dn: uid=nmiller, ou=People,dc=rfc-2247-tests,o=rfc tests,dc=example,dc=com
cn: Nate Miller
sn: Miller
givenname: Nate
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/ldifs/rfc2247_2.ldif b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/ldifs/rfc2247_2.ldif
index fc4da3c..4e75d9a 100644
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/ldifs/rfc2247_2.ldif
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/ldifs/rfc2247_2.ldif
@@ -23,17 +23,17 @@
# Copyright 2006-2008 Sun Microsystems, Inc.
#
-dn: dc=rfc-2247-tests-2,dc=example,dc=com
+dn: dc=rfc-2247-tests-2,o=rfc tests,dc=example,dc=com
dc: rfc-2247-tests-2
objectclass: top
objectclass: domain
-dn: ou=People,dc=rfc-2247-tests-2,dc=example,dc=com
+dn: ou=People,dc=rfc-2247-tests-2,o=rfc tests,dc=example,dc=com
ou: People
objectclass: top
objectclass: organizationalunit
-dn: uid=nmiller, ou=People,dc=rfc-2247-tests-2,dc=example,dc=com
+dn: uid=nmiller, ou=People,dc=rfc-2247-tests-2,o=rfc tests,dc=example,dc=com
cn: Nate Miller
sn: Miller
givenname: Nate
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/ldifs/rfc2247_3.ldif b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/ldifs/rfc2247_3.ldif
index 11f1bd0..c07647f 100644
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/ldifs/rfc2247_3.ldif
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/ldifs/rfc2247_3.ldif
@@ -23,7 +23,7 @@
# Copyright 2006-2008 Sun Microsystems, Inc.
#
-dn: dc=rfc-2247-tests-3,dc=example,dc=com
+dn: dc=rfc-2247-tests-3,o=rfc tests,dc=example,dc=com
dc: rfc-2247-tests-3
o: Crucial RFC Tests
objectclass: top
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/ldifs/rfc2247_4.ldif b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/ldifs/rfc2247_4.ldif
index fb18917..9b47c11 100644
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/ldifs/rfc2247_4.ldif
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/ldifs/rfc2247_4.ldif
@@ -23,7 +23,7 @@
# Copyright 2006-2008 Sun Microsystems, Inc.
#
-dn: dc=rfc-2247-tests-4,dc=example,dc=com
+dn: dc=rfc-2247-tests-4,o=rfc tests,dc=example,dc=com
dc: rfc-2247-tests-4
objectclass: top
objectclass: dcObject
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/ldifs/rfc2377.ldif b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/ldifs/rfc2377.ldif
index 3e6da8c..0fe6a21 100644
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/ldifs/rfc2377.ldif
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/ldifs/rfc2377.ldif
@@ -23,36 +23,36 @@
# Copyright 2006-2008 Sun Microsystems, Inc.
#
-dn: dc=rfc-2377-tests,dc=example,dc=com
+dn: dc=rfc-2377-tests,o=rfc tests,dc=example,dc=com
dc: rfc-2377-tests
o: Crucial RFC Tests
objectclass: top
objectclass: dcObject
objectclass: organization
-dn: dc=Europe, dc=rfc-2377-tests,dc=example,dc=com
+dn: dc=Europe, dc=rfc-2377-tests,o=rfc tests,dc=example,dc=com
dc: Europe
o: Europe Crucial RFC Tests
objectclass: top
objectclass: dcObject
objectclass: organization
-dn: dc=North America, dc=rfc-2377-tests,dc=example,dc=com
+dn: dc=North America, dc=rfc-2377-tests,o=rfc tests,dc=example,dc=com
dc: North America
objectclass: top
objectclass: domain
-dn: ou=People,dc=Europe,dc=rfc-2377-tests,dc=example,dc=com
+dn: ou=People,dc=Europe,dc=rfc-2377-tests,o=rfc tests,dc=example,dc=com
ou: People
objectclass: top
objectclass: organizationalunit
-dn: ou=People,dc=North America,dc=rfc-2377-tests,dc=example,dc=com
+dn: ou=People,dc=North America,dc=rfc-2377-tests,o=rfc tests,dc=example,dc=com
ou: People
objectclass: top
objectclass: organizationalunit
-dn: uid=nmiller, ou=People,dc=Europe,dc=rfc-2377-tests,dc=example,dc=com
+dn: uid=nmiller, ou=People,dc=Europe,dc=rfc-2377-tests,o=rfc tests,dc=example,dc=com
cn: Nate Miller
sn: Miller
givenname: Nate
@@ -70,7 +70,7 @@
roomnumber: 4135
userpassword: gosling
-dn: uid=lmiller, ou=People,dc=North America,dc=rfc-2377-tests,dc=example,dc=com
+dn: uid=lmiller, ou=People,dc=North America,dc=rfc-2377-tests,o=rfc tests,dc=example,dc=com
cn: Late Miller
sn: Miller
givenname: Late
@@ -88,7 +88,7 @@
roomnumber: 4135
userpassword: gosling
-dn: cn=Anton Miller, ou=People,dc=Europe,dc=rfc-2377-tests,dc=example,dc=com
+dn: cn=Anton Miller, ou=People,dc=Europe,dc=rfc-2377-tests,o=rfc tests,dc=example,dc=com
cn: Anton Miller
sn: Miller
givenname: Anton
@@ -106,7 +106,7 @@
roomnumber: 4135
userpassword: gosling
-dn: cn=Art Miller, ou=People,dc=North America,dc=rfc-2377-tests,dc=example,dc=com
+dn: cn=Art Miller, ou=People,dc=North America,dc=rfc-2377-tests,o=rfc tests,dc=example,dc=com
cn: Art Miller
sn: Miller
givenname: Art
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/solaris/rfc4876.ldif b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/solaris/rfc4876.ldif
new file mode 100644
index 0000000..2518df2
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/solaris/rfc4876.ldif
@@ -0,0 +1,167 @@
+#
+# Container for Solaris Schema (RFC 4876) Tests
+#
+dn: o=rfc4876, o=Solaris Schema Tests,dc=example,dc=com
+objectClass: dcObject
+objectClass: organization
+objectClass: nisDomainObject
+dc: rfc4876
+o: rfc4876
+description: DIT for Solaris Schema Tests (RFC 4876,Solaris)
+nisDomain: rfc4876
+
+#
+# Container for passwd entries. See solaris.schema and nis.schema for
+# additional containers we could create here.
+#
+dn: ou=People,o=rfc4876, o=Solaris Schema Tests,dc=example,dc=com
+objectClass: organizationalUnit
+ou: People
+
+#
+# Container for group entries. See solaris.schema and nis.schema for
+# additional containers we could create here.
+#
+dn: ou=Group,o=rfc4876, o=Solaris Schema Tests,dc=example,dc=com
+objectClass: organizationalUnit
+ou: Group
+
+dn: ou=profile,o=rfc4876, o=Solaris Schema Tests,dc=example,dc=com
+objectClass: organizationalUnit
+ou: profile
+description: Profile
+
+dn: cn=example,ou=profile,o=rfc4876, o=Solaris Schema Tests,dc=example,dc=com
+objectClass: top
+objectClass: DUAConfigProfile
+cn: example
+defaultServerList: ldap1.example.com ldap2.example.com 192.168.169.170 ldap1.mycorp.com ldap2:1389 [1080::8:800:200C:417A]:5912
+preferredServerList: ldap3.example.com ldap4.example.com 192.168.169.170 ldap2:1389 [1080::8:800:200C:417A]:389
+defaultSearchBase: o=Solaris Schema Tests, dc=example,dc=com
+defaultSearchScope: one
+authenticationMethod: tls:simple;sasl/DIGEST-MD5
+credentialLevel: proxy anonymous
+searchTimeLimit: 30
+bindTimeLimit: 2
+followReferrals: TRUE
+dereferenceAliases: FALSE
+profileTTL: 43200
+serviceSearchDescriptor: email:ou=people,ou=org1,? one;ou=contractor,?one; ref:cn=profile,dc=mycompany,dc=com
+serviceCredentialLevel: email:proxy anonymous
+serviceAuthenticationMethod: email:tls:simple;sasl/DIGEST-MD5
+objectclassMap: email:cn=employeeName
+attributeMap: email:mail=email
+attributeMap: email:cn=employeeName
+attributeMap: email:cn=firstName lastName
+
+
+#
+# LDAP Proxy Agents File
+#
+
+#
+# Base organizational unit for proxy agents.
+#
+dn: ou=LDAPauth,dc=example,dc=com
+objectClass: top
+objectClass: organizationalUnit
+ou: LDAPauth
+description: LDAP Proxy Agent Subtree.
+
+#
+# Proxy agent for solaris based machines.
+#
+dn: cn=solaris,ou=LDAPauth,dc=example,dc=com
+objectClass: top
+objectClass: person
+cn: solaris
+sn: Solaris Proxy Agent
+userPassword: SolarisRulz
+
+#
+# Proxy agent for OS X based machines. - UNUSED
+#
+dn: cn=mac,ou=LDAPauth,dc=example,dc=com
+objectClass: top
+objectClass: person
+cn: mac
+sn: mac
+cn: OS X Proxy Agent
+userPassword: MacAttac
+
+#
+# Proxy agent for Linux based machines. - UNUSED
+#
+dn: cn=linux,ou=LDAPauth,dc=example,dc=com
+objectClass: top
+objectClass: person
+cn: linux
+cn: Linux Proxy Agent
+sn: linux
+
+#
+# GroupOfNames entity used to gain read access to the
+# userPassword attribute in our DIT.
+#
+dn: cn=LDAPaccess,ou=LDAPauth,dc=example,dc=com
+objectClass: top
+objectClass: groupOfNames
+cn: LDAPaccess
+description: LDAP Proxy Agent Group
+member: cn=solaris,ou=LDAPauth,dc=example,dc=com
+member: cn=mac,ou=LDAPauth,dc=example,dc=com
+member: cn=linux,ou=LDAPauth,dc=example,dc=com
+
+
+dn: uid=user1,ou=People,o=rfc4876, o=Solaris Schema Tests,dc=example,dc=com
+objectClass: top
+objectClass: posixAccount
+objectClass: shadowAccount
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetOrgPerson
+uid: user1
+userpassword: password
+uidNumber: 1025
+gidNumber: 15
+gecos: user 1
+homeDirectory: /home/user1
+loginShell: /bin/bash
+cn: user 1
+givenName: user1
+sn: User1
+shadowlastchange: -1
+shadowmin: -1
+shadowmax: -1
+shadowwarning: -1
+shadowinactive: -1
+shadowexpire: -1
+shadowflag: -1
+description: User1
+
+dn: uid=user2,ou=People,o=rfc4876, o=Solaris Schema Tests,dc=example,dc=com
+objectClass: top
+objectClass: posixAccount
+objectClass: shadowAccount
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetOrgPerson
+uid: user2
+userPassword: password
+uidNumber: 1026
+gidNumber: 15
+gecos: user 2
+homeDirectory: /home/user2
+loginShell: /bin/bash
+cn: user 2
+givenName: user 2
+sn: User2
+shadowlastchange: -1
+shadowmin: -1
+shadowmax: -1
+shadowwarning: -1
+shadowinactive: -1
+shadowexpire: -1
+shadowflag: -1
+description: User2
+
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/solaris/solaris.ldif b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/solaris/solaris.ldif
new file mode 100644
index 0000000..dfbc40d
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/schema/solaris/solaris.ldif
@@ -0,0 +1,180 @@
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at
+# trunk/opends/resource/legal-notices/OpenDS.LICENSE
+# or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at
+# trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+# add the following below this CDDL HEADER, with the fields enclosed
+# by brackets "[]" replaced with your own identifying information:
+# Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright 2008 Sun Microsystems, Inc.
+#
+
+dn: o=Solaris schema tests,dc=example,dc=com
+o: Solaris schema tests
+objectclass: top
+objectclass: organization
+
+dn: o=Solaris, o=Solaris schema tests,dc=example,dc=com
+o: Solaris
+objectclass: top
+objectclass: organization
+
+dn: cn=nisMailAlias,o=Solaris, o=Solaris schema tests,dc=example,dc=com
+objectclass: top
+objectclass: person
+objectclass: nisMailAlias
+cn: nisMailAlias
+sn: nisMailAlias
+rfc822mailMember: nisMailAlias@sun.com
+
+dn: cn=nisNetId,o=Solaris, o=Solaris schema tests,dc=example,dc=com
+objectclass: nisNetId
+objectclass: person
+cn: nisNetId
+sn: nisNetId
+nisNetIdUser: testuser
+nisNetIdGroup: testgroup
+nisNetIdHost: ldap5.ldap.sun.com
+
+dn: SolarisProjectName=Schema Tests,o=Solaris, o=Solaris schema tests,dc=example,dc=com
+objectclass: SolarisProject
+SolarisProjectID: 42
+SolarisProjectName: Schema Tests
+memberUid: chibber
+memberUid: bignik!
+memberUid: *
+memberUid: !*
+memberGid: schema
+memberGid: sheffield!
+memberGid: *
+memberGid: !*
+description: Schema Tests Project
+SolarisProjectAttr: task.max-cpu-time process.max-file-descriptor
+
+dn: cn=SolarisAuditUser,o=Solaris, o=Solaris schema tests,dc=example,dc=com
+objectclass: person
+objectclass: SolarisAuditUser
+cn: SolarisAuditUser
+sn: SolarisAuditUser
+SolarisAuditAlways: *
+SolarisAuditNever: *
+
+dn: uid=SolarisUserAttr, o=Solaris, o=Solaris schema tests,dc=example,dc=com
+objectClass:posixAccount
+objectClass:shadowAccount
+objectClass:account
+objectclass:SolarisUserAttr
+cn:SolarisUserAttr
+description:Testing LDAP User to give RBAC
+gecos:Test User
+SolarisUserQualifier: qualified
+SolarisAttrReserved1: *
+SolarisAttrReserved2: *
+SolarisAttrKeyValue: type=role;profiles=Basic Solaris User
+loginShell:/usr/bin/ksh
+homeDirectory:/home/SolarisUserAttr
+uidNumber: 57
+gidNumber: 58
+
+dn: cn=SolarisAuthAttr, o=Solaris, o=Solaris schema tests,dc=example,dc=com
+objectclass: SolarisAuthAttr
+cn: SolarisAuthAttr
+SolarisAttrReserved1: *
+SolarisAttrReserved2: *
+SolarisAttrShortDesc: authtest
+SolarisAttrLongDesc: Special profile for auth testing
+SolarisAttrKeyValue: privs=none
+
+dn: cn=SolarisProfile, o=Solaris, o=Solaris schema tests,dc=example,dc=com
+objectclass: SolarisProfAttr
+objectclass: SolarisExecAttr
+cn: SolarisProfile
+SolarisAttrLongDesc: Special profile for testing
+SolarisAttrKeyValue: help=TestProfile.html
+SolarisKernelSecurityPolicy: solaris
+SolarisProfileType: act
+SolarisAttrReserved1: *
+SolarisAttrReserved2: *
+SolarisProfileId: TestAction;*;*;*;*
+
+dn: cn=SolarisNamingProfile, o=Solaris, o=Solaris schema tests,dc=example,dc=com
+objectclass: SolarisNamingProfile
+cn: SolarisNamingProfile
+SolarisDataSearchDN: "passwd:(ou=People,dc=ldap-test,dc=com)"
+SolarisDataSearchDN: "printers:(ou=Printers,dc=ldap-test,dc=com)"
+SolarisDataSearchDN: "group:(ou=Group,dc=ldap-test,dc=com)"
+SolarisDataSearchDN: "automount:(ou=Services,dc=ldap-test,dc=com)"
+SolarisLDAPServers: ldap3.ldap.sun.com ldap2.ldap.sun.com ldap1.ldap.sun.com
+SolarisSearchBaseDN: o=Solaris, o=Solaris schema tests,dc=example,dc=com
+SolarisBindDN: cn=proxyagent,o=Solaris, o=Solaris schema tests,dc=example,dc=com
+SolarisBindPassword: secret12
+SolarisAuthMethod: NS_LDAP_AUTH_SIMPLE
+SolarisTransportSecurity: NS_LDAP_SEC_NONE
+SolarisCertificatePath: NS_LDAP_CERT_PATH_NONE
+SolarisCertificatePassword: password
+SolarisSearchScope: NS_LDAP_SCOPE_ONELEVEL
+SolarisSearchTimeLimit: 30
+SolarisPreferredServer: ldap3.ldap.sun.com
+SolarisPreferredServerOnly: TRUE
+SolarisCacheTTL: 43200
+SolarisSearchReferral: NS_LDAP_FOLLOWREF
+SolarisBindTimeLimit: 180
+
+dn: cn=mailGroup,o=Solaris, o=Solaris schema tests,dc=example,dc=com
+objectclass: mailGroup
+mail: mailgroup@sun.com
+cn: mailGroup
+mgrpRFC822MailMember: uid=jim1234,o=sun,c=fr
+mgrpRFC822MailMember: uid=kippo2545,o=sun,c=fr
+mgrpRFC822MailMember: uid=macka5381,o=sun,c=fr
+mgrpRFC822MailMember: uid=hume0734o=sun,c=fr
+mgrpRFC822MailMember: uid=chappy,2578o=sun,c=fr
+
+#dn: printer-name=wombat07,o=Solaris, o=Solaris schema tests,dc=example,dc=com
+#objectclass: printerService
+#objectclass: printerAbstract
+#objectclass: sunPrinter
+#objectclass: top
+#printer-name: wombat07
+#printer-uri: wombat07
+#sun-printer-bsdaddr: printsvr.example.com,myprinter,Solaris
+#sun-printer-kvp: description=My Super Printer (PS)
+
+dn: cn=nisplusTimeZone,o=Solaris, o=Solaris schema tests,dc=example,dc=com
+objectclass: nisplusTimeZoneData
+cn: nisplusTimeZone
+nisplusTimeZone: GMT+1
+description: The NIS+ time zone
+
+dn: ou=ipTnet,o=Solaris, o=Solaris schema tests,dc=example,dc=com
+objectClass: top
+objectClass: organizationalunit
+ou: ipTnet
+
+dn: ipTnetTemplateName=cipso,ou=ipTnet,o=Solaris, o=Solaris schema tests,dc=example,dc=com
+objectClass:top
+objectClass:ipTnetTemplate
+ipTnetTemplateName:cipso
+SolarisAttrKeyValue:host_type=cipso;doi=1;min_sl=ADMIN_LOW;max_sl=ADMIN_HIGH;
+
+dn: ipTnetNumber=0.0.0.0,o=Solaris, o=Solaris schema tests,dc=example,dc=com
+objectClass:top
+objectClass:ipTnetTemplate
+objectClass:ipTnetHost
+ipTnetNumber:0.0.0.0
+ipTnetTemplateName:internal
+
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/dynamic/schema_dynamic.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/dynamic/schema_dynamic.xml
new file mode 100644
index 0000000..27ee87e
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/dynamic/schema_dynamic.xml
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2008 Sun Microsystems, Inc.
+ ! -->
+<stax>
+ <defaultcall function="main_schema_dynamic"/>
+ <function name="main_schema_dynamic" scope="local">
+ <sequence>
+ <block name="'main_schema_dynamic'">
+ <try>
+ <sequence>
+ <script>
+ CurrentTestPath['group']='schema'
+ CurrentTestPath['suite']='dynamic'
+
+ __group=CurrentTestPath['group']
+ __groupdir='%s/testcases/%s' % (TESTS_DIR,__group)
+ </script>
+
+ <!--- Test Suite information
+ #@TestSuiteName Native schema test suite
+ #@TestSuitePurpose Verify that
+ #@TestSuiteID Suite
+ #@TestSuiteGroup Example
+ #@TestGroup Example
+ #@TestScript suite.xml
+ #@TestHTMLLink http://opends.dev.java.net/
+ -->
+ <call function="'testSuite_Preamble'"/>
+
+ <try>
+ <sequence>
+
+ <!-- List of Import of Test Functions -->
+ <script>
+ importList=[]
+ importList.append('schema_setup')
+ importList.append('dynamic/schema_dynamic_tests')
+ importList.append('schema_cleanup')
+ </script>
+
+ <!-- Import the files for this test suite -->
+ <iterate var="__import" in="importList">
+ <import machine="STAF_LOCAL_HOSTNAME"
+ file="'%s/%s.xml' % (__groupdir,__import)"/>
+ </iterate>
+
+ <!-- Test Suite Setup -->
+ <call function="'%s_setup' % __group"/>
+
+ <!-- List of Test Cases -->
+ <script>
+ testsList=[]
+ testsList.append('schema_dynamic_001')
+ testsList.append('schema_dynamic_002')
+ testsList.append('schema_dynamic_003')
+ testsList.append('schema_dynamic_004')
+ </script>
+
+ <!-- Execute the Tests -->
+ <iterate var="__test" in="testsList">
+ <sequence>
+ <call function="'%s' % (__test)" />
+ </sequence>
+ </iterate>
+
+ </sequence>
+ <catch exception="'STAFException.TestSuite.SetupException'">
+ <sequence>
+ <message log="1" level="'fatal'">
+ 'Setup of test suite failed.'
+ </message>
+ <rethrow/>
+ </sequence>
+ </catch>
+
+ <finally>
+ <message>'Test Cases Completed.'</message>
+ </finally>
+
+ </try>
+
+ </sequence>
+
+ <finally>
+ <sequence>
+ <!-- Test Suite Cleanup -->
+ <message>'Finally: Example Cleanup.'</message>
+ <call function="'%s_cleanup' % __group"/>
+ <call function="'testSuite_Postamble'"/>
+ </sequence>
+ </finally>
+
+ </try>
+ </block>
+ </sequence>
+ </function>
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/dynamic/schema_dynamic_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/dynamic/schema_dynamic_tests.xml
new file mode 100644
index 0000000..ceef8e0
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/dynamic/schema_dynamic_tests.xml
@@ -0,0 +1,397 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, exclude this CDDL HEADER in each
+ ! file and exclude the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying * information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2008 Sun Microsystems, Inc.
+ ! -->
+
+<stax>
+
+<!-- Test case: Update Schema via a file -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Dynamic Schema Tests
+ #@TestName Update via a file
+ #@TestIssue 367
+ #@TestPurpose To make sure the schema can be updated by a file.
+ #@TestPreamble none
+ #@TestStep Create a task that will cause the server to
+ read one or two files into the schema.
+ Then try adding a new entry that uses the
+ added schema.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+-->
+ <function name="schema_dynamic_001" scope="local">
+
+ <testcase name="getTestCaseName('Update via File')">
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Dynamic Schema: Update via File'
+ </message>
+
+ <script>
+ __baseDN='dc=dynamic-schema-tests,dc=example,%s' % server.suffix
+ </script>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'addSchemaTask' ,
+ 'functionMessage' : 'Add schema objects as a task.' ,
+ 'functionException' : 'Tasks.SchemaException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'taskID' : '6' ,
+ 'ldifFile' : '05-DynamicSchemaAdd.ldif' }
+ }
+ </call>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'addEntry' ,
+ 'functionMessage' : 'Add an entry that uses this new schema.' ,
+ 'functionException' : 'LDAP.AddException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/dynamic_schema1.ldif'
+ % remote.data }
+ }
+ </call>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'SearchObject' ,
+ 'functionMessage' : 'Search for the entry just added and return addschema1AT.' ,
+ 'functionException' : 'LDAP.SearchException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'dsBaseDN' : __baseDN ,
+ 'dsFilter' : 'objectclass=addschema1OC' ,
+ 'attributes' : 'addschema1AT' }
+ }
+ </call>
+
+
+ </sequence>
+ <catch exception="'STAXException.LDAP.AddException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPAdd failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <catch exception="'STAXException.LDAP.SearchException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPSearch failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <catch exception="'STAXException.Tasks.SchemaException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Tasks Schema failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+
+ </function>
+
+<!-- Test case: Update Schema Over Protocol: Add schema object-->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Dynamic Schema Tests
+ #@TestName Update Over Protocol: Add schema object
+ #@TestIssue 366
+ #@TestPurpose To verify the schema can be updated over protocol.
+ #@TestPreamble none
+ #@TestStep Update the schema over protocol adding
+ a new objectclass and attributes.
+ Then try adding a new entry that uses these
+ new attributes and objectclass.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+-->
+ <function name="schema_dynamic_002" scope="local">
+
+ <testcase name="getTestCaseName('Add Schema Object')">
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Update Over Protocol: Add Schema Object'
+ </message>
+
+ <script>
+ __baseDN='dc=dynamic-schema-tests-2,dc=example,%s' % server.suffix
+ </script>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'modifyEntry' ,
+ 'functionMessage' : 'Modify an entry that uses this new schema.' ,
+ 'functionException' : 'LDAP.ModifyException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeModified' : '%s/schema/ldifs/updateSchema.ldif'
+ % remote.data }
+ }
+ </call>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'addEntry' ,
+ 'functionMessage' : 'Add an entry that uses this new schema.' ,
+ 'functionException' : 'LDAP.AddException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/dynamic_schema2.ldif'
+ % remote.data }
+ }
+ </call>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'SearchObject' ,
+ 'functionMessage' : 'Search for the entry just added and return addschema2AT.' ,
+ 'functionException' : 'LDAP.SearchException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'dsBaseDN' : __baseDN ,
+ 'dsFilter' : 'objectclass=addschema2OC' ,
+ 'attributes' : 'addschema2AT' }
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException.LDAP.AddException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPAdd failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <catch exception="'STAXException.LDAP.ModifyException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPModify failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <catch exception="'STAXException.LDAP.SearchException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPSearch failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+
+ </function>
+
+<!-- Test case: Update Schema Over Protocol: Replace Schema Object -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Dynamic Schema Tests
+ #@TestName Update Over Protocol: Replace Schema Object
+ #@TestIssue 366
+ #@TestPurpose To verify attributes and objectclasses can be replaced over protocol.
+ #@TestPreamble none
+ #@TestStep Update the schema over protocol by replacing
+ an objectclass and attributes with new ones.
+ Then try adding a new entry that uses the replaced
+ attributes and objectclass, it should fail. Then try
+ adding an entry that uses the replacement objectclass and attributes.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+-->
+ <function name="schema_dynamic_003" scope="local">
+
+ <testcase name="getTestCaseName('Replace Schema Object')">
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Update Over Protocol: Replace Schema Object'
+ </message>
+
+ <script>
+ __baseDN='dc=dynamic-schema-tests-2,dc=example,%s' % server.suffix
+ </script>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'modifyEntry' ,
+ 'functionMessage' : 'Modify an entry that uses this new schema.' ,
+ 'functionException' : 'LDAP.ModifyException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeModified' : '%s/schema/ldifs/updateSchema2.ldif'
+ % remote.data }
+ }
+ </call>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'addEntry' ,
+ 'functionMessage' : 'Add an entry that uses this new schema.' ,
+ 'functionException' : 'LDAP.AddException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/dynamic_schema4.ldif'
+ % remote.data }
+ }
+ </call>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'SearchObject' ,
+ 'functionMessage' : 'Search for the entry just added and return addschema2AT.' ,
+ 'functionException' : 'LDAP.SearchException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'dsBaseDN' : __baseDN ,
+ 'dsFilter' : 'objectclass=addschema3OC' ,
+ 'attributes' : 'addschema3AT' }
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException.LDAP.AddException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPAdd failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <catch exception="'STAXException.LDAP.ModifyException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPModify failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <catch exception="'STAXException.LDAP.SearchException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPSearch failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test case: Update Schema Over Protocol: Remove Schema Object-->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Dynamic Schema Tests
+ #@TestName Update Over Protocol: Remove Schema Object
+ #@TestIssue 366
+ #@TestPurpose To verify attributes and objectclasses can be removed over protocol.
+ #@TestPreamble none
+ #@TestStep Update the schema over protocol by removing
+ an objectclass and attributes.
+ Then try adding a new entry that uses these
+ removed attributes and objectclass, it should fail.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+-->
+ <function name="schema_dynamic_004" scope="local">
+
+ <testcase name="getTestCaseName('Remove Schema Object')">
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Schema: Update Over Protocol: Remove Schema Object'
+ </message>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'modifyEntry' ,
+ 'functionMessage' : 'Modify an entry that uses this new schema.' ,
+ 'functionException' : 'LDAP.ModifyException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeModified' : '%s/schema/ldifs/updateSchema3.ldif'
+ % remote.data }
+ }
+ </call>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'addEntry' ,
+ 'functionMessage' : 'Add an entry that uses the schema just removed.' ,
+ 'functionException' : 'LDAP.AddException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/dynamic_schema3.ldif'
+ % remote.data,
+ 'expectedRC' : 65 }
+ }
+ </call>
+
+ </sequence>
+ <catch exception="'STAXException.LDAP.AddException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPAdd failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <catch exception="'STAXException.LDAP.ModifyException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPModify failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <catch exception="'STAXException.LDAP.SearchException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPSearch failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/rfc/schema_rfc.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/rfc/schema_rfc.xml
new file mode 100644
index 0000000..f229ce5
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/rfc/schema_rfc.xml
@@ -0,0 +1,177 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2008 Sun Microsystems, Inc.
+ ! -->
+<stax>
+ <defaultcall function="main_schema_rfc"/>
+ <function name="main_schema_rfc" scope="local">
+ <sequence>
+ <block name="'main_schema_rfc'">
+ <try>
+ <sequence>
+ <script>
+ CurrentTestPath['group']='schema'
+ CurrentTestPath['suite']='rfc'
+
+ __group=CurrentTestPath['group']
+ __groupdir='%s/testcases/%s' % (TESTS_DIR,__group)
+ </script>
+
+ <!--- Test Suite information
+ #@TestSuiteName Native schema test suite
+ #@TestSuitePurpose Verify that
+ #@TestSuiteID Suite
+ #@TestSuiteGroup Example
+ #@TestGroup Example
+ #@TestScript suite.xml
+ #@TestHTMLLink http://opends.dev.java.net/
+ -->
+ <call function="'testSuite_Preamble'"/>
+
+ <try>
+ <sequence>
+
+ <!-- List of Import of Test Functions -->
+ <script>
+ importList=[]
+ importList.append('schema_setup')
+ importList.append('rfc/schema_rfc_tests')
+ importList.append('schema_cleanup')
+ </script>
+
+ <!-- Import the files for this test suite -->
+ <iterate var="__import" in="importList">
+ <import machine="STAF_LOCAL_HOSTNAME"
+ file="'%s/%s.xml' % (__groupdir,__import)"/>
+ </iterate>
+
+ <!-- Test Suite Setup -->
+ <call function="'%s_setup' % __group"/>
+
+ <!-- Specific to rfc tests -->
+ <script>
+ __baseDN='o=rfc tests, dc=example,%s' % server.suffix
+
+ def parse_stax_result(result):
+
+ if result.__class__ is org.python.core.PyList:
+ _unwrapResult=result[1][0]
+
+ try:
+ _functionString=_unwrapResult[1]
+ except AttributeError:
+ _functionString='Unable to parse result.'
+ elif result.__class__ is org.python.core.PyString:
+ _functionString=STAXResult
+ else:
+ _functionString='Unable to parse result.'
+
+ return _functionString
+ </script>
+
+ <!-- List of Test Cases -->
+ <script>
+ testsList=[]
+ testsList.append('schema_rfc_2079')
+ testsList.append('schema_rfc_2247_1')
+ testsList.append('schema_rfc_2247_2')
+ testsList.append('schema_rfc_2247_3')
+ testsList.append('schema_rfc_2247_4')
+ testsList.append('schema_rfc_2247_5')
+ testsList.append('schema_rfc_2377')
+ testsList.append('schema_rfc_2798')
+ testsList.append('schema_rfc_3045_1')
+ testsList.append('schema_rfc_3045_2')
+ testsList.append('schema_rfc_4403_1')
+ testsList.append('schema_rfc_4403_2')
+ testsList.append('schema_rfc_4403_3')
+ testsList.append('schema_rfc_4403_4')
+ testsList.append('schema_rfc_4403_5')
+ testsList.append('schema_rfc_2307_1')
+ testsList.append('schema_rfc_2307_2')
+ testsList.append('schema_rfc_2307_3')
+ testsList.append('schema_rfc_2307_4')
+ testsList.append('schema_rfc_furseth')
+ testsList.append('schema_rfc_good_1')
+ testsList.append('schema_rfc_good_2')
+ testsList.append('schema_rfc_good_3')
+ testsList.append('schema_rfc_howard_1')
+ testsList.append('schema_rfc_howard_2')
+ testsList.append('schema_rfc_ldup_1')
+ testsList.append('schema_rfc_ldup_2')
+ testsList.append('schema_rfc_ldup_3')
+ testsList.append('schema_disable_schema_checking')
+ testsList.append('schema_enable_schema_checking')
+ testsList.append('schema_disable_syntax_checking')
+ testsList.append('schema_enable_syntax_checking')
+ testsList.append('schema_cosine_1')
+ testsList.append('schema_cosine_2')
+ testsList.append('schema_cosine_3')
+ testsList.append('schema_rfc_2739')
+ testsList.append('schema_rfc_2714_1')
+ testsList.append('schema_rfc_2714_2')
+ testsList.append('schema_rfc_2713')
+ </script>
+
+ <!-- Execute the Tests -->
+ <iterate var="__test" in="testsList">
+ <sequence>
+ <call function="'%s' % (__test)" />
+ </sequence>
+ </iterate>
+
+ </sequence>
+ <catch exception="'STAFException.TestSuite.SetupException'">
+ <sequence>
+ <message log="1" level="'fatal'">
+ 'Setup of test suite failed.'
+ </message>
+ <rethrow/>
+ </sequence>
+ </catch>
+
+ <finally>
+ <message>'Test Cases Completed.'</message>
+ </finally>
+
+ </try>
+
+ </sequence>
+
+ <finally>
+ <sequence>
+ <!-- Test Suite Cleanup -->
+ <message>'Finally: Example Cleanup.'</message>
+ <call function="'%s_cleanup' % __group"/>
+ <call function="'testSuite_Postamble'"/>
+ </sequence>
+ </finally>
+
+ </try>
+ </block>
+ </sequence>
+ </function>
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/rfc/schema_rfc_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/rfc/schema_rfc_tests.xml
new file mode 100644
index 0000000..d7f9691
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/rfc/schema_rfc_tests.xml
@@ -0,0 +1,1990 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2006-2008 Sun Microsystems, Inc.
+ ! -->
+<stax>
+
+<!-- Test Case : Schema RFC Test 2079 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker RFC Schema Tests
+ #@TestName RFC 2079
+ #@TestIssue
+ #@TestPurpose Check RFC 2079 URI Attribute Type and Object Class Schema Objects.
+ #@TestPreamble none
+ #@TestStep Add RFC 2079 Schema Object.
+ #@TestPostamble none
+ #@TestResult Success if Add Operation returns 0
+-->
+
+ <function name="schema_rfc_2079" scope="local">
+
+ <testcase name="getTestCaseName('RFC 2079')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'addEntry' ,
+ 'functionMessage' : 'Add an entry that is covered by RFC 2079.' ,
+ 'functionException' : 'LDAP.AddException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2079.ldif'
+ % remote.data }
+ }
+ </call>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'ldapSearchWithScript' ,
+ 'functionMessage' : 'Search for the entry just added and return labeledURI.' ,
+ 'functionException' : 'LDAP.SearchException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'dsBaseDN' : "ou=People, %s" % __baseDN ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'dsAttributes' : 'labeledURI' }
+ }
+ </call>
+
+ <script>
+ _functionString=parse_stax_result(STAXResult)
+ </script>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'checktestString' ,
+ 'functionMessage' : 'Check that the labeledURI attribute is returned.' ,
+ 'functionException' : 'Utils.CheckStringException' ,
+ 'functionArguments' : { 'expectedString' : 'labeledURI: ftp://example.com/rfc/rfc2079.txt' ,
+ 'returnString' : _functionString }
+ }
+ </call>
+ </sequence>
+ <catch exception="'STAXException.LDAP.AddException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPAdd failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <catch exception="'STAXException.LDAP.SearchException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPSearch failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <catch exception="'STAXException.Utils.CheckStringException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: UtilsCheck failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC Test 2247 1 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker RFC Schema Tests
+ #@TestName RFC 2247
+ #@TestIssue
+ #@TestPurpose Check RFC 2247 Using Domains in LDAP/X.500 Schema Objects.
+ #@TestPreamble none
+ #@TestStep Add RFC 2247 Schema Object.
+ #@TestPostamble none
+ #@TestResult Success if Add Operation returns 0
+-->
+
+ <function name="schema_rfc_2247_1" scope="local">
+
+ <testcase name="getTestCaseName('RFC 2247 1')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'addEntry' ,
+ 'functionMessage' : 'Add an entry where dcObject is an auxiliary class.' ,
+ 'functionException' : 'LDAP.AddException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2247_1.ldif'
+ % remote.data }
+ }
+ </call>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'ldapSearchWithScript' ,
+ 'functionMessage' : 'Search for the entry just added and return dc.' ,
+ 'functionException' : 'LDAP.SearchException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'dsBaseDN' : __baseDN ,
+ 'dsFilter' : 'objectclass=dcObject' ,
+ 'dsAttributes' : 'dc' }
+ }
+ </call>
+
+ <script>
+ _functionString=parse_stax_result(STAXResult)
+ </script>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'checktestString' ,
+ 'functionMessage' : 'Check that the dc attribute is returned.' ,
+ 'functionException' : 'Utils.CheckStringException' ,
+ 'functionArguments' : { 'expectedString' : 'dc: rfc-2247-tests' ,
+ 'returnString' : _functionString }
+ }
+ </call>
+
+ </sequence>
+ <catch exception="'STAXException.LDAP.AddException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPAdd failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <catch exception="'STAXException.LDAP.SearchException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPSearch failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <catch exception="'STAXException.Utils.CheckStringException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: UtilsCheck failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC Test 2247 2 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker RFC Schema Tests
+ #@TestName RFC 2247
+ #@TestIssue
+ #@TestPurpose Check RFC 2247 Using Domains in LDAP/X.500 Schema Objects.
+ #@TestPreamble none
+ #@TestStep Add RFC 2247 Schema Object.
+ #@TestPostamble none
+ #@TestResult Success if Add Operation returns 0
+-->
+
+ <function name="schema_rfc_2247_2" scope="local">
+
+ <testcase name="getTestCaseName('RFC 2247 2')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 2247'
+ </message>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'addEntry' ,
+ 'functionMessage' : 'Add an entry where domain is a structural class.' ,
+ 'functionException' : 'LDAP.AddException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2247_2.ldif'
+ % remote.data }
+ }
+ </call>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'ldapSearchWithScript' ,
+ 'functionMessage' : 'Search for the entry just added and return dc.' ,
+ 'functionException' : 'LDAP.SearchException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'dsBaseDN' : __baseDN ,
+ 'dsFilter' : 'objectclass=domain' ,
+ 'dsAttributes' : 'dc' }
+ }
+ </call>
+
+ <script>
+ _functionString=parse_stax_result(STAXResult)
+ </script>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'checktestString' ,
+ 'functionMessage' : 'Check that the dc attribute is returned.' ,
+ 'functionException' : 'Utils.CheckStringException' ,
+ 'functionArguments' : { 'expectedString' : 'dc: rfc-2247-tests-2' ,
+ 'returnString' : _functionString }
+ }
+ </call>
+
+ </sequence>
+ <catch exception="'STAXException.LDAP.AddException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPAdd failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <catch exception="'STAXException.LDAP.SearchException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPSearch failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC Test 2247 3 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker RFC Schema Tests
+ #@TestName RFC 2247
+ #@TestIssue
+ #@TestPurpose Check RFC 2247 Schema Objects.
+ #@TestPreamble none
+ #@TestStep Add Invalid RFC 2247 Schema Object.
+ #@TestPostamble none
+ #@TestResult Success if Add returns 65 (Object Class Violation)
+-->
+
+ <function name="schema_rfc_2247_3" scope="local">
+
+ <testcase name="getTestCaseName('RFC 2247 3')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'addEntry' ,
+ 'functionMessage' : 'Add an invalid object that is covered by RFC 2247.' ,
+ 'functionException' : 'LDAP.AddException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2247_3.ldif'
+ % remote.data ,
+ 'expectedRC' : 65 }
+ }
+ </call>
+
+ </sequence>
+ <catch exception="'STAXException.LDAP.AddException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPAdd failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC Test 2247 4 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker RFC Schema Tests
+ #@TestName RFC 2247
+ #@TestIssue
+ #@TestPurpose Check RFC 2247 Schema Objects.
+ #@TestPreamble none
+ #@TestStep Add Invalid RFC 2247 Schema Object.
+ #@TestPostamble none
+ #@TestResult Success if Add returns 65 (Object Class Violation)
+-->
+
+ <function name="schema_rfc_2247_4" scope="local">
+
+ <testcase name="getTestCaseName('RFC 2247 4')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'addEntry' ,
+ 'functionMessage' : 'Add an invalid object that is covered by RFC 2247.' ,
+ 'functionException' : 'LDAP.AddException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2247_4.ldif'
+ % remote.data ,
+ 'expectedRC' : 65 }
+ }
+ </call>
+
+ </sequence>
+ <catch exception="'STAXException.LDAP.AddException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPAdd failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC Test 2247 5 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker RFC Schema Tests
+ #@TestName RFC 2247
+ #@TestIssue
+ #@TestPurpose Check RFC 2247 Schema Objects.
+ #@TestPreamble none
+ #@TestStep Add Invalid RFC 2247 Schema Object.
+ #@TestPostamble none
+ #@TestResult Success if Add returns 65 (Object Class Violation)
+-->
+
+ <function name="schema_rfc_2247_5" scope="local">
+
+ <testcase name="getTestCaseName('RFC 2247 5')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 2247'
+ </message>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'addEntry' ,
+ 'functionMessage' : 'Add an invalid object that is covered by RFC 2247.' ,
+ 'functionException' : 'LDAP.AddException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2247_5.ldif'
+ % remote.data ,
+ 'expectedRC' : 65 }
+ }
+ </call>
+
+ </sequence>
+ <catch exception="'STAXException.LDAP.AddException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPAdd failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC Test 2377 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker RFC Schema Tests
+ #@TestName RFC 2377
+ #@TestIssue
+ #@TestPurpose Check RFC 2377 Directory Naming Plan Schema Objects.
+ #@TestPreamble none
+ #@TestStep Add RFC 2377 Schema Object.
+ #@TestPostamble none
+ #@TestResult Success if Add Operation returns 0
+-->
+
+ <function name="schema_rfc_2377" scope="local">
+
+ <testcase name="getTestCaseName('RFC 2377')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 2377'
+ </message>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'addEntry' ,
+ 'functionMessage' : 'Add an entry that is covered by RFC 2377.' ,
+ 'functionException' : 'LDAP.AddException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2377.ldif'
+ % remote.data }
+ }
+ </call>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'ldapSearchWithScript' ,
+ 'functionMessage' : 'Search for the entry just added and return uid.' ,
+ 'functionException' : 'LDAP.SearchException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'dsBaseDN' : __baseDN ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'dsAttributes' : 'uid' }
+ }
+ </call>
+
+ <!--
+ TODO: RFC 2377 suggests using dcObject and uidObject for constructing
+ the name in existing structural objects.
+ -->
+
+ <script>
+ _functionString=parse_stax_result(STAXResult)
+ </script>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'checktestString' ,
+ 'functionMessage' : 'Check that the uid attribute is returned.' ,
+ 'functionException' : 'Utils.CheckStringException' ,
+ 'functionArguments' : { 'expectedString' : 'uid: amiller' ,
+ 'returnString' : _functionString }
+ }
+ </call>
+
+ </sequence>
+ <catch exception="'STAXException.LDAP.AddException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPAdd failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <catch exception="'STAXException.LDAP.SearchException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPSearch failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <catch exception="'STAXException.Utils.CheckStringException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: UtilsCheck failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC Test 2798 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker RFC Schema Tests
+ #@TestName RFC 2798
+ #@TestIssue
+ #@TestPurpose Check RFC 2798 LDAP inetOrgPerson Schema Objects.
+ #@TestPreamble none
+ #@TestStep Add RFC 2798 LDAP inetOrgPerson Schema Object.
+ #@TestPostamble none
+ #@TestResult Success if Add Operation returns 0
+-->
+
+ <function name="schema_rfc_2798" scope="local">
+
+ <testcase name="getTestCaseName('RFC 2798')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 2798'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2798.ldif' % remote.data }
+ </call>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'ldapSearchWithScript' ,
+ 'functionMessage' : 'Search for the entry just added and return departmentNumber.' ,
+ 'functionException' : 'LDAP.SearchException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'dsBaseDN' : "ou=People, %s" % __baseDN ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'dsAttributes' : 'departmentNumber' }
+ }
+ </call>
+
+ <script>
+ _functionString=parse_stax_result(STAXResult)
+ </script>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'checktestString' ,
+ 'functionMessage' : 'Check that the departmentNumber attribute is returned.' ,
+ 'functionException' : 'Utils.CheckStringException' ,
+ 'functionArguments' : { 'expectedString' : 'departmentNumber: 602' ,
+ 'returnString' : _functionString }
+ }
+ </call>
+
+ </sequence>
+ <catch exception="'STAXException.LDAP.AddException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPAdd failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <catch exception="'STAXException.LDAP.SearchException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPSearch failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <catch exception="'STAXException.Utils.CheckStringException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: UtilsCheck failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC Test 3045 1 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker RFC Schema Tests
+ #@TestName RFC 3045
+ #@TestIssue
+ #@TestPurpose Check RFC 3045 Schema Objects.
+ #@TestPreamble none
+ #@TestStep Add Invalid RFC 3045 Schema Object.
+ #@TestPostamble none
+ #@TestResult Success if Add returns 53 (Unwilling to Perform)
+-->
+
+ <function name="schema_rfc_3045_1" scope="local">
+
+ <testcase name="getTestCaseName('RFC 3045 1')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 3045'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc3045_1.ldif' % remote.data ,
+ 'expectedRC' : 53 }
+ </call>
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC Test 3045 2 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker RFC Schema Tests
+ #@TestName RFC 3045
+ #@TestIssue
+ #@TestPurpose Check RFC 3045 Schema Objects.
+ #@TestPreamble none
+ #@TestStep Add Invalid RFC 3045 Schema Object.
+ #@TestPostamble none
+ #@TestResult Success if Add returns 53 (Unwilling to Perform)
+-->
+
+ <function name="schema_rfc_3045_2" scope="local">
+
+ <testcase name="getTestCaseName('RFC 3045 2')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 3045'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc3045_2.ldif' % remote.data ,
+ 'expectedRC' : 53 }
+ </call>
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC Test 4403 1 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker RFC Schema Tests
+ #@TestName RFC 4403
+ #@TestIssue
+ #@TestPurpose Check RFC 4403 Schema Objects.
+ #@TestPreamble none
+ #@TestStep Add RFC 4403 Schema Object.
+ #@TestPostamble none
+ #@TestResult Success if Add Operation returns 0
+-->
+
+ <function name="schema_rfc_4403_1" scope="local">
+
+ <testcase name="getTestCaseName('RFC 4403 1')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 4403'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc4403_1.ldif' % remote.data }
+ </call>
+
+ <!-- TODO: Need to verify that the added entry is working as specified -->
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC Test 4403 2 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker RFC Schema Tests
+ #@TestName RFC 4403
+ #@TestIssue
+ #@TestPurpose Check RFC 4403 Schema Objects.
+ #@TestPreamble none
+ #@TestStep Add RFC 4403 Schema Object.
+ #@TestPostamble none
+ #@TestResult Success if Add Operation returns 0
+-->
+
+ <function name="schema_rfc_4403_2" scope="local">
+
+ <testcase name="getTestCaseName('RFC 4403 2')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 4403'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc4403_2.ldif' % remote.data }
+ </call>
+
+ <!-- TODO: Need to verify that the added entry is working as specified -->
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC Test 4403 3 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker RFC Schema Tests
+ #@TestName RFC 4403
+ #@TestIssue
+ #@TestPurpose Check RFC 4403 Schema Objects.
+ #@TestPreamble none
+ #@TestStep Add Invalid RFC 4403 Schema Object.
+ #@TestPostamble none
+ #@TestResult Success if Add returns 65 (Object Class Violation)
+-->
+
+ <function name="schema_rfc_4403_3" scope="local">
+
+ <testcase name="getTestCaseName('RFC 4403 3')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 4403'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc4403_3.ldif' % remote.data,
+ 'expectedRC' : 65 }
+ </call>
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC Test 4403 4 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker RFC Schema Tests
+ #@TestName RFC 4403
+ #@TestIssue
+ #@TestPurpose Check RFC 4403 Schema Objects.
+ #@TestPreamble none
+ #@TestStep Add RFC 4403 Schema Object.
+ #@TestPostamble none
+ #@TestResult Success if Add Operation returns 0
+-->
+
+ <function name="schema_rfc_4403_4" scope="local">
+
+ <testcase name="getTestCaseName('RFC 4403 4')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 4403'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc4403_4.ldif' % remote.data }
+ </call>
+
+ <!-- TODO: Need to verify that the added entry is working as specified -->
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC Test 4403 5 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker RFC Schema Tests
+ #@TestName RFC 4403
+ #@TestIssue
+ #@TestPurpose Check RFC 4403 Schema Objects.
+ #@TestPreamble none
+ #@TestStep Add Invalid RFC 4403 Schema Object.
+ #@TestPostamble none
+ #@TestResult Success if Add returns 65 (Object Class Violation)
+-->
+
+ <function name="schema_rfc_4403_5" scope="local">
+
+ <testcase name="getTestCaseName('RFC 4403 5')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 4403'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc4403_5.ldif' % remote.data,
+ 'expectedRC' : 65 }
+ </call>
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC Test 2307 BIS 1-->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker RFC Schema Tests
+ #@TestName RFC 2307 BIS 1
+ #@TestIssue
+ #@TestPurpose Check RFC 2307 Schema Objects.
+ #@TestPreamble none
+ #@TestStep Add RFC 2307 Schema Object.
+ #@TestPostamble none
+ #@TestResult Success if Add Operation returns 0
+-->
+
+ <function name="schema_rfc_2307_1" scope="local">
+
+ <testcase name="getTestCaseName('Draft Howard RFC 2307bis 1')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by Draft Howard RFC 2307bis 1'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2307bis_1.ldif' % remote.data }
+ </call>
+
+ <!-- TODO: Need to verify that the added entry is working as specified -->
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC Test 2307 BIS 2-->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker RFC Schema Tests
+ #@TestName RFC 2307 BIS 2
+ #@TestIssue
+ #@TestPurpose Check RFC 2307 Schema Objects.
+ #@TestPreamble none
+ #@TestStep Add Invalid RFC 4403 Schema Object.
+ #@TestPostamble none
+ #@TestResult Success if Add returns 65 (Object Class Violation)
+-->
+
+ <function name="schema_rfc_2307_2" scope="local">
+
+ <testcase name="getTestCaseName('Draft Howard RFC 2307bis 2')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by Draft Howard RFC 2307bis 2'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2307bis_2.ldif' % remote.data ,
+ 'expectedRC' : 65 }
+ </call>
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC Test 2307 BIS 3 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker RFC Schema Tests
+ #@TestName RFC 2307 BIS 3
+ #@TestIssue
+ #@TestPurpose Check RFC 2307 Schema Objects.
+ #@TestPreamble none
+ #@TestStep Add RFC 2307 Schema Object.
+ #@TestPostamble none
+ #@TestResult Success if Add Operation returns 0
+-->
+
+ <function name="schema_rfc_2307_3" scope="local">
+
+ <testcase name="getTestCaseName('Draft Howard RFC 2307bis 3')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by Draft Howard RFC 2307bis 3'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2307bis_3.ldif' % remote.data }
+ </call>
+
+ <!-- TODO: Need to verify that the added entry is working as specified -->
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC Test 2307 BIS 4 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker RFC Schema Tests
+ #@TestName RFC 2307 BIS 4
+ #@TestIssue
+ #@TestPurpose Check RFC 2307 Schema Objects.
+ #@TestPreamble none
+ #@TestStep Add Invalid RFC 4403 Schema Object.
+ #@TestPostamble none
+ #@TestResult Success if Add returns 65 (Object Class Violation)
+-->
+
+ <function name="schema_rfc_2307_4" scope="local">
+
+ <testcase name="getTestCaseName('Draft Howard RFC 2307bis 4')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by Draft Howard RFC 2307bis 4'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2307bis_4.ldif' % remote.data ,
+ 'expectedRC' : 65 }
+ </call>
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC Test draft-furseth-ldap-untypedobject -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker RFC Schema Tests
+ #@TestName RFC 2307 BIS 4
+ #@TestIssue
+ #@TestPurpose Check RFC Draft Furseth LDAP Untypedobject Schema Objects.
+ #@TestPreamble none
+ #@TestStep Add RFC 2307 Draft Furseth LDAP Untypedobject Object.
+ #@TestPostamble none
+ #@TestResult Success if Add Operation returns 0
+-->
+
+ <function name="schema_rfc_furseth" scope="local">
+
+ <testcase name="getTestCaseName('Draft Furseth LDAP Untypedobject')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by Draft draft-furseth-ldap-untypedobject'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/untypedobject.ldif' % remote.data }
+ </call>
+
+ <!-- TODO: Need to verify that the added entry is working as specified -->
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC draft-good-ldap-changelog 1 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker RFC Schema Tests
+ #@TestName RFC Draft Good LDAP Changelog
+ #@TestIssue
+ #@TestPurpose Check RFC Draft Good LDAP Changelog.
+ #@TestPreamble none
+ #@TestStep Add RFC Draft Good LDAP Changelog Object.
+ #@TestPostamble none
+ #@TestResult Success if Add Operation returns 0
+-->
+
+ <function name="schema_rfc_good_1" scope="local">
+
+ <testcase name="getTestCaseName('Draft Good LDAP Changelog 1')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by Draft draft-good-ldap-changelog'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/changelog_1.ldif' % remote.data }
+ </call>
+
+ <!-- TODO: Need to verify that the added entry is working as specified -->
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC draft-good-ldap-changelog 2 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker RFC Schema Tests
+ #@TestName RFC Draft Good LDAP Changelog
+ #@TestIssue
+ #@TestPurpose Check RFC Draft Good LDAP Changelog.
+ #@TestPreamble none
+ #@TestStep Add RFC Draft Good LDAP Changelog Object.
+ #@TestPostamble none
+ #@TestResult Success if Add Operation returns 0
+-->
+
+ <function name="schema_rfc_good_2" scope="local">
+
+ <testcase name="getTestCaseName('Draft Good LDAP Changelog 2')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by Draft draft-good-ldap-changelog'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/changelog_2.ldif' % remote.data }
+ </call>
+
+ <!-- TODO: Need to verify that the added entry is working as specified -->
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC draft-good-ldap-changelog 3 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker RFC Schema Tests
+ #@TestName RFC Draft Good LDAP Changelog
+ #@TestIssue
+ #@TestPurpose Check RFC Draft Good LDAP Changelog.
+ #@TestPreamble none
+ #@TestStep Add RFC Draft Good LDAP Changelog Object.
+ #@TestPostamble none
+ #@TestResult Success if Add Operation returns 0
+-->
+
+ <function name="schema_rfc_good_3" scope="local">
+
+ <testcase name="getTestCaseName('Draft Good LDAP Changelog 3')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by Draft draft-good-ldap-changelog'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/changelog_3.ldif' % remote.data }
+ </call>
+
+ <!-- TODO: Need to verify that the added entry is working as specified -->
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC Test Draft Howard NamedObject 1 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker RFC Schema Tests
+ #@TestName RFC Draft Howard NamedObject 1
+ #@TestIssue
+ #@TestPurpose Check RFC Draft Howard NamedObject.
+ #@TestPreamble none
+ #@TestStep Add RFC Draft Howard NamedObject object.
+ #@TestPostamble none
+ #@TestResult Success if Add Operation returns 0
+-->
+
+ <function name="schema_rfc_howard_1" scope="local">
+
+ <testcase name="getTestCaseName('Draft Howard NamedObject 1')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by draft-howard-namedobject.'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/namedobject_1.ldif' % remote.data }
+ </call>
+
+ <!-- TODO: Need to verify that the added entry is working as specified -->
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC Test Draft Howard NamedObject 2 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker RFC Schema Tests
+ #@TestName RFC Draft Howard NamedObject 1
+ #@TestIssue
+ #@TestPurpose Check RFC Draft Howard NamedObject.
+ #@TestPreamble none
+ #@TestStep Add RFC Draft Howard NamedObject object.
+ #@TestPostamble none
+ #@TestResult Success if Add Operation returns 0
+-->
+
+ <function name="schema_rfc_howard_2" scope="local">
+
+ <testcase name="getTestCaseName('Draft Howard NamedObject 2')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by draft-howard-namedobject.'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/namedobject_2.ldif' % remote.data }
+ </call>
+
+ <!-- TODO: Need to verify that the added entry is working as specified -->
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC Test Draft IETF LDUP Subentry 1 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker RFC Schema Tests
+ #@TestName RFC Draft IETF LDUP Subentry 1
+ #@TestIssue
+ #@TestPurpose Check RFC Draft IETF LDUP Subentry 1.
+ #@TestPreamble none
+ #@TestStep Add RFC Draft IETF LDUP Subentry object.
+ #@TestPostamble none
+ #@TestResult Success if Add Operation returns 0
+-->
+
+ <function name="schema_rfc_ldup_1" scope="local">
+
+ <testcase name="getTestCaseName('Draft IETF LDUP Subentry 1')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Schema: Add an entry that is covered by draft-ietf-ldup-subentry.'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/ldup_subentry_1.ldif' % remote.data }
+ </call>
+
+ <!-- TODO: Need to verify that the added entry is working as specified -->
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC Test Draft IETF LDUP Subentry 2 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker RFC Schema Tests
+ #@TestName RFC Draft IETF LDUP Subentry 2
+ #@TestIssue
+ #@TestPurpose Check RFC Draft IETF LDUP Subentry 2.
+ #@TestPreamble none
+ #@TestStep Add RFC Draft IETF LDUP Subentry 2 object.
+ #@TestPostamble none
+ #@TestResult Success if Add Operation returns 0
+-->
+
+ <function name="schema_rfc_ldup_2" scope="local">
+
+ <testcase name="getTestCaseName('Draft IETF LDUP Subentry 2')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Schema: Add an entry that is covered by draft-ietf-ldup-subentry.'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/ldup_subentry_2.ldif' % remote.data }
+ </call>
+
+ <!-- TODO: Need to verify that the added entry is working as specified -->
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC Test Draft IETF LDUP Subentry 3 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker RFC Schema Tests
+ #@TestName RFC Draft IETF LDUP Subentry 3
+ #@TestIssue
+ #@TestPurpose Check RFC Draft IETF LDUP Subentry 3.
+ #@TestPreamble none
+ #@TestStep Add Invalid RFC Draft IETF LDUP Subentry 3 object.
+ #@TestPostamble none
+ #@TestResult Success if Add returns 53 (Unwilling to Perform)
+-->
+
+ <function name="schema_rfc_ldup_3" scope="local">
+
+ <testcase name="getTestCaseName('Draft IETF LDUP Subentry 3')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Schema: Add an entry that is covered by draft-ietf-ldup-subentry.'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/ldup_subentry_3.ldif' % remote.data ,
+ 'expectedRC' : 53 }
+ </call>
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema Disable Schema Checking -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Disable Schema Checking
+ #@TestName Disable Schema Checking
+ #@TestIssue
+ #@TestPurpose Check Disable Schema Checking.
+ #@TestPreamble none
+ #@TestStep Set check schema to false.
+ #@TestPostamble none
+ #@TestResult Success if Add Operation returns 0
+-->
+
+ <function name="schema_disable_schema_checking" scope="local">
+
+ <testcase name="getTestCaseName('Disable Schema Checking')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Disable schema checking.'
+ </message>
+
+ <call function="'modifyGlobal'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'attributeName' : 'check-schema' ,
+ 'attributeValue' : 'false' }
+ </call>
+
+ <!-- TODO: Need to verify the disabling of schema check. -->
+ <!-- TODO: Should be part of a separate test suite. -->
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema Enable Schema Checking -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Enable Schema Checking
+ #@TestName Enable Schema Checking
+ #@TestIssue
+ #@TestPurpose Check Enable Schema Checking.
+ #@TestPreamble none
+ #@TestStep Set check schema to true.
+ #@TestPostamble none
+ #@TestResult Success if Add Operation returns 0
+-->
+
+ <function name="schema_enable_schema_checking" scope="local">
+
+ <testcase name="getTestCaseName('Enable Schema Checking')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Enable schema checking.'
+ </message>
+
+ <call function="'modifyGlobal'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'attributeName' : 'check-schema' ,
+ 'attributeValue' : 'true' }
+ </call>
+
+ <!-- TODO: Need to verify the enabling of schema check. -->
+ <!-- TODO: Should be part of a separate test suite. -->
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema Disable Syntax Checking for Generalized Time-->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Disable Syntax Checking
+ #@TestName Disable Syntax Checking
+ #@TestIssue
+ #@TestPurpose Check Disable Syntax Checking for Generalized Time.
+ #@TestPreamble none
+ #@TestStep Set check schema to true.
+ #@TestPostamble none
+ #@TestResult Success if Add Operation returns 0
+-->
+
+ <function name="schema_disable_syntax_checking" scope="local">
+
+ <testcase name="getTestCaseName('Disable Syntax Checking')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Disable Syntax Checking for Generalized Time.'
+ </message>
+
+ <call function="'dsconfig'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'subcommand' : 'set-attribute-syntax-prop' ,
+ 'objectType' : 'syntax-name' ,
+ 'objectName' : 'Generalized Time',
+ 'optionsString' : '--set enabled:false',
+ 'knownIssue' : '2046'
+ }
+ </call>
+
+ <!-- TODO: Need to verify the disabling of syntax check. -->
+ <!-- TODO: Should be part of a separate test suite. -->
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema Enable Syntax Checking for Generalized Time -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Enable Syntax Checking
+ #@TestName Enable Syntax Checking
+ #@TestIssue
+ #@TestPurpose Check Enable Syntax Checking for Generalized Time.
+ #@TestPreamble none
+ #@TestStep Set check schema to true.
+ #@TestPostamble none
+ #@TestResult Success if Add Operation returns 0
+-->
+
+ <function name="schema_enable_syntax_checking" scope="local">
+
+ <testcase name="getTestCaseName('Enable Syntax Checking for Generalized Time')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Enable Syntax Checking for Generalized Time.'
+ </message>
+
+ <call function="'dsconfig'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'subcommand' : 'set-attribute-syntax-prop' ,
+ 'objectType' : 'syntax-name' ,
+ 'objectName' : 'Generalized Time',
+ 'optionsString' : '--set enabled:true'
+ }
+ </call>
+
+ <!-- TODO: Need to verify the enabling of syntax check. -->
+ <!-- TODO: Should be part of a separate test suite. -->
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema Draft IETF Zeilenga LDAP COSINE 1 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Draft IETF Zeilenga LDAP COSINE
+ #@TestName Draft IETF Zeilenga LDAP COSINE
+ #@TestIssue
+ #@TestPurpose Check Draft IETF Zeilenga LDAP COSINE Schema Object.
+ #@TestPreamble none
+ #@TestStep Add Draft IETF Zeilenga LDAP COSINE Schema Object.
+ #@TestPostamble none
+ #@TestResult Success if Add Operation returns 0
+-->
+
+ <function name="schema_cosine_1" scope="local">
+
+ <testcase name="getTestCaseName('Draft IETF Zeilenga LDAP COSINE 1')">
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by draft-ietf-zeilenga-ldap-cosine'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/ldap_cosine_1.ldif' % remote.data }
+ </call>
+
+ <!-- TODO: Need to verify that the added entry is working as specified -->
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema Draft IETF Zeilenga LDAP COSINE 2 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Draft IETF Zeilenga LDAP COSINE
+ #@TestName Draft IETF Zeilenga LDAP COSINE 2
+ #@TestIssue
+ #@TestPurpose Check Draft IETF Zeilenga LDAP COSINE Schema Object.
+ #@TestPreamble none
+ #@TestStep Add Draft IETF Zeilenga LDAP COSINE Schema Object.
+ #@TestPostamble none
+ #@TestResult Success if Add Operation returns 0
+-->
+
+ <function name="schema_cosine_2" scope="local">
+
+ <testcase name="getTestCaseName('Draft IETF Zeilenga LDAP COSINE 2')">
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by draft-ietf-zeilenga-ldap-cosine'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/ldap_cosine_2.ldif' % remote.data }
+ </call>
+
+ <!-- TODO: Need to verify that the added entry is working as specified -->
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema Draft IETF Zeilenga LDAP COSINE 3 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Draft IETF Zeilenga LDAP COSINE
+ #@TestName Draft IETF Zeilenga LDAP COSINE 3
+ #@TestIssue
+ #@TestPurpose Check Draft IETF Zeilenga LDAP COSINE Schema Object.
+ #@TestPreamble none
+ #@TestStep Add Invalid Draft IETF Zeilenga LDAP COSINE Schema Object.
+ #@TestPostamble none
+ #@TestResult Success if Add returns 65 (Object Class Violation)
+-->
+
+ <function name="schema_cosine_3" scope="local">
+
+ <testcase name="getTestCaseName('Draft IETF Zeilenga LDAP COSINE 3')">
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by draft-ietf-zeilenga-ldap-cosine'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/ldap_cosine_3.ldif' % remote.data ,
+ 'expectedRC' : 65 }
+ </call>
+
+ <!-- TODO: Need to verify that the added entry is working as specified -->
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC 2739 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Schema RFC 2739
+ #@TestName Schema RFC 2739
+ #@TestIssue
+ #@TestPurpose Check Schema RFC 2739 Schema Object.
+ #@TestPreamble none
+ #@TestStep Add Schema RFC 2739 Schema Object.
+ #@TestStep Search Schema RFC 2739 Schema Object.
+ #@TestStep Add Schema RFC 2739 Schema Object.
+ #@TestPostamble none
+ #@TestResult Success if Add Operation returns 0
+-->
+
+ <function name="schema_rfc_2739" scope="local">
+
+ <testcase name="getTestCaseName('RFC 2739')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 2739'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2739.ldif' % remote.data }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'Search the entry just added and return calCalURI '
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'dsBaseDN' : 'o=rfc tests,dc=example,dc=com' ,
+ 'dsFilter' : 'uid=tsmith' ,
+ 'attributes' : 'calCalURI' }
+
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <!-- TODO: Need to verify that correct attributes are returned -->
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+ </function>
+
+<!-- Test Case : Schema RFC 2714 1 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Schema RFC 2714 1
+ #@TestName Schema RFC 2714 1
+ #@TestIssue
+ #@TestPurpose Check Schema RFC 2714 Schema Object.
+ #@TestPreamble none
+ #@TestStep Add RFC 2714 Schema Object.
+ #@TestStep Search Schema RFC 2714 Object.
+ #@TestStep Add Schema RFC 2714 Object.
+ #@TestPostamble none
+ #@TestResult Success if Add Operation returns 0
+-->
+
+ <function name="schema_rfc_2714_1" scope="local">
+
+ <testcase name="getTestCaseName('RFC 2714 1')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 2714'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2714.ldif' % remote.data ,
+ 'expectedRC' : 65
+ }
+ </call>
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+</function>
+
+<!-- Test Case : Schema RFC 2714 2 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Schema RFC 2714 2
+ #@TestName Schema RFC 2714 2
+ #@TestIssue
+ #@TestPurpose Check Schema RFC 2714 Schema Object.
+ #@TestPreamble none
+ #@TestStep Add RFC 2714 Schema Object.
+ #@TestStep Search Schema RFC 2714 Object.
+ #@TestStep Add Schema RFC 2714 Object.
+ #@TestPostamble none
+ #@TestResult Success if Add Operation returns 0
+-->
+
+ <function name="schema_rfc_2714_2" scope="local">
+
+ <testcase name="getTestCaseName('RFC 2714 2')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 2714'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2714_2.ldif' % remote.data }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'Search the entry just added and return corbaRepositoryId '
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'dsBaseDN' : 'o=rfc tests,dc=example,dc=com' ,
+ 'dsFilter' : 'cn=corba1' ,
+ 'attributes' : 'corbaRepositoryId' }
+
+ </call>
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <!-- TODO: Need to verify that correct attributes are returned -->
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+
+ </function>
+
+<!-- Test Case : Schema RFC 2713 -->
+<!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Schema RFC 2713
+ #@TestName Schema RFC 2713
+ #@TestIssue
+ #@TestPurpose Check Schema RFC 2713 Schema Object.
+ #@TestPreamble none
+ #@TestStep Add RFC 2713 Schema Object.
+ #@TestStep Search Schema RFC 2713 Object.
+ #@TestStep Add Schema RFC 2713 Object.
+ #@TestPostamble none
+ #@TestResult Success if Add Operation returns 0
+-->
+
+ <function name="schema_rfc_2713" scope="local">
+
+ <testcase name="getTestCaseName('RFC 2713')">
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 2713'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2713.ldif' % remote.data }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'Search the entry just added and return javaClassName '
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'dsBaseDN' : 'ou=java object,o=rfc tests,dc=example,dc=com' ,
+ 'dsFilter' : 'cn=java1' ,
+ 'attributes' : 'javaClassName' }
+
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <!-- TODO: Need to verify that correct attributes are returned -->
+
+ </sequence>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </testcase>
+</function>
+
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/schema.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/schema.xml
index a871f2a..8544e37 100644
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/schema.xml
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/schema.xml
@@ -26,55 +26,98 @@
! Copyright 2006-2008 Sun Microsystems, Inc.
! -->
<stax>
+ <defaultcall function="main_schema"/>
- <defaultcall function="main_schema" />
-
- <function name="main_schema">
+ <function name="main_schema" scope="local">
<function-list-args>
<function-required-arg name="STAXParentID"/>
</function-list-args>
<sequence>
+ <try>
+ <block name="'main_schema'">
+ <sequence>
- <block name="'schema'">
-
- <sequence>
- <!--- Load the job environment for the test group execution -->
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/environment.xml' % TESTS_FUNCTIONS_DIR" />
- <call function="'loadJobEnvironment'">
- { 'parent' : STAXParentID }
- </call>
+ <message log="1" level="'Info'">'STAXParentID= %s' % STAXParentID</message>
+
+ <!--- Load the job environment for the test group execution -->
+ <import machine="STAF_LOCAL_HOSTNAME"
+ file="'%s/environment.xml' % TESTS_FUNCTIONS_DIR" />
+ <call function="'loadJobEnvironment'">
+ { 'parent' : STAXParentID }
+ </call>
- <script>
- CurrentTestPath['group']='schema'
- </script>
-
- <call function="'testGroup_Preamble'"/>
-
- <script>
- suiteList=[]
- suiteList.append('schema_rfc_tests')
- suiteList.append('schema_dynamic')
- </script>
+ <script>
+ _group='schema'
+ CurrentTestPath={ 'group' : '%s' % _group }
+ </script>
- <!-- Run the test suites -->
- <iterate var="__test" in="suiteList">
- <sequence>
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/schema/%s.xml' % (TESTS_DIR,__test)" />
- <call function="'%s' % __test" />
- </sequence>
- </iterate>
-
- <call function="'testGroup_Postamble'"/>
+ <!--- Test Group information
+ #@TestGroupName Schema Test
+ #@TestGroupPurpose Verify that schema is working correctly
+ -->
+ <call function="'testGroup_Preamble'"/>
- </sequence>
-
- </block>
-
+ <!-- List of test suites to run -->
+ <script>
+ suiteList=[]
+ suiteList.append('rfc')
+ suiteList.append('dynamic')
+ suiteList.append('solaris')
+ </script>
+
+ <!-- Data global to this test group -->
+ <!-- LDAP Server Object -->
+ <script>
+ server=directory_server()
+ server.location = STAF_REMOTE_HOSTNAME
+ server.host = DIRECTORY_INSTANCE_HOST
+ server.port = DIRECTORY_INSTANCE_PORT
+ server.adminport = DIRECTORY_INSTANCE_ADMIN_PORT
+ server.dn = DIRECTORY_INSTANCE_DN
+ server.password = DIRECTORY_INSTANCE_PSWD
+ server.suffix = DIRECTORY_INSTANCE_SFX
+ </script>
+
+ <!-- Run the test suites -->
+ <iterate var="_suite" in="suiteList">
+ <sequence>
+ <try>
+ <sequence>
+ <import machine="STAF_LOCAL_HOSTNAME"
+ file="'%s/testcases/%s/%s/%s_%s.xml' %
+ (TESTS_DIR,_group,_suite,_group,_suite)"/>
+ <call function="'main_%s_%s' % (_group,_suite)" />
+ </sequence>
+ <catch exception="'STAFException.TestSuite.SetupException'">
+ <sequence>
+ <message log="1" level="'fatal'">'Setup of test suite %s failed.' % _suite</message>
+ <throw exception="'STAXException.TestGroupException'" />
+ </sequence>
+ </catch>
+ <catch exception="'STAFException.TestSuite.MainException'">
+ <sequence>
+ <message log="1" level="'fatal'">'Main part of test suite %s failed.' % _suite</message>
+ <throw exception="'STAXException.TestGroupException'" />
+ </sequence>
+ </catch>
+ <catch exception="'STAFException.TestSuite.CleanupException'">
+ <sequence>
+ <message log="1" level="'fatal'">'Cleanup of test suite %s failed.' % _suite</message>
+ <throw exception="'STAXException.TestGroupException'" />
+ </sequence>
+ </catch>
+ </try>
+ </sequence>
+ </iterate>
+
+ </sequence>
+ </block>
+ <finally>
+ <!-- Test Group postamble -->
+ <call function="'testGroup_Postamble'"/>
+ </finally>
+ </try>
</sequence>
-
</function>
-
</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/schema_cleanup.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/schema_cleanup.xml
index 3c4a4c2..ba1924a 100755
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/schema_cleanup.xml
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/schema_cleanup.xml
@@ -34,57 +34,51 @@
<sequence>
<block name="'cleanup'">
-
+
+ <try>
+
<sequence>
-
- <block name="'Block DS Process Stop'">
- <!--- Stop DS -->
- <sequence>
- <message>
- 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
-
- <call function="'StopDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME,
- 'dsHost' : DIRECTORY_INSTANCE_HOST,
- 'dsAdminPort' : DIRECTORY_INSTANCE_ADMIN_PORT,
- 'dsBindDN' : DIRECTORY_INSTANCE_DN,
- 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
+ <call function="'runFunction'">
+ { 'functionName' : 'StopDsWithScript' ,
+ 'functionMessage' : 'Stop the Directory Server.' ,
+ 'functionException' : 'Server.StopException' ,
+ 'functionArguments' : { 'location' : STAF_REMOTE_HOSTNAME ,
+ 'dsHost' : server.host ,
+ 'dsAdminPort' : server.adminport ,
+ 'dsBindDN' : server.dn ,
+ 'dsBindPwd' : server.password }
+ }
+ </call>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'removeTopology' ,
+ 'functionMessage' : 'Remove DS topology.' ,
+ 'functionException' : 'Server.RemoveTopologyException'
+ }
+ </call>
+
</sequence>
- <!--- End Block DS Process Stop -->
- </block>
-
-
+ <catch exception="'STAXException.Server.RemoveTopologyException'" typevar="eType" var="eInfo">
+ <sequence>
+ <message log="1" level="'fatal'">
+ '%s: Remove topology failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ <throw exception="'STAFException.TestSuite.CleanupException'" />
+ </sequence>
+ </catch>
- <block name="'Block Remove DS Topology'">
- <!-- Remove the topology created for the test suite -->
- <sequence>
-
- <message>
- 'Remove DS topology created for the Test Suite'
- </message>
+ <catch exception="'STAXException.Server.StopException'" typevar="eType" var="eInfo">
+ <sequence>
+ <message log="1" level="'fatal'">
+ '%s: Failed to stop Directory Server. eInfo(%s)' % (eType,eInfo)
+ </message>
+ <throw exception="'STAFException.TestSuite.CleanupException'" />
+ </sequence>
+ </catch>
- <call function="'removeTopology'"/>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
- <!-- End Block Remove DS Topology-->
- </block>
-
-
- </sequence>
+ </try>
+
</block>
</sequence>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/schema_dynamic.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/schema_dynamic.xml
deleted file mode 100644
index 33f5cb0..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/schema_dynamic.xml
+++ /dev/null
@@ -1,372 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, exclude this CDDL HEADER in each
- ! file and exclude the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying * information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008 Sun Microsystems, Inc.
- ! -->
-
-<stax>
-
- <defaultcall function="schema_dynamic"/>
-
- <function name="schema_dynamic">
-
- <sequence>
-
- <block name="'dynamic'">
-
- <sequence>
-
- <script>
- if not CurrentTestPath.has_key('group'):
- CurrentTestPath['group']='schema'
- CurrentTestPath['suite']=STAXCurrentBlock
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <!---
- #@TestGroupName Schema
- #@TestGroupPurpose To test the Dynamic Schema functionality.
-
- Place suite-specific test information here.
- #@TestSuiteName Dynamic Schema Tests
- #@TestSuitePurpose Test the Dynamic Schema Updates over Protocol and via Files.
- #@TestSuiteGroup Dynamic Schema Tests
- #@TestScript schema_dynamic.xml
- -->
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/schema/schema_setup.xml' % (TESTS_DIR)"/>
- <call function="'schema_setup'"/>
-
-
- <!--- Test case: Update Schema via a file -->
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker Dynamic Schema Tests
- #@TestName Update via a file
- #@TestIssue 367
- #@TestPurpose To make sure the schema can be updated by a file.
- #@TestPreamble none
- #@TestStep Create a task that will cause the server to
- read one or two files into the schema.
- Then try adding a new entry that uses the
- added schema.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- -->
-
- <testcase name="getTestCaseName('Update via File')">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Dynamic Schema: Update via File'
- </message>
- <call function="'addSchemaTask'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
- 'taskID' : '6',
- 'ldifFile' : '05-DynamicSchemaAdd.ldif'
- }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'Schema: Add an entry that uses this new schema'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/dynamic_schema1.ldif' % remote.data }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'Search for the entry just added and return addschema1AT '
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'dc=dynamic-schema-tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=addschema1OC' ,
- 'attributes' : 'addschema1AT' }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- Test case: Update Schema Over Protocol: Add -->
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker Dynamic Schema Tests
- #@TestName Update Over Protocol: Add
- #@TestIssue 366
- #@TestPurpose To verify the schema can be updated over protocol.
- #@TestPreamble none
- #@TestStep Update the schema over protocol adding
- a new objectclass and attributes.
- Then try adding a new entry that uses these
- new attributes and objectclass.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- -->
-
- <!--- Test Case : Schema: Update Over Protocol: Add -->
- <testcase name="getTestCaseName('Add')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Update Over Protocol: Add'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/schema/ldifs/updateSchema.ldif' % remote.data }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'Schema: Add an entry that uses this new schema'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/dynamic_schema2.ldif' % remote.data }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'Search for the entry just added and return addschema2AT '
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'dc=dynamic-schema-tests-2,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=addschema2OC' ,
- 'attributes' : 'addschema2AT' }
-
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
- </sequence>
-
- </testcase>
-
- <!--- Test case: Update Schema Over Protocol: Replace -->
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker Dynamic Schema Tests
- #@TestName Update Over Protocol: Replace
- #@TestIssue 366
- #@TestPurpose To verify attributes and objectclasses can be replaced over protocol.
- #@TestPreamble none
- #@TestStep Update the schema over protocol by replacing
- an objectclass and attributes with new ones.
- Then try adding a new entry that uses the replaced
- attributes and objectclass, it should fail. Then try
- adding an entry that uses the replacement objectclass and attributes.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- -->
-
-
- <testcase name="getTestCaseName('Replace')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Update Over Protocol: Replace'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/schema/ldifs/updateSchema2.ldif' % remote.data }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'Schema: Add an entry that uses the schema just replaced'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/dynamic_schema4.ldif' % remote.data }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <message>
- 'Search for the entry just added and return addschema3AT '
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'dc=dynamic-schema-tests-2,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=addschema3OC' ,
- 'attributes' : 'addschema3AT' }
-
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
-
- <!--- Test case: Update Schema Over Protocol: Remove -->
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker Dynamic Schema Tests
- #@TestName Update Over Protocol: Remove
- #@TestIssue 366
- #@TestPurpose To verify attributes and objectclasses can be removed over protocol.
- #@TestPreamble none
- #@TestStep Update the schema over protocol by removing
- an objectclass and attributes.
- Then try adding a new entry that uses these
- removed attributes and objectclass, it should fail.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- -->
- <testcase name="getTestCaseName('Remove')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Update Over Protocol: Remove'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/schema/ldifs/updateSchema3.ldif' % remote.data }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'Schema: Try to add an entry that uses the schema just removed'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/dynamic_schema3.ldif' % remote.data ,
- 'expectedRC' : 65
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/schema/schema_cleanup.xml' % (TESTS_DIR)"/>
- <call function="'schema_cleanup'"/>
-
-
- <call function="'testSuite_Postamble'"/>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/schema_rfc_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/schema_rfc_tests.xml
deleted file mode 100644
index dfc1473..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/schema_rfc_tests.xml
+++ /dev/null
@@ -1,1039 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2006-2008 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="schema_rfc_tests"/>
-
- <function name="schema_rfc_tests">
-
- <sequence>
-
- <block name="'rfc'">
-
- <sequence>
-
- <script>
- if not CurrentTestPath.has_key('group'):
- CurrentTestPath['group']='schema'
- CurrentTestPath['suite']=STAXCurrentBlock
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/schema/schema_setup.xml' % (TESTS_DIR)"/>
- <call function="'schema_setup'"/>
-
-
- <!--- Test Case : Schema RFC Test 2079 -->
- <testcase name="getTestCaseName('RFC 2079')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 2079'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2079.ldif' % remote.data }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test 2247 -->
- <testcase name="getTestCaseName('RFC 2247 1')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 2247'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2247_1.ldif' % remote.data }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test 2247 -->
- <testcase name="getTestCaseName('RFC 2247 2')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 2247'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2247_2.ldif' % remote.data }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test 2247 -->
- <testcase name="getTestCaseName('RFC 2247 3')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 2247'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2247_3.ldif' % remote.data ,
- 'expectedRC' : 65
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC 2247 -->
- <testcase name="getTestCaseName('RFC 2247 4')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 2247'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2247_4.ldif' % remote.data ,
- 'expectedRC' : 65
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC 2247 -->
- <testcase name="getTestCaseName('RFC 2247 5')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 2247'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2247_5.ldif' % remote.data ,
- 'expectedRC' : 65
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test 2377 -->
- <testcase name="getTestCaseName('RFC 2377')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 2377'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2377.ldif' % remote.data }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test 2798 -->
- <testcase name="getTestCaseName('RFC 2798')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 2798'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2798.ldif' % remote.data }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC 3045 -->
- <testcase name="getTestCaseName('RFC 3045 1')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Modify an entry that is covered by rfc 3045'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/schema/ldifs/rfc3045_1.ldif' % remote.data ,
- 'expectedRC' : 53
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC 3045 -->
- <testcase name="getTestCaseName('RFC 3045 2')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Modify an entry that is covered by rfc 3045'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/schema/ldifs/rfc3045_2.ldif' % remote.data ,
- 'expectedRC' : 53
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC 4403 -->
- <testcase name="getTestCaseName('RFC 4403 1')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 4403'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc4403_1.ldif' % remote.data }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC 4403 -->
- <testcase name="getTestCaseName('RFC 4403 2')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 4403'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc4403_2.ldif' % remote.data }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test 4403 -->
- <testcase name="getTestCaseName('RFC 4403 3')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 4403'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc4403_3.ldif' % remote.data ,
- 'expectedRC' : 65
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test 4403 -->
- <testcase name="getTestCaseName('RFC 4403 4')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 4403'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc4403_4.ldif' % remote.data }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test 4403 -->
- <testcase name="getTestCaseName('RFC 4403 5')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 4403'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc4403_5.ldif' % remote.data ,
- 'expectedRC' : 65
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test 2307 -->
- <testcase name="getTestCaseName('Draft Howard RFC 2307bis 1')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-howard-rfc2307bis'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2307bis_1.ldif' % remote.data }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC 2307 -->
- <testcase name="getTestCaseName('Draft Howard RFC 2307bis 2')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-howard-rfc2307bis'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2307bis_2.ldif' % remote.data ,
- 'expectedRC' : 65
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- Test Case : Schema RFC 2307 -->
- <testcase name="getTestCaseName('Draft Howard RFC 2307bis 1')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-howard-rfc2307bis'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2307bis_3.ldif' % remote.data }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test 2307 -->
- <testcase name="getTestCaseName('Draft Howard RFC 2307bis 1')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-howard-rfc2307bis'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2307bis_4.ldif' % remote.data ,
- 'expectedRC' : 65
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC draft-furseth-ldap-untypedobject -->
- <testcase name="getTestCaseName('Draft Furseth LDAP Untypedobject')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-furseth-ldap-untypedobject'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/untypedobject.ldif' % remote.data }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC draft-good-ldap-changelog -->
- <testcase name="getTestCaseName('Draft Good LDAP Changelog 1')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-good-ldap-changelog'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/changelog_1.ldif' % remote.data }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC draft-good-ldap-changelog -->
- <testcase name="getTestCaseName('Draft Good LDAP Changelog 2')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-good-ldap-changelog'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/changelog_2.ldif' % remote.data }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC draft-good-ldap-changelog -->
- <testcase name="getTestCaseName('Draft Good LDAP Changelog 2')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-good-ldap-changelog'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/changelog_3.ldif' % remote.data }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test draft-howard-namedobject -->
- <testcase name="getTestCaseName('Draft Howard NamedObject 1')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-howard-namedobject'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/namedobject_1.ldif' % remote.data }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test draft-howard-namedobject -->
- <testcase name="getTestCaseName('Draft Howard NamedObject 2')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-howard-namedobject'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/namedobject_2.ldif' % remote.data }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test draft-ietf-ldup-subentry -->
- <testcase name="getTestCaseName('Draft IETF LDUP Subentry 1')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-ietf-ldup-subentry'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/ldup_subentry_1.ldif' % remote.data }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test draft-ietf-ldup-subentry -->
- <testcase name="getTestCaseName('Draft IETF LDUP Subentry 2')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-ietf-ldup-subentry'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/ldup_subentry_2.ldif' % remote.data }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test draft-ietf-ldup-subentry -->
- <testcase name="getTestCaseName('Draft IETF LDUP Subentry 3')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-ietf-ldup-subentry'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/ldup_subentry_3.ldif' % remote.data ,
- 'expectedRC' : 53
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema Disable Schema Checking -->
- <testcase name="getTestCaseName('Disable Schema Checking')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Disable schema checking'
- </message>
-
- <call function="'modifyGlobal'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'attributeName' : 'check-schema' ,
- 'attributeValue' : 'false' }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema: Enable Schema Checking' -->
- <testcase name="getTestCaseName('Enable Schema Checking')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Enable Schema Checking'
- </message>
-
- <call function="'modifyGlobal'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'attributeName' : 'check-schema' ,
- 'attributeValue' : 'true' }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema: Disable Syntax Checking -->
- <testcase name="getTestCaseName('Disable Syntax Checking')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Disable syntax checking'
- </message>
-
- <call function="'dsconfig'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'subcommand' : 'set-attribute-syntax-prop' ,
- 'objectType' : 'syntax-name' ,
- 'objectName' : 'Generalized Time',
- 'optionsString' : '--set enabled:false',
- 'knownIssue' : '2046'
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema: Enable Syntax Checking -->
- <testcase name="getTestCaseName('Enable Syntax Checking')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Enable syntax checking'
- </message>
-
- <call function="'dsconfig'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'subcommand' : 'set-attribute-syntax-prop' ,
- 'objectType' : 'syntax-name' ,
- 'objectName' : 'Generalized Time',
- 'optionsString' : '--set enabled:true'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test draft-ietf-zeilenga-ldap-cosine -->
- <testcase name="getTestCaseName('Draft IETF Zeilenga LDAP COSINE 1')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-ietf-zeilenga-ldap-cosine'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/ldap_cosine_1.ldif' % remote.data }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test draft-ietf-zeilenga-ldap-cosine -->
- <testcase name="getTestCaseName('Draft IETF Zeilenga LDAP COSINE 2')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-ietf-zeilenga-ldap-cosine'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/ldap_cosine_2.ldif' % remote.data }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test draft-ietf-zeilenga-ldap-cosine -->
- <testcase name="getTestCaseName('Draft IETF Zeilenga LDAP COSINE 3')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-ietf-zeilenga-ldap-cosine'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/ldap_cosine_3.ldif' % remote.data ,
- 'expectedRC' : 65
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <testcase name="getTestCaseName('RFC 2739')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 2739'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2739.ldif' % remote.data }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'Search the entry just added and return calCalURI '
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=rfc tests,dc=example,dc=com' ,
- 'dsFilter' : 'uid=tsmith' ,
- 'attributes' : 'calCalURI' }
-
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <testcase name="getTestCaseName('RFC 2714 1')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 2714'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2714.ldif' % remote.data ,
- 'expectedRC' : 65
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <testcase name="getTestCaseName('RFC 2714 2')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 2714'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2714_2.ldif' % remote.data }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'Search the entry just added and return corbaRepositoryId '
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=rfc tests,dc=example,dc=com' ,
- 'dsFilter' : 'cn=corba1' ,
- 'attributes' : 'corbaRepositoryId' }
-
- </call>
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <testcase name="getTestCaseName('RFC 2713')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 2713'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2713.ldif' % remote.data }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'Search the entry just added and return javaClassName '
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'ou=java object,o=rfc tests,dc=example,dc=com' ,
- 'dsFilter' : 'cn=java1' ,
- 'attributes' : 'javaClassName' }
-
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/schema/schema_cleanup.xml' % (TESTS_DIR)"/>
- <call function="'schema_cleanup'"/>
-
-
- <call function="'testSuite_Postamble'"/>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/schema_setup.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/schema_setup.xml
index a5df571..d73eafa 100644
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/schema_setup.xml
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/schema_setup.xml
@@ -34,88 +34,85 @@
<sequence>
<block name="'setup'">
-
- <sequence>
-
-
- <block name="'Block Create DS Topology'">
- <!-- Create the topology necessary to the test group/suite -->
- <sequence>
-
- <message>
- 'Create DS topology as described in config.py'
- </message>
-
- <call function="'createTopology'">
- { 'initialiseInstance' : True }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
- <!--- End Block Create DS Topology -->
- </block>
-
- <block name="'Block DS Process Active'">
- <!--- Start DS -->
- <sequence>
-
- <message>
- 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
-
- <!--- Start DS -->
- <call function="'StartDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <!--- Check that DS started -->
- <call function="'isAlive'">
- { 'noOfLoops' : 5 ,
- 'noOfMilliSeconds' : 2000 }
- </call>
-
- </sequence>
- <!--- End Block DS Process Active -->
- </block>
-
-
- <block name="'Block DS Load Data'">
- <!-- Load the data needed by the test suite -->
+ <try>
<sequence>
-
- <message>
- 'Add entries that are required for the Schema Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/schema_start.ldif' % remote.data }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
-
- </sequence>
- <!-- End Block DS Load Data -->
- </block>
- </sequence>
+ <!-- Create the topology necessary to the test group/suite -->
+ <call function="'runFunction'">
+ { 'functionName' : 'createTopology' ,
+ 'functionMessage' : 'Create DS topology' ,
+ 'functionException' : 'Server.CreateTopologyException' ,
+ 'functionArguments' : { 'initialiseInstance' : True }
+ }
+ </call>
+
+ <!-- Start the OpenDS Server -->
+ <call function="'runFunction'">
+ { 'functionName' : 'StartDsWithScript' ,
+ 'functionMessage' : 'Start the Directory Server.' ,
+ 'functionException' : 'Server.StartException' ,
+ 'functionArguments' : { 'location' : STAF_REMOTE_HOSTNAME }
+ }
+ </call>
+
+ <!--- Check that DS started -->
+ <call function="'runFunction'">
+ { 'functionName' : 'isAlive' ,
+ 'functionMessage' : 'Start the Directory Server.' ,
+ 'functionException' : 'Server.StartException' ,
+ 'functionArguments' : { 'noOfLoops' : 5 ,
+ 'noOfMilliSeconds' : 2000 }
+ }
+ </call>
+
+ <!-- Load the data needed by the test suite -->
+ <script>
+ schemastartldif='%s/schema/ldifs/schema_start.ldif' % remote.data
+ </script>
+ <call function="'runFunction'">
+ { 'functionName' : 'addEntry' ,
+ 'functionMessage' : 'Start the Directory Server.' ,
+ 'functionException' : 'LDAP.AddEntryException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'entryToBeAdded' : schemastartldif }
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException.Server.CreateTopologyException'" typevar="eType" var="eInfo">
+ <sequence>
+ <message log="1" level="'fatal'">
+ '%s: Create topology failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ <throw exception="'STAFException.TestSuite.SetupException'" />
+ </sequence>
+ </catch>
+
+ <catch exception="'STAXException.Server.StartException'" typevar="eType" var="eInfo">
+ <sequence>
+ <message log="1" level="'fatal'">
+ '%s: Failed to start Directory Server. eInfo(%s)' % (eType,eInfo)
+ </message>
+ <throw exception="'STAFException.TestSuite.SetupException'" />
+ </sequence>
+ </catch>
+
+ <catch exception="'STAXException.LDAP.AddEntryException'" typevar="eType" var="eInfo">
+ <sequence>
+ <message log="1" level="'fatal'">
+ '%s: LDAPAdd failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ <throw exception="'STAFException.TestSuite.SetupException'" />
+ </sequence>
+ </catch>
+
+ </try>
+
</block>
</sequence>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/solaris/schema_solaris.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/solaris/schema_solaris.xml
new file mode 100644
index 0000000..da087c8
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/solaris/schema_solaris.xml
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2008 Sun Microsystems, Inc.
+ ! -->
+<stax>
+ <defaultcall function="main_schema_solaris"/>
+ <function name="main_schema_solaris" scope="local">
+ <sequence>
+ <block name="'main_schema_solaris'">
+ <try>
+ <sequence>
+ <script>
+ CurrentTestPath['group']='schema'
+ CurrentTestPath['suite']='solaris'
+
+ __group=CurrentTestPath['group']
+ __groupdir='%s/testcases/%s' % (TESTS_DIR,__group)
+ </script>
+
+ <!--- Test Suite information
+ #@TestSuiteName Native schema test suite
+ #@TestSuitePurpose Verify LDAP Naming Services Schema Elements
+ #@TestSuiteID Suite
+ #@TestSuiteGroup Example
+ #@TestGroup Example
+ #@TestScript suite.xml
+ #@TestHTMLLink http://opends.dev.java.net/
+ -->
+ <call function="'testSuite_Preamble'"/>
+
+ <try>
+ <sequence>
+
+ <!-- List of Import of Test Functions -->
+ <script>
+ importList=[]
+ importList.append('schema_setup')
+ importList.append('solaris/schema_solaris_tests')
+ importList.append('schema_cleanup')
+ </script>
+
+ <!-- Import the files for this test suite -->
+ <iterate var="__import" in="importList">
+ <import machine="STAF_LOCAL_HOSTNAME"
+ file="'%s/%s.xml' % (__groupdir,__import)"/>
+ </iterate>
+
+ <!-- Test Suite Setup -->
+ <call function="'%s_setup' % __group"/>
+
+ <!-- List of Test Cases -->
+ <script>
+ testsList=[]
+ testsList.append('schema_solaris_001')
+ testsList.append('schema_rfc4876_001')
+ </script>
+
+ <!-- Execute the Tests -->
+ <iterate var="__test" in="testsList">
+ <sequence>
+ <call function="'%s' % (__test)" />
+ </sequence>
+ </iterate>
+
+ </sequence>
+ <catch exception="'STAFException.TestSuite.SetupException'">
+ <sequence>
+ <message log="1" level="'fatal'">
+ 'Setup of test suite failed.'
+ </message>
+ <rethrow/>
+ </sequence>
+ </catch>
+
+ <finally>
+ <message>'Test Cases Completed.'</message>
+ </finally>
+
+ </try>
+
+ </sequence>
+
+ <finally>
+ <sequence>
+ <!-- Test Suite Cleanup -->
+ <message>'Finally: Example Cleanup.'</message>
+ <call function="'%s_cleanup' % __group"/>
+ <call function="'testSuite_Postamble'"/>
+ </sequence>
+ </finally>
+
+ </try>
+ </block>
+ </sequence>
+ </function>
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/solaris/schema_solaris_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/solaris/schema_solaris_tests.xml
new file mode 100644
index 0000000..3e8b271
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/schema/solaris/schema_solaris_tests.xml
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2008 Sun Microsystems, Inc.
+ ! -->
+<stax>
+
+ <!-- Definition of Test Cases -->
+
+ <!--- Test Case : Schema: Add Solaris Schema Entries -->
+ <!--- Test Case information
+ #@TestMarker Schema
+ #@TestName Schema: Add Solaris Schema Entries
+ #@TestID Test
+ #@TestPurpose Add Solaris schema entries
+ #@TestPreamble
+ #@TestSteps Add over LDAP protocol Solaris schema entries
+ #@TestPostamble
+ #@TestResult Test is successful if the result code is 0
+ -->
+ <function name="schema_solaris_001" scope="local">
+ <testcase name="getTestCaseName('Add Solaris Schema Entries')">
+ <sequence>
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ solarisLdif='%s/schema/solaris/solaris.ldif' % remote.data
+ </script>
+ <call function="'runFunction'">
+ { 'functionName' : 'ldapModifyWithScript' ,
+ 'functionMessage' : 'Add solaris schema entries' ,
+ 'functionException' : 'LDAP.ModifyException' ,
+ 'functionArguments' : { 'location' : server.location ,
+ 'dsInstanceHost': server.host ,
+ 'dsInstancePort': server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd': server.password ,
+ 'dsAdd' : 'TRUE' ,
+ 'dsFilename' : solarisLdif }
+ }
+ </call>
+
+ <!-- TODO: Need to verify that the added entry is working as specified -->
+
+ </sequence>
+ <catch exception="'STAXException.LDAP.ModifyException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPModify failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--- Test Case : Schema: Add RFC 4876 Schema Entries -->
+ <!--- Test Case information
+ #@TestMarker Schema
+ #@TestName Schema: Add RFC 4876 Schema Entries
+ #@TestID Test
+ #@TestPurpose Add RFC 4876 schema entries
+ #@TestPreamble
+ #@TestSteps Add over LDAP protocol RFC 4876 schema entries
+ #@TestPostamble
+ #@TestResult Test is successful if the result code is 0
+ -->
+ <function name="schema_rfc4876_001" scope="local">
+ <testcase name="getTestCaseName('Add RFC 4876 Schema Entries')">
+ <sequence>
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ rfc4876ldif='%s/schema/solaris/rfc4876.ldif ' % remote.data
+ </script>
+ <call function="'runFunction'">
+ { 'functionName' : 'ldapModifyWithScript' ,
+ 'functionMessage' : 'Add solaris schema entries' ,
+ 'functionException' : 'LDAP.ModifyException' ,
+ 'functionArguments' : { 'location' : server.location ,
+ 'dsInstanceHost': server.host ,
+ 'dsInstancePort': server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd': server.password ,
+ 'dsAdd' : 'TRUE' ,
+ 'dsFilename' : rfc4876ldif }
+ }
+ </call>
+
+ <!-- TODO: Need to verify that the added entry is working as specified -->
+
+ </sequence>
+ <catch exception="'STAXException.LDAP.ModifyException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPModify failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/functions/utils.xml b/opendj-sdk/opends/tests/staf-tests/shared/functions/utils.xml
index e9b94e6..69a926b 100755
--- a/opendj-sdk/opends/tests/staf-tests/shared/functions/utils.xml
+++ b/opendj-sdk/opends/tests/staf-tests/shared/functions/utils.xml
@@ -254,6 +254,15 @@
searchre = re.compile('%s' % expectedString)
</script>
+ <!-- Check that returnString is really a string -->
+ <if expr='returnString.__class__ is not org.python.core.PyString'>
+ <sequence>
+ <message log="1" level="'Error'">
+ 'ERROR : Invalid returnString type (%s), requires org.python.core.PyString.' % returnString.__class__
+ </message>
+ <tcstatus result="'fail'"/>
+ </sequence>
+ </if>
<if expr='re.search(searchre, returnString) != None'>
<sequence>
<tcstatus result="'pass'"/>
@@ -1428,7 +1437,7 @@
</sequence>
</function>
- <function name="runFunction">
+ <function name="runFunction" scope="local">
<function-map-args>
<function-arg-def name="functionName" type="required">
<function-arg-description>
@@ -1523,7 +1532,9 @@
if not True:
True=1
-
+
+ _expectedRC=int(expectedRC)
+
_throwException=False
if functionException:
_throwException=True
@@ -1541,20 +1552,27 @@
if functionFailureTC:
_createFailureTC=True
</script>
- <message log="1" level="'info'" if="_displayMessage == True">'%s' % functionMessage</message>
- <message log="1" level="'debug'">'runFunction: %s: called with parameters [%s]' % (functionName,functionArguments)</message>
+ <message log="1" level="'info'" if="_displayMessage == True">
+ '%s' % functionMessage
+ </message>
+ <message log="1" level="'debug'">
+ 'runFunction: %s: called with parameters [%s]' % (functionName,functionArguments)
+ </message>
<call function="functionName">functionArguments</call>
<script>
- _functionRC = RC
+ _functionRC = int(RC)
+ _functionResult = STAXResult
</script>
- <message log="1" level="'debug'">'runFunction: %s: returned [%s] with [%s]' % (functionName,RC,STAXResult)</message>
+ <message log="1" level="'debug'">
+ 'runFunction: %s: returned [%s] with [%s]' % (functionName,RC,STAXResult)
+ </message>
<!-- this section handles the optional case when we need to set the
test case status
-->
<if expr="_doSetTCStatus == True">
<sequence>
- <if expr="_functionRC == expectedRC">
+ <if expr="_functionRC == _expectedRC">
<script>_tcStatus='pass'</script>
</if>
<tcstatus result="_tcStatus" />
@@ -1565,7 +1583,7 @@
exception upon unexpected function return code
-->
<if expr="_throwException == True" >
- <if expr="_functionRC != expectedRC" >
+ <if expr="_functionRC != _expectedRC" >
<throw exception="'STAXException.%s' % functionException" />
</if>
</if>
@@ -1574,7 +1592,7 @@
test case status to fail to reflect the failure in the test report.
-->
<if expr="_createFailureTC == True" >
- <if expr="_functionRC != expectedRC" >
+ <if expr="_functionRC != _expectedRC" >
<testcase name="'!!! %s [%s]' % (functionFailureTC,functionName)">
<tcstatus result="'fail'" />
</testcase>
@@ -1584,8 +1602,8 @@
<!-- TODO: implement the signal raising mechanism -->
<!-- TODO: implement the call back function mechanism -->
- <!-- bubble the function return code up one level -->
- <return>_functionRC</return>
+ <!-- bubble the function return code and result up one level -->
+ <return>[_functionRC,_functionResult]</return>
</sequence>
</function>
--
Gitblit v1.10.0