예제 #1
0
        public void CreateDatabaseIfNotExists_WithPrimaryFile()
        {
            // Act
            var dbName         = "CakeTest";
            var mdfFilePath    = Path.Combine(Path.GetTempPath(), "MyCakeTest.mdf");
            var createSettings = new CreateDatabaseSettings().WithPrimaryFile(mdfFilePath);

            SqlServerAliases.CreateDatabaseIfNotExists(context, ConnectionString, dbName, createSettings);

            // Assert
            SqlHelpers.DbExists(ConnectionString, dbName).Should().BeTrue();
            File.Exists(mdfFilePath).Should().BeTrue();

            // Cleanup
            SqlHelpers.ExecuteSql(ConnectionString, $"drop database {dbName}");
        }
예제 #2
0
        public void DropAndCreateDatabase_WithCreateParams()
        {
            //Arrange
            var dbName    = "ToBeRecreated";
            var tableName = "WillNotExist";

            SqlHelpers.ExecuteSql(ConnectionString, $"create database {dbName}");
            SqlHelpers.ExecuteSql(ConnectionString, $"create table [{dbName}].dbo.{tableName} (id int null)");
            SqlHelpers.TableExists(ConnectionString, dbName, tableName).Should().BeTrue();
            var mdfFilePath    = Path.Combine(Path.GetTempPath(), "MyCakeTest.mdf");
            var logFilePath    = Path.Combine(Path.GetTempPath(), "MyCakeTest.ldf");
            var createSettings = new CreateDatabaseSettings().WithPrimaryFile(mdfFilePath).WithLogFile(logFilePath);

            // Act
            SqlServerAliases.DropAndCreateDatabase(context, ConnectionString, dbName, createSettings);

            // Assert
            File.Exists(mdfFilePath).Should().BeTrue();
            File.Exists(logFilePath).Should().BeTrue();
        }