public override async Task <FileUploadResponse> UploadFile(IAsyncStreamReader <FileUploadRequest> requestStream, ServerCallContext context) { try { List <Dominio.Entidades.Livro> livrosCarga = null; while (await requestStream.MoveNext()) { using var ms = new MemoryStream(requestStream.Current.Content.ToByteArray()); livrosCarga = await _csvServico.GetCargaLivros(ms); } return(new FileUploadResponse { Message = "Carga dos livros realizada com sucesso", Status = "SUCCESS", CountUploaded = livrosCarga.Count }); } catch (Exception ex) { return(new FileUploadResponse { Message = ex.Message, Status = "ERROR", CountUploaded = 0 }); } }
public async Task CargaLivros_TransformeCSVParaListaDeLivros() { using var stream = new MemoryStream(File.ReadAllBytes(FILE)); var livros = await _csvServico.GetCargaLivros(stream); livros.Should().HaveCount(5); livros.Should().SatisfyRespectively( l1 => l1.Titulo.Should().Be("Trivium"), l2 => l2.Titulo.Should().Be("O panóptico"), l3 => l3.Titulo.Should().Be("Kafka: Por uma literatura menor"), l4 => l4.Titulo.Should().Be("A divina comédia: 344"), l5 => l5.Titulo.Should().Be("Pensar e ser em geografia")); }