Beispiel #1
0
        public void CreateWithDrop_Passes()
        {
            // Arrange
            var rule = new CreatedFunctionNotDroppedRule();

            var sqlStatement =
                @"CREATE FUNCTION dbo.GetUserId()
                  RETURNS int
                  BEGIN 
                      DECLARE @IDAdministrator int = (SELECT Id FROM dbo.Users WHERE UserName = '******')
                      RETURN @IDAdministrator
                  END
                  GO

                  SELECT xyz, dbo.GetUserId() FROM Somewhere

                  DROP FUNCTION dbo.GetUserId
                  GO";
            var script = Analyzer.Parse(sqlStatement);

            // Act
            var results = rule.Evaluate(sqlStatement, script);

            // Assert
            Assert.IsTrue(results.Count == 0);
        }
Beispiel #2
0
        public void CreateWithoutDrop_Warns()
        {
            // Arrange
            var rule = new CreatedFunctionNotDroppedRule();

            var sqlStatement =
                @"CREATE FUNCTION dbo.GetUserId()
                  RETURNS int
                  BEGIN 
                      DECLARE @IDAdministrator int = (SELECT Id FROM dbo.Users WHERE UserName = '******')
                      RETURN @IDAdministrator
                  END
                  GO";
            var script = Analyzer.Parse(sqlStatement);

            // Act
            var results = rule.Evaluate(sqlStatement, script);

            // Assert
            Assert.IsTrue(results.Count == 1);
            Assert.AreEqual(results.Single().Rule, rule);
        }