public void Throws_on_RollbackTransaction()
        {
            var optionsBuilder = new DbContextOptionsBuilder();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());

            var transactionManager = new InMemoryTransactionManager(new FakeLogger());

            Assert.Equal(
                InMemoryStrings.LogTransactionsNotSupported.GenerateMessage(),
                Assert.Throws <InvalidOperationException>(
                    () => transactionManager.RollbackTransaction()).Message);
        }
        public async Task Throws_on_BeginTransactionAsync()
        {
            var optionsBuilder = new DbContextOptionsBuilder();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());

            var transactionManager = new InMemoryTransactionManager(new FakeLogger());

            Assert.Equal(
                InMemoryStrings.LogTransactionsNotSupported.GenerateMessage(),
                (await Assert.ThrowsAsync <InvalidOperationException>(
                     async() => await transactionManager.BeginTransactionAsync())).Message);
        }
示例#3
0
        public void Throws_on_CommitTransaction()
        {
            var optionsBuilder = new DbContextOptionsBuilder();

            optionsBuilder.UseInMemoryDatabase();

            var transactionManager = new InMemoryTransactionManager(new FakeLogger());

            Assert.Equal(
                InMemoryStrings.TransactionsNotSupported,
                Assert.Throws <InvalidOperationException>(
                    () => transactionManager.CommitTransaction()).Message);
        }
示例#4
0
        public async Task Throws_on_BeginTransactionAsync()
        {
            var optionsBuilder = new DbContextOptionsBuilder();

            optionsBuilder.UseInMemoryDatabase();

            var transactionManager = new InMemoryTransactionManager(optionsBuilder.Options);

            Assert.Equal(
                InMemoryStrings.TransactionsNotSupported,
                (await Assert.ThrowsAsync <InvalidOperationException>(
                     async() => await transactionManager.BeginTransactionAsync())).Message);
        }
示例#5
0
        public async Task Does_not_throw_on_BeginTransactionAsync_when_transactions_ignored()
        {
            var optionsBuilder = new DbContextOptionsBuilder();

            optionsBuilder.UseInMemoryDatabase()
            .IgnoreTransactions();

            var transactionManager = new InMemoryTransactionManager(optionsBuilder.Options);

            using (var transaction = await transactionManager.BeginTransactionAsync())
            {
                transaction.Commit();
                transaction.Rollback();
            }
        }
    public void CurrentTransaction_returns_null()
    {
        var transactionManager = new InMemoryTransactionManager(CreateLogger());

        Assert.Null(transactionManager.CurrentTransaction);
    }