テスト

このセクションでは、Spring LDAP を使用したテストについて説明します。次のトピックが含まれています。

組み込みサーバーの使用

spring-ldap-test は、ApacheDS (英語) または UnboundID (英語) に基づく組み込み LDAP サーバーを提供します。

spring-ldap-test は ApacheDS 1.5.5 と互換性があります。新しいバージョンの ApacheDS はサポートされていません。

開始するには、spring-ldap-test 依存関係を含める必要があります。

次のリストは、Maven に spring-ldap-test を組み込む方法を示しています。

<dependency>
    <groupId>org.springframework.ldap</groupId>
    <artifactId>spring-ldap-test</artifactId>
    <version>3.2.4</version>
    <scope>test</scope>
</dependency>

次のリストは、Gradle に spring-ldap-test を組み込む方法を示しています。

testCompile "org.springframework.ldap:spring-ldap-test:3.2.4"

ApacheDS

ApacheDS を使用するには、いくつかの ApacheDS 依存関係を含める必要があります。

次の例は、Maven の ApacheDS 依存関係を含める方法を示しています。

<dependency>
    <groupId>org.apache.directory.server</groupId>
    <artifactId>apacheds-core</artifactId>
    <version>1.5.5</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.apache.directory.server</groupId>
    <artifactId>apacheds-core-entry</artifactId>
    <version>1.5.5</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.apache.directory.server</groupId>
    <artifactId>apacheds-protocol-shared</artifactId>
    <version>1.5.5</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.apache.directory.server</groupId>
    <artifactId>apacheds-protocol-ldap</artifactId>
    <version>1.5.5</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.apache.directory.server</groupId>
    <artifactId>apacheds-server-jndi</artifactId>
    <version>1.5.5</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.apache.directory.shared</groupId>
    <artifactId>shared-ldap</artifactId>
    <version>0.9.15</version>
    <scope>test</scope>
</dependency>

次の例は、Gradle の ApacheDS 依存関係を含める方法を示しています。

testCompile "org.apache.directory.server:apacheds-core:1.5.5",
            "org.apache.directory.server:apacheds-core-entry:1.5.5",
            "org.apache.directory.server:apacheds-protocol-shared:1.5.5",
            "org.apache.directory.server:apacheds-protocol-ldap:1.5.5",
            "org.apache.directory.server:apacheds-server-jndi:1.5.5",
            "org.apache.directory.shared:shared-ldap:0.9.15"

次の Bean 定義は、組み込み LDAP サーバーを作成します。

<bean id="embeddedLdapServer" class="org.springframework.ldap.test.EmbeddedLdapServerFactoryBean">
    <property name="partitionName" value="example"/>
    <property name="partitionSuffix" value="dc=261consulting,dc=com" />
    <property name="port" value="9321" />
</bean>

spring-ldap-test は、org.springframework.ldap.test.LdifPopulator を使用して LDAP サーバーに入力するメカニズムを提供します。これを使用するには、次のような Bean を作成します。

<bean class="org.springframework.ldap.test.LdifPopulator" depends-on="embeddedLdapServer">
    <property name="contextSource" ref="contextSource" />
    <property name="resource" value="classpath:/setup_data.ldif" />
    <property name="base" value="dc=jayway,dc=se" />
    <property name="clean" value="true" />
    <property name="defaultBase" value="dc=jayway,dc=se" />
</bean>

組み込み LDAP サーバーに対して動作する別の方法は、次のように org.springframework.ldap.test.TestContextSourceFactoryBean を使用することです。

<bean id="contextSource" class="org.springframework.ldap.test.TestContextSourceFactoryBean">
    <property name="defaultPartitionSuffix" value="dc=jayway,dc=se" />
    <property name="defaultPartitionName" value="jayway" />
    <property name="principal" value="uid=admin,ou=system" />
    <property name="password" value="secret" />
    <property name="ldifFile" value="classpath:/setup_data.ldif" />
    <property name="port" value="1888" />
</bean>

また、org.springframework.ldap.test.LdapTestUtils は組み込み LDAP サーバーをプログラムで操作する方法を提供します。

UnboundID

UnboundID を使用するには、UnboundID 依存関係を含める必要があります。

次の例は、Maven の UnboundID 依存関係を含める方法を示しています。

<dependency>
    <groupId>com.unboundid</groupId>
    <artifactId>unboundid-ldapsdk</artifactId>
    <version>3.1.1</version>
    <scope>test</scope>
</dependency>

次の例は、Gradle の UnboundID 依存関係を含める方法を示しています。

testCompile "com.unboundid:unboundid-ldapsdk:3.1.1"

次の Bean 定義は、組み込み LDAP サーバーを作成します。

<bean id="embeddedLdapServer" class="org.springframework.ldap.test.unboundid.EmbeddedLdapServerFactoryBean">
    <property name="partitionName" value="example"/>
    <property name="partitionSuffix" value="dc=261consulting,dc=com" />
    <property name="port" value="9321" />
</bean>

spring-ldap-test は、org.springframework.ldap.test.unboundid.LdifPopulator を使用して LDAP サーバーを設定する方法を提供します。これを使用するには、次のような Bean を作成します。

<bean class="org.springframework.ldap.test.unboundid.LdifPopulator" depends-on="embeddedLdapServer">
    <property name="contextSource" ref="contextSource" />
    <property name="resource" value="classpath:/setup_data.ldif" />
    <property name="base" value="dc=jayway,dc=se" />
    <property name="clean" value="true" />
    <property name="defaultBase" value="dc=jayway,dc=se" />
</bean>

組み込み LDAP サーバーに対して機能する別の方法は、org.springframework.ldap.test.unboundid.TestContextSourceFactoryBean を使用することです。これを使用するには、次のような Bean を作成します。

<bean id="contextSource" class="org.springframework.ldap.test.unboundid.TestContextSourceFactoryBean">
    <property name="defaultPartitionSuffix" value="dc=jayway,dc=se" />
    <property name="defaultPartitionName" value="jayway" />
    <property name="principal" value="uid=admin,ou=system" />
    <property name="password" value="secret" />
    <property name="ldifFile" value="classpath:/setup_data.ldif" />
    <property name="port" value="1888" />
</bean>

また、org.springframework.ldap.test.unboundid.LdapTestUtils は組み込み LDAP サーバーをプログラムで操作する方法を提供します。