public async Task AddOrUpdateEntitiesWithNullParameterAsync() { // Arrange Mock <ITableRequestExecutor <Country> > mock = MocksFactory.GetQueryExecutorMock <Country>(); CloudTableClient tableClient = ObjectsFactory.GetCloudTableClient(); var context = new TableSet <Country>(tableClient) { RequestExecutor = mock.Object }; IEnumerable <Country> result = null; // Act try { result = await context.AddOrUpdateAsync((IEnumerable <Country>) null, CancellationToken.None); } catch (ArgumentNullException) { } // Assert Assert.Null(result); mock.Verify(executor => executor.ExecuteBatches(It.IsAny <IEnumerable <Country> >(), It.IsAny <Func <ITableEntity, TableOperation> >()), Times.Never()); }
public void CreateExecutorWithNullEntityConverterParameter() { // Arrange Mock <ICloudTable> cloudTableMock = MocksFactory.GetCloudTableMock(); // Act && Assert Assert.Throws <ArgumentNullException>(() => new TableRequestExecutorFactory <Country>(cloudTableMock.Object, null)); }
public void CreateTableQueryProviderWithNullEntityConverter() { // Arrange Mock <ICloudTable> cloudTableMock = MocksFactory.GetCloudTableMock(); // Act && Assert Assert.Throws <ArgumentNullException>(() => new TableQueryProvider <Country>(cloudTableMock.Object, null)); }
public void CreateExecutorWithNullCloudTableParameter() { // Arrange Mock <ITableEntityConverter <Country> > entityConverterMock = MocksFactory.GetTableEntityConverterMock <Country>(); // Act && Assert Assert.Throws <ArgumentNullException>(() => new TableRequestExecutorFactory <Country>(null, entityConverterMock.Object)); }
public void CreateExecutorWithNullBatchPartitioner() { // Arrange Mock <ICloudTable> cloudTableMock = MocksFactory.GetCloudTableMock(); Mock <ITableEntityConverter <Country> > entityConverterMock = MocksFactory.GetTableEntityConverterMock <Country>(); // Act && Assert Assert.Throws <ArgumentNullException>(() => new TableRequestSequentialExecutor <Country>(cloudTableMock.Object, entityConverterMock.Object, null)); }
public void ExecuteAsyncWithNullExpression() { // Arrange Mock <ICloudTable> cloudTableMock = MocksFactory.GetCloudTableMock(); var converter = new TableEntityConverter <Country>(); var provider = new TableQueryProvider <Country>(cloudTableMock.Object, converter); // Act && Assert Assert.Throws <ArgumentNullException>(() => provider.ExecuteAsync(null)); }
public void ExecuteBatchesWithNullEntities() { // Arrange Mock <ICloudTable> cloudTableMock = MocksFactory.GetCloudTableMock(); Mock <ITableEntityConverter <Country> > entityConverterMock = MocksFactory.GetTableEntityConverterMock <Country>(); Mock <ITableBatchPartitioner> batchPartitionerMock = MocksFactory.GetTableBatchPartitionerMock(); var executor = new TableRequestSequentialExecutor <Country>(cloudTableMock.Object, entityConverterMock.Object, batchPartitionerMock.Object); // Act && Assert Assert.Throws <ArgumentNullException>(() => executor.ExecuteBatches(null, null)); }
public Task ExecuteBatchesWithoutResultAsyncWithNullEntities() { // Arrange Mock <ICloudTable> cloudTableMock = MocksFactory.GetCloudTableMock(); Mock <ITableEntityConverter <Country> > entityConverterMock = MocksFactory.GetTableEntityConverterMock <Country>(); Mock <ITableBatchPartitioner> batchPartitionerMock = MocksFactory.GetTableBatchPartitionerMock(); var executor = new TableRequestSequentialExecutor <Country>(cloudTableMock.Object, entityConverterMock.Object, batchPartitionerMock.Object); // Act && Assert return(Assert.ThrowsAsync <ArgumentNullException>(() => executor.ExecuteBatchesWithoutResultAsync(null, null, CancellationToken.None))); }
public void ExecuteBatchesWithoutResultAsyncWithNullOperation() { // Arrange Mock <ICloudTable> cloudTableMock = MocksFactory.GetCloudTableMock(); Mock <ITableEntityConverter <Country> > entityConverterMock = MocksFactory.GetTableEntityConverterMock <Country>(); Mock <ITableBatchPartitioner> batchPartitionerMock = MocksFactory.GetTableBatchPartitionerMock(); var executor = new TableRequestParallelExecutor <Country>(cloudTableMock.Object, entityConverterMock.Object, batchPartitionerMock.Object); var entities = ObjectsFactory.GetCountries(); // Act && Assert Assert.Throws <ArgumentNullException>(() => executor.ExecuteBatchesWithoutResultAsync(entities, null, CancellationToken.None)); }
public async Task SetUp() { serviceProvideMock = MocksFactory.ServiceProvider(); loggerMock = MocksFactory.GetLogger <JobExecutor>(); jobExecutor = new JobExecutor( loggerMock, serviceProvideMock, new ExecutionCache() ); await jobExecutor.StopAsync(new CancellationToken(true)); }
public void CreateExecutor() { // Arrange Mock <ICloudTable> cloudTableMock = MocksFactory.GetCloudTableMock(); Mock <ITableEntityConverter <Country> > entityConverterMock = MocksFactory.GetTableEntityConverterMock <Country>(); Mock <ITableBatchPartitioner> batchPartitionerMock = MocksFactory.GetTableBatchPartitionerMock(); // Act var result = new TableRequestSequentialExecutor <Country>(cloudTableMock.Object, entityConverterMock.Object, batchPartitionerMock.Object); // Assert Assert.NotNull(result); }
public void CreateExecutorWithInvalidMode() { // Arrange Mock <ITableEntityConverter <Country> > entityConverterMock = MocksFactory.GetTableEntityConverterMock <Country>(); Mock <ICloudTable> cloudTableMock = MocksFactory.GetCloudTableMock(); var executorFactory = new TableRequestExecutorFactory <Country>(cloudTableMock.Object, entityConverterMock.Object); ITableRequestExecutor <Country> executor = null; // Act Assert.Throws <ArgumentOutOfRangeException>(() => executor = executorFactory.Create((ExecutionMode)2)); // Assert Assert.Null(executor); }
public void CreateSequentialExecutor() { // Arrange Mock <ITableEntityConverter <Country> > entityConverterMock = MocksFactory.GetTableEntityConverterMock <Country>(); Mock <ICloudTable> cloudTableMock = MocksFactory.GetCloudTableMock(); var executorFactory = new TableRequestExecutorFactory <Country>(cloudTableMock.Object, entityConverterMock.Object); // Act ITableRequestExecutor <Country> executor = executorFactory.Create(ExecutionMode.Sequential); // Assert Assert.NotNull(executor); Assert.IsType <TableRequestSequentialExecutor <Country> >(executor); Assert.Equal(cloudTableMock.Object, executorFactory.CloudTable); }
public void RemoveEmptyCollection() { // Arrange Mock <ITableRequestExecutor <Country> > mock = MocksFactory.GetQueryExecutorMock <Country>(); CloudTableClient tableClient = ObjectsFactory.GetCloudTableClient(); var context = new TableSet <Country>(tableClient) { RequestExecutor = mock.Object }; var countries = new List <Country>(); // Act context.Remove(countries); }
public void ExecuteBatchesEvenWhenNotEvaluated() { // Arrange Mock <ICloudTable> cloudTableMock = MocksFactory.GetCloudTableMock(); Mock <ITableEntityConverter <Country> > entityConverterMock = MocksFactory.GetTableEntityConverterMock <Country>(); Mock <ITableBatchPartitioner> batchPartitionerMock = MocksFactory.GetTableBatchPartitionerMock(); var executor = new TableRequestSequentialExecutor <Country>(cloudTableMock.Object, entityConverterMock.Object, batchPartitionerMock.Object); var entities = ObjectsFactory.GetCountries(); // Act // We don't evaluate the call as we're not interested in the resulting entities. This should still execute the operations. executor.ExecuteBatches(entities, TableOperation.Insert); // Assert cloudTableMock.Verify(t => t.ExecuteBatch(It.IsAny <TableBatchOperation>())); }
public void RemoveEntitiesWithNullParameter() { // Arrange Mock <ITableRequestExecutor <Country> > mock = MocksFactory.GetQueryExecutorMock <Country>(); CloudTableClient tableClient = ObjectsFactory.GetCloudTableClient(); var context = new TableSet <Country>(tableClient) { RequestExecutor = mock.Object }; // Act Assert.Throws <ArgumentNullException>(() => context.Remove((IList <Country>)null)); // Assert mock.Verify(executor => executor.ExecuteBatches(It.IsAny <IList <Country> >(), It.IsAny <Func <ITableEntity, TableOperation> >()), Times.Never()); }
public async Task ExecuteBatchesWithoutResultAsync() { // Arrange Mock <ICloudTable> cloudTableMock = MocksFactory.GetCloudTableMock(); Mock <ITableEntityConverter <Country> > entityConverterMock = MocksFactory.GetTableEntityConverterMock <Country>(); Mock <ITableBatchPartitioner> batchPartitionerMock = MocksFactory.GetTableBatchPartitionerMock(); var executor = new TableRequestSequentialExecutor <Country>(cloudTableMock.Object, entityConverterMock.Object, batchPartitionerMock.Object); var entities = ObjectsFactory.GetCountries(); // Act await executor.ExecuteBatchesWithoutResultAsync(entities, TableOperation.Insert, CancellationToken.None); // Assert entityConverterMock.Verify(p => p.GetEntity(It.IsAny <Country>()), Times.Exactly(2)); batchPartitionerMock.Verify(p => p.GetBatches(It.IsAny <IEnumerable <ITableEntity> >(), It.IsAny <Func <ITableEntity, TableOperation> >()), Times.Once()); }
public void ExecuteBatches() { // Arrange Mock <ICloudTable> cloudTableMock = MocksFactory.GetCloudTableMock(); Mock <ITableEntityConverter <Country> > entityConverterMock = MocksFactory.GetTableEntityConverterMock <Country>(); Mock <ITableBatchPartitioner> batchPartitionerMock = MocksFactory.GetTableBatchPartitionerMock(); var executor = new TableRequestSequentialExecutor <Country>(cloudTableMock.Object, entityConverterMock.Object, batchPartitionerMock.Object); var entities = ObjectsFactory.GetCountries(); // Act var result = executor.ExecuteBatches(entities, TableOperation.Insert).ToList(); // Assert Assert.IsAssignableFrom <IEnumerable <Country> >(result); entityConverterMock.Verify(p => p.GetEntity(It.IsAny <Country>()), Times.Exactly(2)); batchPartitionerMock.Verify(p => p.GetBatches(It.IsAny <IEnumerable <ITableEntity> >(), It.IsAny <Func <ITableEntity, TableOperation> >()), Times.Once()); }
public async Task RemoveEntitiesAsync() { // Arrange Mock <ITableRequestExecutor <Country> > mock = MocksFactory.GetQueryExecutorMock <Country>(); CloudTableClient tableClient = ObjectsFactory.GetCloudTableClient(); var context = new TableSet <Country>(tableClient) { RequestExecutor = mock.Object }; IList <Country> countries = ObjectsFactory.GetCountries(); // Act await context.RemoveAsync(countries); // Assert mock.Verify(executor => executor.ExecuteBatchesWithoutResultAsync(countries, TableOperation.Delete, It.IsAny <CancellationToken>())); }
public void RemoveEntities() { // Arrange Mock <ITableRequestExecutor <Country> > mock = MocksFactory.GetQueryExecutorMock <Country>(); CloudTableClient tableClient = ObjectsFactory.GetCloudTableClient(); var context = new TableSet <Country>(tableClient) { RequestExecutor = mock.Object }; IList <Country> countries = ObjectsFactory.GetCountries(); // Act context.Remove(countries); // Assert mock.Verify(executor => executor.ExecuteBatchesWithoutResult(countries, TableOperation.Delete), Times.Once()); }
public void AddOrUpdateEmptyCollection() { // Arrange Mock <ITableRequestExecutor <Country> > mock = MocksFactory.GetQueryExecutorMock <Country>(); CloudTableClient tableClient = ObjectsFactory.GetCloudTableClient(); var context = new TableSet <Country>(tableClient) { RequestExecutor = mock.Object }; var countries = new List <Country>(); // Act var result = context.AddOrUpdate(countries); // Assert Assert.NotNull(result); Assert.Equal(countries, result); }
public void AddOrUpdateEntitiesWithNullParameter() { // Arrange Mock <ITableRequestExecutor <Country> > mock = MocksFactory.GetQueryExecutorMock <Country>(); CloudTableClient tableClient = ObjectsFactory.GetCloudTableClient(); var context = new TableSet <Country>(tableClient) { RequestExecutor = mock.Object }; IEnumerable <Country> result = null; // Act Assert.Throws <ArgumentNullException>(() => { result = context.AddOrUpdate((IEnumerable <Country>)null); }); // Assert Assert.Null(result); mock.Verify(executor => executor.ExecuteBatches(It.IsAny <IEnumerable <Country> >(), It.IsAny <Func <ITableEntity, TableOperation> >()), Times.Never()); }
public async Task AddOrUpdateEntitiesAsync() { // Arrange Mock <ITableRequestExecutor <Country> > mock = MocksFactory.GetQueryExecutorMock <Country>(); CloudTableClient tableClient = ObjectsFactory.GetCloudTableClient(); var context = new TableSet <Country>(tableClient) { RequestExecutor = mock.Object }; var countries = ObjectsFactory.GetCountries(); // Act var result = await context.AddOrUpdateAsync(countries); // Assert Assert.NotNull(result); mock.Verify(executor => executor.ExecuteBatchesAsync(countries, TableOperation.InsertOrReplace, It.IsAny <CancellationToken>())); Assert.Equal(countries, result); }
public void AddOrUpdateEntities() { // Arrange Mock <ITableRequestExecutor <Country> > mock = MocksFactory.GetQueryExecutorMock <Country>(); CloudTableClient tableClient = ObjectsFactory.GetCloudTableClient(); var context = new TableSet <Country>(tableClient) { RequestExecutor = mock.Object }; var countries = ObjectsFactory.GetCountries(); // Act var result = context.AddOrUpdate(countries); // Assert Assert.NotNull(result); mock.Verify(executor => executor.ExecuteBatches(countries, TableOperation.InsertOrReplace), Times.Once()); Assert.Equal(countries, result); }
public void AddEntity_FluentMapping() { // Arrange Mock <ITableRequestExecutor <Address> > mock = MocksFactory.GetQueryExecutorMock <Address>(); CloudTableClient tableClient = ObjectsFactory.GetCloudTableClient(); var context = new TableSet <Address>(tableClient) { RequestExecutor = mock.Object }; Address model = ObjectsFactory.GetAddress(); // Act Address result = context.Add(model); // Assert Assert.NotNull(result); mock.Verify(executor => executor.Execute(model, TableOperation.Insert), Times.Once()); Assert.Equal(model, result); }
public void AddEntity() { // Arrange Mock <ITableRequestExecutor <Country> > mock = MocksFactory.GetQueryExecutorMock <Country>(); CloudTableClient tableClient = ObjectsFactory.GetCloudTableClient(); var context = new TableSet <Country>(tableClient) { RequestExecutor = mock.Object }; Country country = ObjectsFactory.GetCountry(); // Act Country result = context.Add(country); // Assert Assert.NotNull(result); mock.Verify(executor => executor.Execute(country, TableOperation.Insert), Times.Once()); Assert.Equal(country, result); }
public async Task AddEntityAsync() { // Arrange Mock <ITableRequestExecutor <Country> > mock = MocksFactory.GetQueryExecutorMock <Country>(); CloudTableClient tableClient = ObjectsFactory.GetCloudTableClient(); var context = new TableSet <Country>(tableClient) { RequestExecutor = mock.Object }; Country country = ObjectsFactory.GetCountry(); // Act Country result = await context.AddAsync(country); // Assert Assert.NotNull(result); mock.Verify(executor => executor.ExecuteAsync(country, TableOperation.Insert, It.IsAny <CancellationToken>())); Assert.Equal(country, result); }
public async Task RemoveEntityWithNullParameterAsync() { // Arrange Mock <ITableRequestExecutor <Country> > mock = MocksFactory.GetQueryExecutorMock <Country>(); CloudTableClient tableClient = ObjectsFactory.GetCloudTableClient(); var context = new TableSet <Country>(tableClient) { RequestExecutor = mock.Object }; // Act try { await context.RemoveAsync((Country)null, CancellationToken.None); } catch (ArgumentNullException) { } // Assert mock.Verify(executor => executor.Execute(It.IsAny <Country>(), It.IsAny <Func <ITableEntity, TableOperation> >()), Times.Never()); }