r26479: Further test behaviour of 'attribute or value exists'.
authorAndrew Bartlett <abartlet@samba.org>
Mon, 17 Dec 2007 01:13:41 +0000 (02:13 +0100)
committerStefan Metzmacher <metze@samba.org>
Fri, 21 Dec 2007 04:50:37 +0000 (05:50 +0100)
Andrew Bartlett
(This used to be commit 11c153163c359fd07402daa61b93872387e12568)

testprogs/ejs/ldap.js

index bc7d8ec341cb93ff8346d2775347f32b233f439f..6af70971ebc92cfa1c8a42e9ebc532d93e02472f 100755 (executable)
@@ -137,6 +137,7 @@ displayname: ldap testy
                }
        }
 
+           println("Testing attribute or value exists behaviour");
            ok = ldb.modify("
 dn: cn=ldaptest2computer,cn=computers," + base_dn + "
 changetype: modify
@@ -146,6 +147,32 @@ servicePrincipalName: host/ldaptest2computer
 servicePrincipalName: cifs/ldaptest2computer
 ");
 
+//LDB_ERR_ATTRIBUTE_OR_VALUE_EXISTS
+               if (ok.error != 20) {
+                       println("Expected error LDB_ERR_ATTRIBUTE_OR_VALUE_EXISTS, got :" + ok.errstr);
+                       assert(ok.error == 20);
+               }
+
+           ok = ldb.modify("
+dn: cn=ldaptest2computer,cn=computers," + base_dn + "
+changetype: modify
+replace: servicePrincipalName
+servicePrincipalName: host/ldaptest2computer
+servicePrincipalName: cifs/ldaptest2computer
+");
+
+               if (ok.error != 0) {
+                       println("Failed to replace servicePrincpalName:" + ok.errstr);
+                       assert(ok.error == 20);
+               }
+
+           ok = ldb.modify("
+dn: cn=ldaptest2computer,cn=computers," + base_dn + "
+changetype: modify
+add: servicePrincipalName
+servicePrincipalName: host/ldaptest2computer
+");
+
 //LDB_ERR_ATTRIBUTE_OR_VALUE_EXISTS
                if (ok.error != 20) {
                        println("Expected error LDB_ERR_ATTRIBUTE_OR_VALUE_EXISTS, got :" + ok.errstr);