public void Expand() { var graphService = new Mock <IGraphService>(); var applicationGroup = new ApplicationGroup { Name = "[{teamProject.Name}]\\Project Administrators" }; var pattern = new SecurityPattern(graphService.Object) { Name = "Test" }; pattern.ApplicationGroups.Add(applicationGroup); var teamProject = new TeamProject { Name = "Test", Key = "1" }; teamProject.Patterns.Add(new SecurityPattern(graphService.Object) { Name = "Test" }); var target = new Organization(); target.Mappings.Add("1", Guid.NewGuid()); target.Patterns.Add(pattern); target.TeamProjects.Add(teamProject); target.Expand(); ((SecurityPattern)teamProject.Patterns[0]).ApplicationGroups[0].Name.Should().Be("[Test]\\Project Administrators"); }
public async Task CollectDeviations() { // Arrange var applicationGroup = new ApplicationGroup { Name = "ApplicationGroup" }; var graphService = new Mock <IGraphService>(); var teamProject = new TeamProject(); graphService.Setup(s => s.GetApplicationGroups(teamProject)).ReturnsAsync(new List <ApplicationGroup>()); var target = new SecurityPattern(graphService.Object); target.ApplicationGroups.Add(applicationGroup); // Act var actual = await target.CollectDeviations(teamProject).ConfigureAwait(false); // Assert actual .Should() .SatisfyRespectively( first => { first.Should().BeOfType <ApplicationGroupDeviation>(); ((ApplicationGroupDeviation)first).ApplicationGroup.Should().Be(applicationGroup); }); await Task.CompletedTask; }
public async Task CollectDeviations_MissingMembers() { // Arrange var applicationGroup = new ApplicationGroup { Name = "ApplicationGroup", Members = new[] { "Member 1" } }; var current = new List <ApplicationGroup> { new ApplicationGroup { Name = "ApplicationGroup" } }; var graphService = new Mock <IGraphService>(); var teamProject = new TeamProject(); graphService.Setup(s => s.GetApplicationGroups(teamProject)).ReturnsAsync(current); graphService.Setup(s => s.GetMembers(teamProject, applicationGroup)).ReturnsAsync(new List <string> { "Member 2" }); var target = new SecurityPattern(graphService.Object); target.ApplicationGroups.Add(applicationGroup); // Act var actual = await target.CollectDeviations(teamProject).ConfigureAwait(false); // Assert actual .Should() .SatisfyRespectively( first => { first.Should().BeOfType <ApplicationGroupMemberDeviation>(); ((ApplicationGroupMemberDeviation)first).ApplicationGroup.Should().Be(applicationGroup); ((ApplicationGroupMemberDeviation)first).Member.Should().Be("Member 1"); ((ApplicationGroupMemberDeviation)first).Type.Should().Be(DeviationType.Missing); }, second => { second.Should().BeOfType <ApplicationGroupMemberDeviation>(); ((ApplicationGroupMemberDeviation)second).ApplicationGroup.Should().Be(applicationGroup); ((ApplicationGroupMemberDeviation)second).Member.Should().Be("Member 2"); ((ApplicationGroupMemberDeviation)second).Type.Should().Be(DeviationType.Obsolete); }); await Task.CompletedTask.ConfigureAwait(false); }