Use windows-1252 encoding for stdin/stdout on Windows
[factor/jcg.git] / unmaintained / ldap / ldap-tests.factor
blob14029706e51fd2036fa3f950e2a49ff4d03c2103
1 USING: alien alien.c-types io kernel ldap ldap.libldap
2 namespaces prettyprint tools.test ;
3 IN: ldap.tests
5 "void*" <c-object> "ldap://localhost:389" initialize
7 get-ldp LDAP_OPT_PROTOCOL_VERSION LDAP_VERSION3 <int> set-option
9 [ 3 ] [
10     get-ldp LDAP_OPT_PROTOCOL_VERSION "int*" <c-object> [ get-option ] keep
11     *int
12 ] unit-test
15     get-ldp "cn=jimbob,dc=example,dc=com" "secret" [
17         ! get-ldp "dc=example,dc=com" LDAP_SCOPE_ONELEVEL "(objectclass=*)" f 0
18         ! "void*" <c-object> [ search-s ] keep *int .
20         [ 2 ] [
21             get-ldp "dc=example,dc=com" LDAP_SCOPE_SUBTREE "(objectclass=*)" f 0
22             search
23         ] unit-test
25         ! get-ldp LDAP_RES_ANY 0 f "void*" <c-object> result .
27         get-ldp LDAP_RES_ANY LDAP_MSG_ALL f "void*" <c-object> result
29         ! get-message *int .
31         "Message ID: " write
33         get-message msgid .
35         get-ldp get-message get-dn .
37         "Entries count: " write
39         get-ldp get-message count-entries .
41         SYMBOL: entry
42         SYMBOL: attr
44         "Attribute: " write
46         get-ldp get-message first-entry entry set get-ldp entry get
47         "void*" <c-object> first-attribute dup . attr set
49         "Value: " write
51         get-ldp entry get attr get get-values *char* .
53         get-ldp get-message first-message msgtype result-type
55         get-ldp get-message next-message msgtype result-type
57     ] with-bind
58 ] drop