public void Should_be_possible_to_collect_a_simple_groupSID_object() { var fakeItemToCollect = new group_sid_item() { group_sid = OvalHelper.CreateItemEntityWithStringValue("S-1-32-500") }; var fakeGroupAccount = new WindowsGroupAccount() { UserSIDs = new string[] { "S-1-0", "S-1-1" }.ToList() }; GroupSIDObjectCollector systemDataSource = this.createMockedGroupSIDSystemDataSource(fakeGroupAccount); var result = systemDataSource.CollectDataForSystemItem(fakeItemToCollect); Assert.IsNotNull(result, "The result of collect cannot be null."); Assert.AreEqual(1, result.Count(), "Unexpected number of collected objects was found."); Assert.IsNotNull(result.ElementAt(0).ExecutionLog, "The execution log for collected item cannot be null."); group_sid_item collectedItem = (group_sid_item)result.ElementAt(0).ItemType; Assert.AreEqual(StatusEnumeration.exists, collectedItem.status, "Invalid Item Type Status was found."); Assert.AreEqual("S-1-32-500", collectedItem.group_sid.Value, "Unexpected item type value was found."); Assert.AreEqual(2, collectedItem.user_sid.Count(), "Unexpected number of user SIDs was found in collected group_sid_item."); Assert.AreEqual("S-1-0", collectedItem.user_sid.ElementAt(0).Value, "A unexpected group SID was found in collected group_sid_item."); Assert.AreEqual("S-1-1", collectedItem.user_sid.ElementAt(1).Value, "A unexpected group SID was found in collected group_sid_item."); }
private GroupSIDObjectCollector createMockedGroupSIDSystemDataSource(WindowsGroupAccount fakeWindowsGroupAccountToReturn) { MockRepository mocks = new MockRepository(); var fakeWmiDataProvider = mocks.DynamicMock<WmiDataProvider>(); var fakeGroupProvider = mocks.DynamicMock<WindowsGroupAccountProvider>(null, null); Expect.Call(fakeGroupProvider.CollectWindowsGroupAccountInfoBySID(null)).IgnoreArguments().Return(fakeWindowsGroupAccountToReturn); mocks.ReplayAll(); return new GroupSIDObjectCollector() { TargetInfo = FakeTargetInfo, WmiDataProvider = fakeWmiDataProvider, WindowsGroupProvider = fakeGroupProvider }; }