Beispiel #1
0
        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));
            }
        }
Beispiel #2
0
        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"));
            }
        }
Beispiel #3
0
        //[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));
            }
        }
Beispiel #4
0
        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"));
            }
        }