.NET嵌入式LDAP服务器

9

有没有嵌入式LDAP服务器可以用于c#编写的集成测试?我知道一些Java解决方案,但找不到.NET的任何东西。

谢谢, 米哈尔


1
你有没有想过尝试使用 Microsoft Fakes 或 Pose 框架?虽然它们不完全是集成测试,但它们可以作为很好的单元测试来保护代码免受意外修改。 - zaitsman
谢谢,我不知道Pose。但这不是我要找的。我需要一些真正用于集成测试的东西。类似于UnboundID LDAP for java,我可以启动服务器,在测试中配置它,添加数据和查询。 - Michal
@Michal,你有没有找到这个问题的答案? - ist_lion
2
我已经使用了带有OpenLDAP的Docker容器来实现这个目的。https://github.com/osixia/docker-openldap - Georgy Tarasov
2个回答

1
我喜欢使用Docker镜像进行测试。别人已经完成了环境的设置。你只需要设置一些配置变量并运行docker-compose up命令即可。下面是一个这样的环境:[docker-test-openldap][1]。安装Docker,创建一个包含此项目设置的docker compose yml文件。然后在相同的目录中运行以下命令:Docker-compose up。这将启动一个虚拟服务,以您在文件中配置的方式公开端口。 Docker会为您下载和管理所有服务,因此您只需专注于yml文件。以下是存储库中的示例yml文件。
[1]: https://github.com/osixia/docker-test-openldap
version: '2'

services:
    ldap:
        container_name: ldap
        # use the image tag to pull directly from the repo
        # image: rroemhild/test-openldap
        environment:
            LDAP_FORCE_STARTTLS: "true"
            LDAP_DOMAIN: "customdomain.com"
            LDAP_BASEDN: "dc=customdomain,dc=com"
            LDAP_ORGANISATION: "Custom Domain, Inc."
            LDAP_BINDDN: "cn=admin,dc=customdomain,dc=com"
        # use build tag to use the local repo
        build:
            context: ./
            dockerfile: ./Dockerfile
        ports:
            - '10389:10389'
            - '10636:10636'
#        volumes:
#            - data_volume:/var/lib/ldap/
#
#volumes:
#    data_volume:

你可以看到端口是可配置的。在这个示例中,端口10389映射到相同的端口,但如果你正在使用该端口,则可以更改它。 取消注释图像行以自动下载图像(然后提交构建部分),如果需要图像保存持久数据(每次启动图像时不重置),则取消注释卷部分。 [1]: https://github.com/rroemhild/docker-test-openldap

虽然这个链接可能回答了问题,但最好在此处包含答案的基本部分并提供参考链接。如果链接页面更改,仅有链接的答案可能会失效。-【来自审查】 - Andrew Halil

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接