public async Task ImportStream(string aggregateType, long recordCount) { var moqRepo = new Mock <IRebalanceRepository>(); moqRepo.Setup((lst, id) => { Assert.Equal(recordCount, lst.Count); return(Task.FromResult(recordCount)); }); using var modelContent = new MultipartContent("mixed", "++++++++"); using var templateStream = await $"{aggregateType}.xml".AsStreamContent(); using var dataStream = await $"{aggregateType}.txt".AsStreamContent(); modelContent.AddContent( aggregateType, templateStream, dataStream); var section = new MultipartSection { Body = await modelContent.ReadAsStreamAsync() }; var sut = new ImportController(_loggerFactory.CreateLogger <ImportController>(), moqRepo.Object); await sut.ImportStream(section); }
public async Task ThrowFromImportStreamWhenRecordTypeIsNotADomainObject() { var moqRepo = new Mock <IRebalanceRepository>(); moqRepo.Setup((lst, id) => Task.FromResult((long)lst.Count)); using var modelContent = new MultipartContent("mixed", "++++++++"); using var templateStream = await $"Model.Bad.xml".AsStreamContent(); using var dataStream = await $"Model.txt".AsStreamContent(); modelContent.AddContent( "Model", templateStream, dataStream); var section = new MultipartSection { Body = await modelContent.ReadAsStreamAsync() }; var sut = new ImportController(_loggerFactory.CreateLogger <ImportController>(), moqRepo.Object); var ex = await Assert.ThrowsAsync <InvalidOperationException>(async() => await sut.ImportStream(section)); Assert.Equal("Cannot import records into object of type BadModel", ex.Message); }