Exemple #1
0
        public void ParserFailsWhenIncludesDontExist()
        {
            // Arrange
            var collector = new ScriptParser($"{TEST_PROJECT_PATH}/Pre-Deployment/Script.PreDeployment.MissingScript.sql", _variableResolver);

            // Act / Assert
            Assert.ThrowsException <System.IO.FileNotFoundException>(() => collector.CollectFileNames());
        }
        public void ParserFailsWhenSyntaxError()
        {
            // Arrange
            var collector = new ScriptParser($"{TEST_PROJECT_PATH}/Post-Deployment/Script.PostDeployment.SyntaxErrors.sql", _variableResolver);

            // Act / Assert
            Should.Throw <System.InvalidOperationException>(() => collector.CollectFileNames())
            .Message.ShouldBe($"Incorrect syntax was encountered while parsing '{Environment.NewLine}'. File: ScriptWithErrors.sql");
        }
Exemple #3
0
        public void IgnoresDirectivesOtherThanColonR()
        {
            // Arrange
            var collector = new ScriptParser($"{TEST_PROJECT_PATH}/Pre-Deployment/Script.PreDeployment.IgnoredDirective.sql", _variableResolver);

            // Act
            var result = collector.CollectFileNames();

            // Assert
            result.ShouldNotBeNull();
            result.Count().ShouldBe(1);
        }
Exemple #4
0
        public void CanParseFileWithNestedIncludesContainingRelativePaths()
        {
            // Arrange
            var collector = new ScriptParser($"{TEST_PROJECT_PATH}/Pre-Deployment/Script.PreDeployment.NestedRelativePaths.sql", _variableResolver);

            // Act
            var result = collector.CollectFileNames();

            // Assert
            result.ShouldNotBeNull();
            result.Count().ShouldBe(4);
        }
Exemple #5
0
        public void CanParseFileWithIncludes()
        {
            // Arrange
            var collector = new ScriptParser($"{TEST_PROJECT_PATH}/Pre-Deployment/Script.PreDeployment.SimpleInclude.sql", _variableResolver);

            // Act
            var result = collector.CollectFileNames();

            // Assert
            result.ShouldNotBeNull();
            result.Count().ShouldBe(1);
        }
Exemple #6
0
        public void CanParseFileWithIncludesFromRelativePaths()
        {
            // Arrange
            var collector = new ScriptParser($"{TEST_PROJECT_PATH}/Pre-Deployment/Script.PreDeployment.RelativePathIncludes.sql", _variableResolver);

            // Act
            var result = collector.CollectFileNames();

            // Assert
            result.ShouldNotBeNull();
            result.Count().ShouldBe(2);
            result.ToList().Take(2).Last().ShouldBe($"{TEST_PROJECT_PATH}/Pre-Deployment/./MoreScripts/Script2.sql");
        }