protected override IEnumerable<CollectedItem> collectDataForSystemItem(ItemType systemItem) { if (systemItem.status.Equals(StatusEnumeration.notcollected)) { var userToBeCollected = ((user_item)systemItem).user.Value; try { var collectedUser = this.WindowsAccountProvider.GetUserByName(userToBeCollected); systemItem = new user_item() { status = StatusEnumeration.exists, user = OvalHelper.CreateItemEntityWithStringValue(collectedUser.Name), enabled = OvalHelper.CreateBooleanEntityItemFromBoolValue((bool)collectedUser.Enabled), }; var userGroups = this.WindowsAccountProvider.GetUserGroups(userToBeCollected, AccountSearchReturnType.Name); if (userGroups.Count() > 0) ((user_item)systemItem).group = userGroups.Select(grp => new EntityItemStringType() { Value = grp }).ToArray(); else ((user_item)systemItem).group = new EntityItemStringType[] { new EntityItemStringType() { status = StatusEnumeration.doesnotexist } }; } catch (WindowsUserNotFound) { systemItem.status = StatusEnumeration.doesnotexist; ((user_item)systemItem).user.status = systemItem.status; } } return new ItemTypeHelper().CreateCollectedItemsWithOneItem(systemItem, BuildExecutionLog()); }
private user_item CreateUserItem(StatusEnumeration itemStatus) { var newUserItem = new user_item() { status = itemStatus, user = OvalHelper.CreateItemEntityWithStringValue(EVERYONE_USER) }; if (itemStatus.Equals(StatusEnumeration.exists)) { newUserItem.enabled = OvalHelper.CreateBooleanEntityItemFromBoolValue(true); newUserItem.group = new EntityItemStringType[] { OvalHelper.CreateItemEntityWithStringValue("g1") }; } return newUserItem; }
private void AssertCollectedUserItemEntities( user_item collectedItem, string expectedName, string expectedEnabled, params string[] expectedGroups) { ItemTypeEntityChecker.AssertItemTypeEntity(collectedItem.user, expectedName, "user"); ItemTypeEntityChecker.AssertItemTypeEntity(collectedItem.enabled, expectedEnabled, "enabled"); Assert.AreEqual(expectedGroups.Count(), collectedItem.group.Count(), "Unexpected amount of group was found."); for(int i = 0; i < expectedGroups.Count(); i++) ItemTypeEntityChecker.AssertItemTypeEntity(collectedItem.group.ElementAt(i), expectedGroups.ElementAt(i), "group"); }