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()); }
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); }
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); }