public InheritanceSqliteFixture()
        {
            _testStore = SqliteTestStore.CreateScratch();

            _options = new DbContextOptionsBuilder()
                .UseSqlite(_testStore.Connection)
                .UseInternalServiceProvider(new ServiceCollection()
                    .AddEntityFrameworkSqlite()
                    .AddSingleton(TestSqliteModelSource.GetFactory(OnModelCreating))
                    .AddSingleton<ILoggerFactory>(new TestSqlLoggerFactory())
                    .BuildServiceProvider())
                .Options;

            // TODO: Do this via migrations & update pipeline

            _testStore.ExecuteNonQuery(@"
                DROP TABLE IF EXISTS Country;
                DROP TABLE IF EXISTS Animal;

                CREATE TABLE Country (
                    Id int NOT NULL PRIMARY KEY,
                    Name nvarchar(100) NOT NULL
                );

                CREATE TABLE Animal (
                    Species nvarchar(100) NOT NULL PRIMARY KEY,
                    Name nvarchar(100) NOT NULL,
                    CountryId int NOT NULL ,
                    IsFlightless bit NOT NULL,
                    EagleId nvarchar(100),
                    'Group' int,
                    FoundOn tinyint,
                    Discriminator nvarchar(255),

                    FOREIGN KEY(countryId) REFERENCES Country(Id),
                    FOREIGN KEY(EagleId) REFERENCES Animal(Species)
                );

                CREATE TABLE Plant (
                    Genus int NOT NULL,
                    Species nvarchar(100) NOT NULL PRIMARY KEY,
                    Name nvarchar(100) NOT NULL,
                    CountryId int,
                    HasThorns bit,

                    FOREIGN KEY(countryId) REFERENCES Country(Id)
                );
            ");

            using (var context = CreateContext())
            {
                SeedData(context);
            }

            TestSqlLoggerFactory.Reset();
        }
        public AutoincrementTest()
        {
            _testStore = SqliteTestStore.CreateScratch();

            var provider = new ServiceCollection()
                .AddEntityFrameworkSqlite()
                .BuildServiceProvider();

            _options = new DbContextOptionsBuilder()
                .UseInternalServiceProvider(provider)
                .UseSqlite(_testStore.Connection)
                .Options;
        }
        public SqliteDatabaseModelFactoryTest()
        {
            _testStore = SqliteTestStore.CreateScratch();

            var serviceProvider = new SqliteDesignTimeServices()
                .ConfigureDesignTimeServices(new ServiceCollection().AddLogging())
                .BuildServiceProvider();

            var logger = new TestLogger();
            serviceProvider.GetService<ILoggerFactory>().AddProvider(new TestLoggerProvider(logger));

            _factory = serviceProvider
                .GetService<IDatabaseModelFactory>() as SqliteDatabaseModelFactory;
        }
        public SqliteScaffoldingModelFactoryTest()
        {
            _testStore = SqliteTestStore.CreateScratch();

            var serviceProvider = new SqliteDesignTimeServices()
                .ConfigureDesignTimeServices(
                    new ServiceCollection().AddScaffolding().AddLogging())
                .AddSingleton<IFileService, FileSystemFileService>()
                .BuildServiceProvider();

            _logger = new TestLogger();
            serviceProvider.GetService<ILoggerFactory>().AddProvider(new TestLoggerProvider(_logger));

            _scaffoldingModelFactory = serviceProvider
                .GetService<IScaffoldingModelFactory>() as RelationalScaffoldingModelFactory;
        }
        public MappingQuerySqliteFixture()
        {
            var serviceProvider = new ServiceCollection()
                .AddEntityFrameworkSqlite()
                .AddSingleton<ILoggerFactory>(new TestSqlLoggerFactory())
                .BuildServiceProvider();

            _testDatabase = SqliteNorthwindContext.GetSharedStore();

            _options = new DbContextOptionsBuilder()
                .UseModel(CreateModel())
                .UseSqlite(
                    _testDatabase.ConnectionString,
                    b => b.SuppressForeignKeyEnforcement())
                .UseInternalServiceProvider(serviceProvider)
                .Options;
        }
Esempio n. 6
0
            public override SqliteTestStore CreateTestStore()
            {
                return(SqliteTestStore.GetOrCreateShared(DatabaseName, () =>
                {
                    var optionsBuilder = new DbContextOptionsBuilder();
                    optionsBuilder.UseSqlite(SqliteTestStore.CreateConnectionString(DatabaseName));

                    using (var context = new GraphUpdatesContext(_serviceProvider, optionsBuilder.Options))
                    {
                        context.Database.EnsureDeleted();
                        if (context.Database.EnsureCreated())
                        {
                            Seed(context);
                        }
                    }
                }));
            }
        public MappingQuerySqliteFixture()
        {
            _serviceProvider = new ServiceCollection()
                               .AddEntityFramework()
                               .AddSqlite()
                               .ServiceCollection()
                               .AddSingleton <ILoggerFactory>(new TestSqlLoggerFactory())
                               .BuildServiceProvider();

            _testDatabase = SqliteNorthwindContext.GetSharedStore();

            var optionsBuilder = new DbContextOptionsBuilder().UseModel(CreateModel());

            optionsBuilder.UseSqlite(_testDatabase.ConnectionString)
            .SuppressForeignKeyEnforcement();
            _options = optionsBuilder.Options;
        }
Esempio n. 8
0
        public InheritanceSqliteFixture()
        {
            _options = new DbContextOptionsBuilder()
                       .UseSqlite(SqliteTestStore.CreateConnectionString("InheritanceSqlite"))
                       .UseInternalServiceProvider(new ServiceCollection()
                                                   .AddEntityFrameworkSqlite()
                                                   .AddSingleton(TestModelSource.GetFactory(OnModelCreating))
                                                   .AddSingleton <ILoggerFactory>(TestSqlLoggerFactory)
                                                   .BuildServiceProvider())
                       .Options;

            using (var context = CreateContext())
            {
                context.Database.EnsureClean();
                SeedData(context);
            }
        }
        public BuiltInDataTypesSqliteFixture()
        {
            _testStore = SqliteTestStore.CreateScratch();

            var serviceProvider = new ServiceCollection()
                .AddEntityFrameworkSqlite()
                .AddSingleton(TestSqliteModelSource.GetFactory(OnModelCreating))
                .BuildServiceProvider();

            _options = new DbContextOptionsBuilder()
                .UseSqlite(_testStore.Connection)
                .UseInternalServiceProvider(serviceProvider)
                .Options;

            using (var context = new DbContext(_options))
            {
                context.Database.EnsureCreated();
            }
        }
        public BuiltInDataTypesSqliteFixture()
        {
            _testStore = SqliteTestStore.CreateScratch();

            var serviceProvider = new ServiceCollection()
                                  .AddEntityFrameworkSqlite()
                                  .AddSingleton(TestModelSource.GetFactory(OnModelCreating))
                                  .BuildServiceProvider();

            _options = new DbContextOptionsBuilder()
                       .UseSqlite(_testStore.Connection)
                       .UseInternalServiceProvider(serviceProvider)
                       .Options;

            using (var context = new DbContext(_options))
            {
                context.Database.EnsureClean();
            }
        }
        public OneToOneQuerySqliteFixture()
        {
            var serviceProvider = new ServiceCollection()
                .AddEntityFrameworkSqlite()
                .AddSingleton(TestSqliteModelSource.GetFactory(OnModelCreating))
                .AddSingleton<ILoggerFactory>(new TestSqlLoggerFactory())
                .BuildServiceProvider();

            _testStore = SqliteTestStore.CreateScratch();

            _options = new DbContextOptionsBuilder()
                .UseSqlite(_testStore.ConnectionString)
                .UseInternalServiceProvider(serviceProvider)
                .Options;

            using (var context = new DbContext(_options))
            {
                context.Database.EnsureCreated();

                AddTestData(context);
            }
        }
Esempio n. 12
0
        public OneToOneQuerySqliteFixture()
        {
            var serviceProvider = new ServiceCollection()
                                  .AddEntityFrameworkSqlite()
                                  .AddSingleton(TestModelSource.GetFactory(OnModelCreating))
                                  .AddSingleton <ILoggerFactory>(TestSqlLoggerFactory)
                                  .BuildServiceProvider();

            _testStore = SqliteTestStore.CreateScratch();

            _options = new DbContextOptionsBuilder()
                       .UseSqlite(_testStore.ConnectionString)
                       .UseInternalServiceProvider(serviceProvider)
                       .Options;

            using (var context = new DbContext(_options))
            {
                context.Database.EnsureClean();

                AddTestData(context);
            }
        }
 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
 => optionsBuilder
 .UseSqlite(SqliteTestStore.CreateConnectionString(DatabaseName))
 .UseInternalServiceProvider(_serviceProvider);
Esempio n. 14
0
 public override DbContext CreateContext(SqliteTestStore testStore)
 => new FindContext(_options);
 public override SqliteTestStore CreateTestStore()
 => SqliteTestStore.GetOrCreateShared(DatabaseName, EnsureCreated);
Esempio n. 16
0
 public override DbContext CreateContext()
 => new LoadContext(new DbContextOptionsBuilder()
                    .UseSqlite(SqliteTestStore.CreateConnectionString("LoadTest"))
                    .UseInternalServiceProvider(_serviceProvider)
                    .Options);
Esempio n. 17
0
 public SqliteForeignKeyTest()
 {
     _testStore = SqliteTestStore.CreateScratch();
 }
 public SqliteForeignKeyTest()
 {
     _testStore = SqliteTestStore.CreateScratch();
 }
 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
 {
     optionsBuilder.UseSqlite(SqliteTestStore.CreateConnectionString(_databaseName));
 }