Blame lenses/tests/test_ldif.aug

Packit 06dd63
(* Test for LDIF lens *)
Packit 06dd63
module Test_ldif =
Packit 06dd63
Packit 06dd63
  (* Test LDIF content only *)
Packit 06dd63
  let content = "version: 1
Packit 06dd63
dn: cn=foo bar,dc=example,dc=com
Packit 06dd63
# test
Packit 06dd63
ou: example value
Packit 06dd63
cn:: Zm9vIGJhcg==
Packit 06dd63
# test
Packit 06dd63
telephoneNumber;foo;bar: +1 123 456 789
Packit 06dd63
binary;foo:< file:///file/something
Packit 06dd63
# test
Packit 06dd63
Packit 06dd63
dn: cn=simple,dc=example,dc=com
Packit 06dd63
cn: simple
Packit 06dd63
test: split line starts with
Packit 06dd63
  :colon
Packit 06dd63
Packit 06dd63
dn:: Y249c2ltcGxlLGRjPWV4YW1wbGUsZGM9Y29t
Packit 06dd63
# test
Packit 06dd63
cn: simple
Packit 06dd63
Packit 06dd63
dn: cn=simple,dc=exam
Packit 06dd63
    ple,dc=com
Packit 06dd63
cn: simple
Packit 06dd63
telephoneNumber:: KzEgMTIzIDQ1
Packit 06dd63
  NiA3ODk=
Packit 06dd63
Packit 06dd63
# test
Packit 06dd63
"
Packit 06dd63
Packit 06dd63
  test Ldif.lns get content =
Packit 06dd63
    { "@content"
Packit 06dd63
        { "version" = "1" }
Packit 06dd63
        { "1" = "cn=foo bar,dc=example,dc=com"
Packit 06dd63
            { "#comment" = "test" }
Packit 06dd63
            { "ou" = "example value" }
Packit 06dd63
            { "cn"
Packit 06dd63
                { "@base64" = "Zm9vIGJhcg==" } }
Packit 06dd63
            { "#comment" = "test" }
Packit 06dd63
            { "telephoneNumber" = "+1 123 456 789"
Packit 06dd63
                { "@option" = "foo" }
Packit 06dd63
                { "@option" = "bar" } }
Packit 06dd63
            { "binary"
Packit 06dd63
                { "@option" = "foo" }
Packit 06dd63
                { "@url" = "file:///file/something" } } }
Packit 06dd63
        { "#comment" = "test" }
Packit 06dd63
        {}
Packit 06dd63
        { "2" = "cn=simple,dc=example,dc=com"
Packit 06dd63
            { "cn" = "simple" }
Packit 06dd63
            { "test" = "split line starts with
Packit 06dd63
  :colon" } }
Packit 06dd63
        {}
Packit 06dd63
        { "3"
Packit 06dd63
            { "@base64" = "Y249c2ltcGxlLGRjPWV4YW1wbGUsZGM9Y29t" }
Packit 06dd63
            { "#comment" = "test" }
Packit 06dd63
            { "cn" = "simple" } }
Packit 06dd63
        {}
Packit 06dd63
        { "4" = "cn=simple,dc=exam
Packit 06dd63
    ple,dc=com"
Packit 06dd63
            { "cn" = "simple" }
Packit 06dd63
            { "telephoneNumber"
Packit 06dd63
                { "@base64" = "KzEgMTIzIDQ1
Packit 06dd63
  NiA3ODk=" } } }
Packit 06dd63
        {}
Packit 06dd63
        { "#comment" = "test" }
Packit 06dd63
    }
Packit 06dd63
Packit 06dd63
  (* Test LDIF changes *)
Packit 06dd63
  let changes = "version: 1
Packit 06dd63
dn: cn=foo,dc=example,dc=com
Packit 06dd63
changetype: delete
Packit 06dd63
Packit 06dd63
dn: cn=simple,dc=example,dc=com
Packit 06dd63
control: 1.2.3.4
Packit 06dd63
control: 1.2.3.4  true
Packit 06dd63
# test
Packit 06dd63
control: 1.2.3.4  true: foo bar
Packit 06dd63
control: 1.2.3.4  true:: Zm9vIGJhcg==
Packit 06dd63
changetype: add
Packit 06dd63
cn: simple
Packit 06dd63
Packit 06dd63
dn: cn=foo bar,dc=example,dc=com
Packit 06dd63
changeType: modify
Packit 06dd63
add: telephoneNumber
Packit 06dd63
telephoneNumber: +1 123 456 789
Packit 06dd63
-
Packit 06dd63
replace: homePostalAddress;lang-fr
Packit 06dd63
homePostalAddress;lang-fr: 34 rue de Seine
Packit 06dd63
# test
Packit 06dd63
-
Packit 06dd63
delete: telephoneNumber
Packit 06dd63
-
Packit 06dd63
replace: telephoneNumber
Packit 06dd63
telephoneNumber:: KzEgMTIzIDQ1NiA3ODk=
Packit 06dd63
-
Packit 06dd63
Packit 06dd63
dn: cn=foo,dc=example,dc=com
Packit 06dd63
changetype: moddn
Packit 06dd63
newrdn: cn=bar
Packit 06dd63
deleteoldrdn: 0
Packit 06dd63
newsuperior: dc=example,dc=net
Packit 06dd63
"
Packit 06dd63
Packit 06dd63
  test Ldif.lns get changes =
Packit 06dd63
    { "@changes"
Packit 06dd63
        { "version" = "1" }
Packit 06dd63
        { "1" = "cn=foo,dc=example,dc=com"
Packit 06dd63
            { "changetype" = "delete" } }
Packit 06dd63
        {}
Packit 06dd63
        { "2" = "cn=simple,dc=example,dc=com"
Packit 06dd63
            { "control" = "1.2.3.4" }
Packit 06dd63
            { "control" = "1.2.3.4"
Packit 06dd63
                { "criticality" = "true" } }
Packit 06dd63
            { "#comment" = "test" }
Packit 06dd63
            { "control" = "1.2.3.4"
Packit 06dd63
                { "criticality" = "true" }
Packit 06dd63
                { "value" = "foo bar" } }
Packit 06dd63
            { "control" = "1.2.3.4"
Packit 06dd63
                { "criticality" = "true" }
Packit 06dd63
                { "value"
Packit 06dd63
                    { "@base64" = "Zm9vIGJhcg==" } } }
Packit 06dd63
            { "changetype" = "add" }
Packit 06dd63
            { "cn" = "simple" } }
Packit 06dd63
        {}
Packit 06dd63
        { "3" = "cn=foo bar,dc=example,dc=com"
Packit 06dd63
            { "changeType" = "modify" }
Packit 06dd63
            { "add" = "telephoneNumber"
Packit 06dd63
                { "telephoneNumber" = "+1 123 456 789" } }
Packit 06dd63
            { "replace" = "homePostalAddress"
Packit 06dd63
                { "@option" = "lang-fr" }
Packit 06dd63
                { "homePostalAddress" = "34 rue de Seine"
Packit 06dd63
                    { "@option" = "lang-fr" } }
Packit 06dd63
                { "#comment" = "test" } }
Packit 06dd63
            { "delete" = "telephoneNumber" }
Packit 06dd63
            { "replace" = "telephoneNumber"
Packit 06dd63
                { "telephoneNumber"
Packit 06dd63
                    { "@base64" = "KzEgMTIzIDQ1NiA3ODk=" } } } }
Packit 06dd63
        {}
Packit 06dd63
        { "4" = "cn=foo,dc=example,dc=com"
Packit 06dd63
            { "changetype" = "moddn" }
Packit 06dd63
            { "newrdn" = "cn=bar" }
Packit 06dd63
            { "deleteoldrdn" = "0" }
Packit 06dd63
            { "newsuperior" = "dc=example,dc=net" } }
Packit 06dd63
    }
Packit 06dd63
Packit 06dd63
(* Local Variables: *)
Packit 06dd63
(* mode: caml       *)
Packit 06dd63
(* End:             *)