public void Parse_Valid_CorrectlyParsedPrincipal(string extension) { var assembly = Assembly.GetExecutingAssembly(); using (var stream = assembly.GetManifestResourceStream($"Idunn.SqlServer.Testing.Unit.Parser.Resources.Sample{extension}")) { var register = new ParserRegister(); var container = new ParserContainer(); container.Initialize(register, extension); var parser = register.GetRootParser(); var principals = parser.Parse(stream); Assert.That(principals, Is.Not.Null); Assert.That(principals, Is.AssignableTo <IEnumerable <Principal> >()); Assert.That(principals, Has.Count.EqualTo(1)); } }
public void Parse_Valid_CorrectlyParsedDatabasePermissions(string extension) { var assembly = Assembly.GetExecutingAssembly(); using (var stream = assembly.GetManifestResourceStream($"Idunn.SqlServer.Testing.Unit.Parser.Resources.Sample{extension}")) { var register = new ParserRegister(); var container = new ParserContainer(); container.Initialize(register, extension); var parser = register.GetRootParser(); var principal = (parser.Parse(stream).ElementAt(0) as Principal); var db = principal.Databases.Single(d => d.Name == "db-001"); Assert.That(db.Permissions, Is.Not.Null.And.Not.Empty); Assert.That(db.Permissions, Has.Count.EqualTo(1)); Assert.That(db.Permissions.First().Name, Is.EqualTo("CONNECT")); } }
//[TestCase(".yml")] public void Parse_ValidWithMultiplePrincipals_CorrectlyPrincipals(string extension) { var assembly = Assembly.GetExecutingAssembly(); using (var stream = assembly.GetManifestResourceStream($"Idunn.SqlServer.Testing.Unit.Parser.Resources.Multiple{extension}")) { var register = new ParserRegister(); var container = new ParserContainer(); container.Initialize(register, extension); var parser = register.GetRootParser(); var principals = (parser.Parse(stream) as IEnumerable <Principal>); Assert.That(principals, Is.Not.Null); Assert.That(principals, Has.Count.EqualTo(2)); Assert.That(principals.Any(p => p.Name == "ExecuteDwh")); Assert.That(principals.Any(p => p.Name == "Logger")); Assert.That(principals.All(p => p.Databases.Count >= 1)); } }
public void Parse_Valid_CorrectlyParsedSecurables(string extension) { var assembly = Assembly.GetExecutingAssembly(); using (var stream = assembly.GetManifestResourceStream($"Idunn.SqlServer.Testing.Unit.Parser.Resources.Sample{extension}")) { var register = new ParserRegister(); var container = new ParserContainer(); container.Initialize(register, extension); var parser = register.GetRootParser(); var principal = (parser.Parse(stream).ElementAt(0) as Principal); var db = principal.Databases.Single(d => d.Name == "db-001"); Assert.That(db.Securables, Is.Not.Null.And.Not.Empty); Assert.That(db.Securables, Has.Count.EqualTo(2)); Assert.That(db.Securables.All(s => s.Type == "schema")); Assert.That(db.Securables.Any(s => s.Name == "dbo")); Assert.That(db.Securables.Any(s => s.Name == "admin")); } }