Esempio n. 1
0
 public void CreateDeleteSqlExpress()
 {
     var connectionString = new ConnectionStringBuilder().UseLocalSqlExpress().UseRandomDBName("MyDB").ConnectionString;
     Console.WriteLine(connectionString);
     var db = new SqlTestDatabase(connectionString);
     Assert.False(db.Exist());
     db.Create();
     Assert.True(db.Exist());
     db.Delete();
     Assert.False(db.Exist());
 }
        public void Initialize(WebHostContext context)
        {
            ITestDatabase db;
            string connectionString;
            string prefix = context.TestType.TestTypeInfo.Type.Name;
            if (context.HostOptions is IISExpressHostOptions)
            {
                connectionString = new ConnectionStringBuilder().UseLocalDB().UseRandomDBName(prefix).ToString();
                db = new SqlTestDatabase(connectionString);
            }
            else if (context.HostOptions is IISHostOptions)
            {
                connectionString = new ConnectionStringBuilder().UseLocalSqlExpress().UseRandomDBName(prefix).ToString();
                db = new SqlTestDatabase(connectionString);
            }
            else if (context.HostOptions is AzureWebsiteHostOptions)
            {
                connectionString = NuwaGlobalConfiguration.SqlAzureConnectionString;
                db = new SqlTestDatabase(connectionString);
            }
            else
            {
                throw new NotSupportedException(context.HostOptions.GetType().Name);
            }

            if (db.Exist())
            {
                db.Delete();
            }

            context.Properties.Add(NuwaDBContextKey, db);

            context.DeploymentOptions.WebConfigTransformers.Add(new WebConfigTransformer(
                config =>
                {
                    config.ClearConnectionStrings();
                    config.AddConnectionString(ConnectionStringName, connectionString, "System.Data.SqlClient");
                }));
        }