예제 #1
0
        public void ErrorIsReturnWhenSqlScriptIsNullOrEmpty()
        {
            var provider   = new DefaultEmbeddedResourceProvider();
            var expression = new ExecuteEmbeddedSqlScriptExpression(provider)
            {
                SqlScript = null
            };
            var errors = ValidationHelper.CollectErrors(expression);

            errors.ShouldContain(ErrorMessages.SqlScriptCannotBeNullOrEmpty);
        }
예제 #2
0
        public void ResourceFinderFindThrowsExceptionIfFoundMoreThenOneResource()
        {
            var provider   = new DefaultEmbeddedResourceProvider(Assembly.GetExecutingAssembly());
            var expression = new ExecuteEmbeddedSqlScriptExpression(provider)
            {
                SqlScript = "NotUniqueResource.sql"
            };
            var processor = new Mock <IMigrationProcessor>();

            Assert.Throws <InvalidOperationException>(() => expression.ExecuteWith(processor.Object));
            processor.Verify(x => x.Execute("NotUniqueResource"), Times.Never());
        }
예제 #3
0
        public void ResourceFinderIsCaseInsensitive()
        {
            var provider   = new DefaultEmbeddedResourceProvider(Assembly.GetExecutingAssembly());
            var expression = new ExecuteEmbeddedSqlScriptExpression(provider)
            {
                SqlScript = TestSqlScript.ToUpper()
            };
            var processor = new Mock <IMigrationProcessor>();

            processor.Setup(x => x.Execute(ScriptContents)).Verifiable();

            expression.ExecuteWith(processor.Object);
            processor.Verify();
        }
예제 #4
0
        public void ResourceFinderFindFileWithFullNameAndNamespace()
        {
            var provider   = new DefaultEmbeddedResourceProvider(Assembly.GetExecutingAssembly());
            var expression = new ExecuteEmbeddedSqlScriptExpression(provider)
            {
                SqlScript = "FluentMigrator.Tests.EmbeddedResources.InitialSchema.sql"
            };
            var processor = new Mock <IMigrationProcessor>();

            processor.Setup(x => x.Execute("InitialSchema")).Verifiable();

            expression.ExecuteWith(processor.Object);
            processor.Verify();
        }
        public void ExecutesTheStatement()
        {
            var provider   = new DefaultEmbeddedResourceProvider(Assembly.GetExecutingAssembly());
            var expression = new ExecuteEmbeddedSqlScriptExpression(new[] { provider })
            {
                SqlScript = TestSqlScript
            };

            var processor = new Mock <IMigrationProcessor>();

            processor.Setup(x => x.Execute(ScriptContents)).Verifiable();

            expression.ExecuteWith(processor.Object);
            processor.Verify();
        }
예제 #6
0
        public void ExecutesTheStatementWithParameters()
        {
            const string scriptContentsWithParameters = "TEST SCRIPT ParameterValue $(escaped_parameter) $(missing_parameter)";
            var          provider   = new DefaultEmbeddedResourceProvider(Assembly.GetExecutingAssembly());
            var          expression = new ExecuteEmbeddedSqlScriptExpression(provider)
            {
                SqlScript  = "EmbeddedTestScriptWithParameters.sql",
                Parameters = new Dictionary <string, string> {
                    { "parameter", "ParameterValue" }
                }
            };

            var processor = new Mock <IMigrationProcessor>();

            processor.Setup(x => x.Execute(scriptContentsWithParameters)).Verifiable();

            expression.ExecuteWith(processor.Object);
            processor.Verify();
        }
            /// <inheritdoc />
            public IScanInBuilder EmbeddedResources()
            {
                var sourceItem = new DefaultEmbeddedResourceProvider(SourceItem.Assemblies.ToArray());

                return(new ScanInBuilder(_builder, SourceItem, sourceItem));
            }