예제 #1
0
    public SqliteTestDatabase(TestDatabaseSettings settings, TestUmbracoDatabaseFactoryProvider dbFactoryProvider, ILoggerFactory loggerFactory)
    {
        _settings          = settings ?? throw new ArgumentNullException(nameof(settings));
        _dbFactoryProvider = dbFactoryProvider;
        _databaseFactory   = dbFactoryProvider.Create();
        _loggerFactory     = loggerFactory;

        var schema = Enumerable.Range(0, _settings.SchemaDatabaseCount)
                     .Select(x => CreateSqLiteMeta(false));

        var empty = Enumerable.Range(0, _settings.EmptyDatabasesCount)
                    .Select(x => CreateSqLiteMeta(true));

        _testDatabases = schema.Concat(empty).ToList();
    }
예제 #2
0
 /// <summary>
 ///     Creates a TestDatabase instance
 /// </summary>
 /// <remarks>
 ///     SQL Server setup requires configured master connection string &amp; privileges to create database.
 /// </remarks>
 /// <example>
 ///     <code>
 /// # SQL Server Environment variable setup
 /// $ export Tests__Database__DatabaseType="SqlServer"
 /// $ export Tests__Database__SQLServerMasterConnectionString="Server=localhost,1433; User Id=sa; Password=MySuperSecretPassword123!;"
 /// </code>
 /// </example>
 /// <example>
 ///     <code>
 /// # Docker cheat sheet
 /// $ docker run -e 'ACCEPT_EULA=Y' -e "SA_PASSWORD=MySuperSecretPassword123!" -e 'MSSQL_PID=Developer' -p 1433:1433 -d mcr.microsoft.com/mssql/server:2017-latest-ubuntu
 /// </code>
 /// </example>
 public static ITestDatabase Create(TestDatabaseSettings settings, TestUmbracoDatabaseFactoryProvider dbFactory, ILoggerFactory loggerFactory) =>
 settings.DatabaseType switch
 {