public void Returns_typed_database_object()
        {
            var database = new ConcreteRelationalDatabase(
                new DbContextService <IModel>(() => null),
                Mock.Of <DataStoreCreator>(),
                Mock.Of <DataStoreConnection>(),
                new LoggerFactory());

            Assert.Same(database, database.AsRelational());
        }
        public void Returns_typed_database_object()
        {
            var database = new ConcreteRelationalDatabase(
                TestHelpers.Instance.CreateContext(),
                Mock.Of <IRelationalDataStoreCreator>(),
                Mock.Of <IRelationalConnection>(),
                Mock.Of <Migrator>(),
                new LoggerFactory());

            Assert.Same(database, database.AsRelational());
        }
        public void Returns_typed_database_object()
        {
            var database = new ConcreteRelationalDatabase(
                TestHelpers.Instance.CreateContext(),
                Mock.Of<IRelationalDataStoreCreator>(),
                Mock.Of<IRelationalConnection>(),
                Mock.Of<Migrator>(),
                new LoggerFactory());

            Assert.Same(database, database.AsRelational());
        }
Exemple #4
0
        public async void Async_methods_delegate_to_configured_store_creator()
        {
            var context           = TestHelpers.Instance.CreateContext();
            var model             = context.Model;
            var cancellationToken = new CancellationTokenSource().Token;

            var creatorMock = new Mock <RelationalDataStoreCreator>();

            creatorMock.Setup(m => m.ExistsAsync(cancellationToken)).Returns(Task.FromResult(true));
            creatorMock.Setup(m => m.HasTablesAsync(cancellationToken)).Returns(Task.FromResult(true));
            creatorMock.Setup(m => m.EnsureCreatedAsync(model, cancellationToken)).Returns(Task.FromResult(true));
            creatorMock.Setup(m => m.EnsureDeletedAsync(model, cancellationToken)).Returns(Task.FromResult(true));

            var connectionMock   = new Mock <IRelationalConnection>();
            var dbConnectionMock = new Mock <DbConnection>();

            connectionMock.SetupGet(m => m.DbConnection).Returns(dbConnectionMock.Object);
            dbConnectionMock.SetupGet(m => m.Database).Returns("MyDb");

            var database = new ConcreteRelationalDatabase(
                context,
                creatorMock.Object,
                connectionMock.Object,
                Mock.Of <IMigrator>(),
                new LoggerFactory());

            Assert.True(await database.ExistsAsync(cancellationToken));
            creatorMock.Verify(m => m.ExistsAsync(cancellationToken), Times.Once);

            await database.CreateAsync(cancellationToken);

            creatorMock.Verify(m => m.CreateAsync(cancellationToken), Times.Once);

            await database.CreateTablesAsync(cancellationToken);

            creatorMock.Verify(m => m.CreateTablesAsync(model, cancellationToken), Times.Once);

            Assert.True(await database.HasTablesAsync(cancellationToken));
            creatorMock.Verify(m => m.HasTablesAsync(cancellationToken), Times.Once);

            await database.DeleteAsync(cancellationToken);

            creatorMock.Verify(m => m.DeleteAsync(cancellationToken), Times.Once);

            Assert.True(await database.EnsureCreatedAsync(cancellationToken));
            creatorMock.Verify(m => m.EnsureCreatedAsync(model, cancellationToken), Times.Once);

            Assert.True(await database.EnsureDeletedAsync(cancellationToken));
            creatorMock.Verify(m => m.EnsureDeletedAsync(model, cancellationToken), Times.Once);
        }
Exemple #5
0
        public void Methods_delegate_to_configured_store_creator()
        {
            var context     = TestHelpers.Instance.CreateContext();
            var model       = context.Model;
            var creatorMock = new Mock <RelationalDataStoreCreator>();

            creatorMock.Setup(m => m.Exists()).Returns(true);
            creatorMock.Setup(m => m.HasTables()).Returns(true);
            creatorMock.Setup(m => m.EnsureCreated(model)).Returns(true);
            creatorMock.Setup(m => m.EnsureDeleted(model)).Returns(true);

            var connectionMock   = new Mock <IRelationalConnection>();
            var dbConnectionMock = new Mock <DbConnection>();

            connectionMock.SetupGet(m => m.DbConnection).Returns(dbConnectionMock.Object);
            dbConnectionMock.SetupGet(m => m.Database).Returns("MyDb");

            var database = new ConcreteRelationalDatabase(
                context,
                creatorMock.Object,
                connectionMock.Object,
                Mock.Of <IMigrator>(),
                new LoggerFactory());

            Assert.True(database.Exists());
            creatorMock.Verify(m => m.Exists(), Times.Once);

            database.Create();
            creatorMock.Verify(m => m.Create(), Times.Once);

            database.CreateTables();
            creatorMock.Verify(m => m.CreateTables(model), Times.Once);

            Assert.True(database.HasTables());
            creatorMock.Verify(m => m.HasTables(), Times.Once);

            database.Delete();
            creatorMock.Verify(m => m.Delete(), Times.Once);

            Assert.True(database.EnsureCreated());
            creatorMock.Verify(m => m.EnsureCreated(model), Times.Once);

            Assert.True(database.EnsureDeleted());
            creatorMock.Verify(m => m.EnsureDeleted(model), Times.Once);

            Assert.Same(connectionMock.Object, database.Connection);
        }
        public void Methods_delegate_to_configured_store_creator()
        {
            var context = TestHelpers.Instance.CreateContext();
            var model = context.Model;
            var creatorMock = new Mock<RelationalDataStoreCreator>();
            creatorMock.Setup(m => m.Exists()).Returns(true);
            creatorMock.Setup(m => m.HasTables()).Returns(true);
            creatorMock.Setup(m => m.EnsureCreated(model)).Returns(true);
            creatorMock.Setup(m => m.EnsureDeleted(model)).Returns(true);

            var connectionMock = new Mock<IRelationalConnection>();
            var dbConnectionMock = new Mock<DbConnection>();
            connectionMock.SetupGet(m => m.DbConnection).Returns(dbConnectionMock.Object);
            dbConnectionMock.SetupGet(m => m.Database).Returns("MyDb");

            var database = new ConcreteRelationalDatabase(
                context,
                creatorMock.Object,
                connectionMock.Object,
                Mock.Of<IMigrator>(),
                new LoggerFactory());

            Assert.True(database.Exists());
            creatorMock.Verify(m => m.Exists(), Times.Once);

            database.Create();
            creatorMock.Verify(m => m.Create(), Times.Once);

            database.CreateTables();
            creatorMock.Verify(m => m.CreateTables(model), Times.Once);

            Assert.True(database.HasTables());
            creatorMock.Verify(m => m.HasTables(), Times.Once);

            database.Delete();
            creatorMock.Verify(m => m.Delete(), Times.Once);

            Assert.True(database.EnsureCreated());
            creatorMock.Verify(m => m.EnsureCreated(model), Times.Once);

            Assert.True(database.EnsureDeleted());
            creatorMock.Verify(m => m.EnsureDeleted(model), Times.Once);

            Assert.Same(connectionMock.Object, database.Connection);
        }
        public async void Async_methods_delegate_to_configured_store_creator()
        {
            var context = TestHelpers.Instance.CreateContext();
            var model = context.Model;
            var cancellationToken = new CancellationTokenSource().Token;

            var creatorMock = new Mock<RelationalDataStoreCreator>();
            creatorMock.Setup(m => m.ExistsAsync(cancellationToken)).Returns(Task.FromResult(true));
            creatorMock.Setup(m => m.HasTablesAsync(cancellationToken)).Returns(Task.FromResult(true));
            creatorMock.Setup(m => m.EnsureCreatedAsync(model, cancellationToken)).Returns(Task.FromResult(true));
            creatorMock.Setup(m => m.EnsureDeletedAsync(model, cancellationToken)).Returns(Task.FromResult(true));

            var connectionMock = new Mock<IRelationalConnection>();
            var dbConnectionMock = new Mock<DbConnection>();
            connectionMock.SetupGet(m => m.DbConnection).Returns(dbConnectionMock.Object);
            dbConnectionMock.SetupGet(m => m.Database).Returns("MyDb");

            var database = new ConcreteRelationalDatabase(
                context,
                creatorMock.Object,
                connectionMock.Object,
                Mock.Of<IMigrator>(),
                new LoggerFactory());

            Assert.True(await database.ExistsAsync(cancellationToken));
            creatorMock.Verify(m => m.ExistsAsync(cancellationToken), Times.Once);

            await database.CreateAsync(cancellationToken);
            creatorMock.Verify(m => m.CreateAsync(cancellationToken), Times.Once);

            await database.CreateTablesAsync(cancellationToken);
            creatorMock.Verify(m => m.CreateTablesAsync(model, cancellationToken), Times.Once);

            Assert.True(await database.HasTablesAsync(cancellationToken));
            creatorMock.Verify(m => m.HasTablesAsync(cancellationToken), Times.Once);

            await database.DeleteAsync(cancellationToken);
            creatorMock.Verify(m => m.DeleteAsync(cancellationToken), Times.Once);

            Assert.True(await database.EnsureCreatedAsync(cancellationToken));
            creatorMock.Verify(m => m.EnsureCreatedAsync(model, cancellationToken), Times.Once);

            Assert.True(await database.EnsureDeletedAsync(cancellationToken));
            creatorMock.Verify(m => m.EnsureDeletedAsync(model, cancellationToken), Times.Once);
        }