public void ExecuteReaderAsync_throws_OperationCanceledException_before_executing_command_if_task_is_cancelled() { var entityCommand = new EntityCommand(); Assert.Throws <OperationCanceledException>( () => entityCommand .ExecuteReaderAsync(new CancellationToken(canceled: true)) .GetAwaiter().GetResult()); Assert.Throws <OperationCanceledException>( () => entityCommand .ExecuteReaderAsync(CommandBehavior.Default, new CancellationToken(canceled: true)) .GetAwaiter().GetResult()); }
public void EntityCommandDefinition_is_executed_with_correct_EntityCommand_and_CommandBehavior() { var entityConnection = MockHelper.CreateEntityConnection(); var passedEntityCommand = default(EntityCommand); var passedCommandbehavior = default(CommandBehavior); var storeDataReader = new Mock <DbDataReader>().Object; var entityCommandDefinitionMock = new Mock <EntityCommandDefinition>(MockBehavior.Strict, null, null, null); entityCommandDefinitionMock.SetupGet(m => m.Parameters).Returns(Enumerable.Empty <EntityParameter>()); entityCommandDefinitionMock.Setup( m => m.ExecuteAsync(It.IsAny <EntityCommand>(), It.IsAny <CommandBehavior>(), It.IsAny <CancellationToken>())). Returns(Task.FromResult(storeDataReader)). Callback( (EntityCommand ec, CommandBehavior cb, CancellationToken ct) => { passedEntityCommand = ec; passedCommandbehavior = cb; }); var entityCommand = new EntityCommand( entityConnection, entityCommandDefinitionMock.Object, new DbInterceptionContext()); var commandBehavior = CommandBehavior.SequentialAccess; entityCommand.ExecuteReaderAsync(commandBehavior).Wait(); Assert.Same(entityCommand, passedEntityCommand); Assert.Equal(passedCommandbehavior, commandBehavior); entityCommandDefinitionMock.Verify( m => m.ExecuteAsync(entityCommand, commandBehavior, CancellationToken.None), Times.Once()); }
public void Exception_thrown_if_EntityConnection_is_not_set() { var entityCommand = new EntityCommand(string.Empty, default(EntityConnection)); AssertThrowsInAsyncMethod <InvalidOperationException>( Strings.EntityClient_NoConnectionForCommand, () => entityCommand.ExecuteReaderAsync(CommandBehavior.Default).Wait()); }
public void Exception_thrown_if_EntityConnection_StoreProviderFactory_is_not_set() { var entityConnectionMock = new Mock <EntityConnection>(); entityConnectionMock.SetupGet(m => m.StoreProviderFactory).Returns(default(DbProviderFactory)); var entityCommand = new EntityCommand(string.Empty, entityConnectionMock.Object); AssertThrowsInAsyncMethod <InvalidOperationException>( Strings.EntityClient_ConnectionStringNeededBeforeOperation, () => entityCommand.ExecuteReaderAsync(CommandBehavior.Default).Wait()); }
public void Exception_thrown_if_EntityConnection_State_is_Broken() { var providerFactory = new Mock <DbProviderFactory>(MockBehavior.Strict).Object; var dbConnection = new Mock <DbConnection>().Object; var entityConnectionMock = new Mock <EntityConnection>(); entityConnectionMock.SetupGet(m => m.StoreProviderFactory).Returns(providerFactory); entityConnectionMock.SetupGet(m => m.StoreConnection).Returns(dbConnection); entityConnectionMock.SetupGet(m => m.State).Returns(ConnectionState.Broken); var entityCommand = new EntityCommand(string.Empty, entityConnectionMock.Object); AssertThrowsInAsyncMethod <InvalidOperationException>( Strings.EntityClient_ExecutingOnClosedConnection(Strings.EntityClient_ConnectionStateBroken), () => entityCommand.ExecuteReaderAsync(CommandBehavior.Default).Wait()); }