如何对Active Directory对象创建进行单元测试?



我正在创建一个用户:

using (var AD = new DirectoryEntry(myCOntainer, myUsername, myPassword))
{
var user = AD.Children.Add("CN=testuser", "user");
user.Properties["samAccountName"].Value = "test01";
user.Properties["userAccountControl"].Value = Constant.NormalAccount + Constant.AccountDisable;
user.CommitChanges();
AD.CommitChanges();
}

为这个方法创建单元测试的最好方法是什么?我认为在我的用户所在的真实AD上调用此方法将是一个糟糕的选择。此外,我必须确保我删除了测试创建的用户。

在我看来,如果有专用的非生产性环境,可以使用它。如果您没有一个非prod环境,您可以分割现有活动目录的一部分并使用它——前提是目标仅用于测试AD对象的创建。

通过切片生产AD,我的意思是有以下设置。

  1. 在Prod AD中为该测试创建一个专用OU
  2. 创建一个服务帐户,并仅在此测试OU上授权所需的访问权限
  3. 绑定测试OU位置和代码上的服务帐户,并完成测试

只要服务帐户被用于测试,我们就限制在该TEST OU内的访问。

祝你好运!

最新更新