blob: e6ff89f542f9748f025c6e35871e3a75a62d17d9 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*/
package org.apache.directory.api.ldap.schema.converter;
import static org.junit.Assert.assertEquals;
import java.io.IOException;
import java.io.StringWriter;
import java.io.Writer;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import org.junit.runner.RunWith;
import com.mycila.junit.concurrent.Concurrency;
import com.mycila.junit.concurrent.ConcurrentJunitRunner;
@RunWith(ConcurrentJunitRunner.class)
@Concurrency()
public class TestSchemaToLdif
{
private static final String HEADER =
"#\n" +
"# Licensed to the Apache Software Foundation (ASF) under one\n" +
"# or more contributor license agreements. See the NOTICE file\n" +
"# distributed with this work for additional information\n" +
"# regarding copyright ownership. The ASF licenses this file\n" +
"# to you under the Apache License, Version 2.0 (the\n" +
"# \"License\"); you may not use this file except in compliance\n" +
"# with the License. You may obtain a copy of the License at\n" +
"# \n" +
"# http://www.apache.org/licenses/LICENSE-2.0\n" +
"# \n" +
"# Unless required by applicable law or agreed to in writing,\n" +
"# software distributed under the License is distributed on an\n" +
"# \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n" +
"# KIND, either express or implied. See the License for the\n" +
"# specific language governing permissions and limitations\n" +
"# under the License. \n" +
"#\n" +
"version: 1\n" +
"\n";
private String transform( String name ) throws ParserException, IOException
{
List<Schema> schemas = new ArrayList<Schema>();
Schema schema = new Schema();
schema.setName( name );
schema.setInput( getClass().getResourceAsStream( name + ".schema" ) );
Writer out = new StringWriter( 2048 );
schema.setOutput( out );
schemas.add( schema );
SchemaToLdif.transform( schemas );
String res = out.toString();
out.close();
return res;
}
//-------------------------------------------------------------------------
// Tests for ObjectClass
//-------------------------------------------------------------------------
@Test
public void testConvertOC() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=objectclasses, cn=testOC, ou=schema\n" +
"objectclass: metaObjectClass\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-name: objectClass\n" +
"m-description: An objectClass\n" +
"m-obsolete: TRUE\n" +
"m-supObjectClass: top\n" +
"m-typeObjectClass: ABSTRACT\n" +
"m-must: attr1\n" +
"m-must: attr2\n" +
"m-may: attr3\n" +
"m-may: attr4\n\n";
assertEquals( expected, transform( "testOC" ) );
}
@Test
public void testConvertOCMinimal() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=objectclasses, cn=testOCMinimal, ou=s\n" +
" chema\n" +
"objectclass: metaObjectClass\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n\n";
assertEquals( expected, transform( "testOCMinimal" ) );
}
@Test
public void testConvertOCNoName() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=objectclasses, cn=testOCNoName, ou=sc\n" +
" hema\n" +
"objectclass: metaObjectClass\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-description: An objectClass\n" +
"m-obsolete: TRUE\n" +
"m-supObjectClass: top\n" +
"m-typeObjectClass: ABSTRACT\n" +
"m-must: attr1\n" +
"m-must: attr2\n" +
"m-may: attr3\n" +
"m-may: attr4\n\n";
assertEquals( expected, transform( "testOCNoName" ) );
}
@Test
public void testConvertOCAbstract() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=objectclasses, cn=testOCAbstract, ou=\n" +
" schema\n" +
"objectclass: metaObjectClass\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-typeObjectClass: ABSTRACT\n\n";
assertEquals( expected, transform( "testOCAbstract" ) );
}
@Test
public void testConvertOCAuxiliary() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=objectclasses, cn=testOCAuxiliary, ou\n" +
" =schema\n" +
"objectclass: metaObjectClass\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-typeObjectClass: AUXILIARY\n\n";
assertEquals( expected, transform( "testOCAuxiliary" ) );
}
@Test
public void testConvertOCDesc() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=objectclasses, cn=testOCDesc, ou=sche\n" +
" ma\n" +
"objectclass: metaObjectClass\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-description: An objectClass\n\n";
assertEquals( expected, transform( "testOCDesc" ) );
}
@Test
public void testConvertOCMayOne() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=objectclasses, cn=testOCMayOne, ou=sc\n" +
" hema\n" +
"objectclass: metaObjectClass\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-may: attr1\n\n";
assertEquals( expected, transform( "testOCMayOne" ) );
}
@Test
public void testConvertOCMay2() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=objectclasses, cn=testOCMay2, ou=sche\n" +
" ma\n" +
"objectclass: metaObjectClass\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-may: attr1\n" +
"m-may: attr2\n\n";
assertEquals( expected, transform( "testOCMay2" ) );
}
@Test
public void testConvertOCMayMany() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=objectclasses, cn=testOCMayMany, ou=s\n" +
" chema\n" +
"objectclass: metaObjectClass\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-may: attr1\n" +
"m-may: attr2\n" +
"m-may: attr3\n\n";
assertEquals( expected, transform( "testOCMayMany" ) );
}
@Test
public void testConvertOCMustOne() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=objectclasses, cn=testOCMustOne, ou=s\n" +
" chema\n" +
"objectclass: metaObjectClass\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-must: attr1\n\n";
assertEquals( expected, transform( "testOCMustOne" ) );
}
@Test
public void testConvertOCMust2() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=objectclasses, cn=testOCMust2, ou=sch\n" +
" ema\n" +
"objectclass: metaObjectClass\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-must: attr1\n" +
"m-must: attr2\n\n";
assertEquals( expected, transform( "testOCMust2" ) );
}
@Test
public void testConvertOCMustMany() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=objectclasses, cn=testOCMustMany, ou=\n" +
" schema\n" +
"objectclass: metaObjectClass\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-must: attr1\n" +
"m-must: attr2\n" +
"m-must: attr3\n\n";
assertEquals( expected, transform( "testOCMustMany" ) );
}
@Test
public void testConvertOCNameOne() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=objectclasses, cn=testOCNameOne, ou=s\n" +
" chema\n" +
"objectclass: metaObjectClass\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-name: objectClass\n\n";
assertEquals( expected, transform( "testOCNameOne" ) );
}
@Test
public void testConvertOCName2() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=objectclasses, cn=testOCName2, ou=sch\n" +
" ema\n" +
"objectclass: metaObjectClass\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-name: oc\n" +
"m-name: objectClass\n\n";
assertEquals( expected, transform( "testOCName2" ) );
}
@Test
public void testConvertOCNameMany() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=objectclasses, cn=testOCNameMany, ou=\n" +
" schema\n" +
"objectclass: metaObjectClass\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-name: oc\n" +
"m-name: objectClass\n" +
"m-name: object\n\n";
assertEquals( expected, transform( "testOCNameMany" ) );
}
@Test
public void testConvertOCObsolete() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=objectclasses, cn=testOCObsolete, ou=\n" +
" schema\n" +
"objectclass: metaObjectClass\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-obsolete: TRUE\n\n";
assertEquals( expected, transform( "testOCObsolete" ) );
}
@Test
public void testConvertOCSupOne() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=objectclasses, cn=testOCSupOne, ou=sc\n" +
" hema\n" +
"objectclass: metaObjectClass\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-supObjectClass: top\n\n";
assertEquals( expected, transform( "testOCSupOne" ) );
}
@Test
public void testConvertOCSup2() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=objectclasses, cn=testOCSup2, ou=sche\n" +
" ma\n" +
"objectclass: metaObjectClass\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-supObjectClass: top\n" +
"m-supObjectClass: 1.3.6.1.4.1.18060.0.4.2.3.15\n\n";
assertEquals( expected, transform( "testOCSup2" ) );
}
@Test
public void testConvertOCSupMany() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=objectclasses, cn=testOCSupMany, ou=s\n" +
" chema\n" +
"objectclass: metaObjectClass\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-supObjectClass: top\n" +
"m-supObjectClass: 1.3.6.1.4.1.18060.0.4.2.3.15\n" +
"m-supObjectClass: metaTop\n\n";
assertEquals( expected, transform( "testOCSupMany" ) );
}
//-------------------------------------------------------------------------
// Tests for Attributetype
//-------------------------------------------------------------------------
@Test
public void testConvertATMinimal() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=attributetypes, cn=testATMinimal, ou=\n" +
" schema\n" +
"objectclass: metaAttributeType\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n\n";
assertEquals( expected, transform( "testATMinimal" ) );
}
@Test
public void testConvertATNoName() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=attributetypes, cn=testATNoName, ou=s\n" +
" chema\n" +
"objectclass: metaAttributeType\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n\n";
assertEquals( expected, transform( "testATNoName" ) );
}
@Test
public void testConvertATNameOne() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=attributetypes, cn=testATNameOne, ou=\n" +
" schema\n" +
"objectclass: metaAttributeType\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-name: attribute\n\n";
assertEquals( expected, transform( "testATNameOne" ) );
}
@Test
public void testConvertATName2() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=attributetypes, cn=testATName2, ou=sc\n" +
" hema\n" +
"objectclass: metaAttributeType\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-name: at\n" +
"m-name: attribute\n\n";
assertEquals( expected, transform( "testATName2" ) );
}
@Test
public void testConvertATNameMany() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=attributetypes, cn=testATNameMany, ou\n" +
" =schema\n" +
"objectclass: metaAttributeType\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-name: at\n" +
"m-name: attribute\n" +
"m-name: attribute2\n\n";
assertEquals( expected, transform( "testATNameMany" ) );
}
@Test
public void testConvertATDesc() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=attributetypes, cn=testATDesc, ou=sch\n" +
" ema\n" +
"objectclass: metaAttributeType\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-description: An attributeType\n\n";
assertEquals( expected, transform( "testATDesc" ) );
}
@Test
public void testConvertATDesWithEscapedChars() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=attributetypes, cn=testATDescWithEsca\n" +
" ped, ou=schema\n" +
"objectclass: metaAttributeType\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-description: Some 'escaped' chars\n\n";
assertEquals( expected, transform( "testATDescWithEscaped" ) );
}
@Test
public void testConvertATObsolete() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=attributetypes, cn=testATObsolete, ou\n" +
" =schema\n" +
"objectclass: metaAttributeType\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-obsolete: TRUE\n\n";
assertEquals( expected, transform( "testATObsolete" ) );
}
@Test
public void testConvertATSup() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=attributetypes, cn=testATSup, ou=sche\n" +
" ma\n" +
"objectclass: metaAttributeType\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-supAttributeType: anotherAttribute\n\n";
assertEquals( expected, transform( "testATSup" ) );
}
@Test
public void testConvertATSupOID() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=attributetypes, cn=testATSupOID, ou=s\n" +
" chema\n" +
"objectclass: metaAttributeType\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-supAttributeType: 1.3.6.1.4.1.18060.0.4.2.3.15\n\n";
assertEquals( expected, transform( "testATSupOID" ) );
}
@Test
public void testConvertATEquality() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=attributetypes, cn=testATEquality, ou\n" +
" =schema\n" +
"objectclass: metaAttributeType\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-equality: booleanMatch\n\n";
assertEquals( expected, transform( "testATEquality" ) );
}
@Test
public void testConvertATEqualityOID() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=attributetypes, cn=testATEqualityOID,\n" +
" ou=schema\n" +
"objectclass: metaAttributeType\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-equality: 1.3.6.1.4.1.18060.0.4.2.3.15\n\n";
assertEquals( expected, transform( "testATEqualityOID" ) );
}
@Test
public void testConvertATOrdering() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=attributetypes, cn=testATOrdering, ou\n" +
" =schema\n" +
"objectclass: metaAttributeType\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-ordering: booleanMatch\n\n";
assertEquals( expected, transform( "testATOrdering" ) );
}
@Test
public void testConvertATOrderingOID() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=attributetypes, cn=testATOrderingOID,\n" +
" ou=schema\n" +
"objectclass: metaAttributeType\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-ordering: 1.3.6.1.4.1.18060.0.4.2.3.15\n\n";
assertEquals( expected, transform( "testATOrderingOID" ) );
}
@Test
public void testConvertATSubstr() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=attributetypes, cn=testATSubstr, ou=s\n" +
" chema\n" +
"objectclass: metaAttributeType\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-substr: booleanMatch\n\n";
assertEquals( expected, transform( "testATSubstr" ) );
}
@Test
public void testConvertATSubstrOID() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=attributetypes, cn=testATSubstrOID, o\n" +
" u=schema\n" +
"objectclass: metaAttributeType\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-substr: 1.3.6.1.4.1.18060.0.4.2.3.15\n\n";
assertEquals( expected, transform( "testATSubstrOID" ) );
}
@Test
public void testConvertATSyntax() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=attributetypes, cn=testATSyntax, ou=s\n" +
" chema\n" +
"objectclass: metaAttributeType\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-syntax: 1.3.6.1.4.1.18060.0.4.2.3.15\n\n";
assertEquals( expected, transform( "testATSyntax" ) );
}
@Test
public void testConvertATSyntaxOidLen() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=attributetypes, cn=testATSyntaxOidLen\n" +
" , ou=schema\n" +
"objectclass: metaAttributeType\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-syntax: 1.3.6.1.4.1.18060.0.4.2.3.15\n" +
"m-length: 123\n\n";
assertEquals( expected, transform( "testATSyntaxOidLen" ) );
}
@Test
public void testConvertATSingleValue() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=attributetypes, cn=testATSingleValue,\n" +
" ou=schema\n" +
"objectclass: metaAttributeType\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-singleValue: TRUE\n\n";
assertEquals( expected, transform( "testATSingleValue" ) );
}
@Test
public void testConvertATCollective() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=attributetypes, cn=testATCollective, \n" +
" ou=schema\n" +
"objectclass: metaAttributeType\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-collective: TRUE\n\n";
assertEquals( expected, transform( "testATCollective" ) );
}
@Test
public void testConvertATNoUserModification() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=attributetypes, cn=testATNoUserModifi\n" +
" cation, ou=schema\n" +
"objectclass: metaAttributeType\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-noUserModification: TRUE\n\n";
assertEquals( expected, transform( "testATNoUserModification" ) );
}
@Test
public void testConvertATUsageUserApp() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=attributetypes, cn=testATUsageUserApp\n" +
" , ou=schema\n" +
"objectclass: metaAttributeType\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n\n";
assertEquals( expected, transform( "testATUsageUserApp" ) );
}
@Test
public void testConvertATUsageDirOp() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=attributetypes, cn=testATUsageDirOp, \n" +
" ou=schema\n" +
"objectclass: metaAttributeType\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-usage: directoryOperation\n\n";
assertEquals( expected, transform( "testATUsageDirOp" ) );
}
@Test
public void testConvertATUsageDistrOp() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=attributetypes, cn=testATUsageDistrOp\n" +
" , ou=schema\n" +
"objectclass: metaAttributeType\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-usage: distributedOperation\n\n";
assertEquals( expected, transform( "testATUsageDistrOp" ) );
}
@Test
public void testConvertATUsageDSAOp() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.18060.0.4.2.3.14, ou=attributetypes, cn=testATUsageDsaOp, \n" +
" ou=schema\n" +
"objectclass: metaAttributeType\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.18060.0.4.2.3.14\n" +
"m-usage: dSAOperation\n\n";
assertEquals( expected, transform( "testATUsageDsaOp" ) );
}
@Test
public void testConvertMozillaATWithOidLen() throws ParserException, IOException
{
String expected =
HEADER +
"dn: m-oid=1.3.6.1.4.1.13769.3.2, ou=attributetypes, cn=testMozillaATWithOidLen, \n" +
" ou=schema\n" +
"objectclass: metaAttributeType\n" +
"objectclass: metaTop\n" +
"objectclass: top\n" +
"m-oid: 1.3.6.1.4.1.13769.3.2\n" +
"m-name: mozillaHomeStreet2\n" +
"m-equality: caseIgnoreMatch\n" +
"m-substr: caseIgnoreSubstringsMatch\n" +
"m-syntax: 1.3.6.1.4.1.1466.115.121.1.15\n" +
"m-length: 128\n" +
"m-singleValue: TRUE\n\n";
assertEquals( expected, transform( "testMozillaATWithOidLen" ) );
}
@Test(expected = ParserException.class)
public void testConvertWrongLdif() throws ParserException, IOException
{
transform( "testWrongLdif" );
}
}