测试

使用嵌入式服务器

春季LDAP测试提供基于ApacheDSUnboundID的嵌入式LDAP服务器。spring-doc.cadn.net.cn

春季LDAP测试兼容ApacheDS 1.5.5。不支持更新版本的ApacheDS。

要开始,你需要包含以下内容春季LDAP测试Dependency。spring-doc.cadn.net.cn

以下列表展示了如何包含春季LDAP测试对于Maven:spring-doc.cadn.net.cn

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

以下列表展示了如何包含春季LDAP测试关于Gradle:spring-doc.cadn.net.cn

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

ApacheDS

要使用 ApacheDS,你需要包含多个 ApacheDS 依赖。spring-doc.cadn.net.cn

以下示例展示了如何为Maven包含ApacheDS依赖:spring-doc.cadn.net.cn

<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依赖:spring-doc.cadn.net.cn

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 服务器:spring-doc.cadn.net.cn

<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>

春季LDAP测试提供了一种机制来填充LDAP服务器,通过以下方式:org.springframework.ldap.test.LdifPopulator.使用它的方式,制作类似以下内容的豆子:spring-doc.cadn.net.cn

<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如下:spring-doc.cadn.net.cn

<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 服务器进行程序化工作的方法。spring-doc.cadn.net.cn

UnboundID

要使用 UnboundID,你需要包含 UnboundID 依赖。spring-doc.cadn.net.cn

以下示例展示了如何为Maven包含UnboundID依赖:spring-doc.cadn.net.cn

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

以下示例展示了如何为 Gradle 包含 UnboundID 依赖:spring-doc.cadn.net.cn

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

以下 bean 定义创建了嵌入式 LDAP 服务器:spring-doc.cadn.net.cn

@Bean
EmbeddedLdapServer embeddedLdapServer() {
    return EmbeddedLdapServer.withPartitionSuffix("dc=jayway,dc=se")
        .partitionName("jayway")
        .port(18881)
        .configurationCustomizer((config) -> config.setCodeLogDetails(tempLogFile, true))
        .build();
}

或者,你也可以使用org.springframework.ldap.test.unboundid.LdifPopulator创建并填充LDAP服务器。使用它的方式,制作类似以下内容的豆子:spring-doc.cadn.net.cn

<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. 使用它的方式,制作类似以下内容的豆子:spring-doc.cadn.net.cn

<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服务器程序化协作的方法。spring-doc.cadn.net.cn