public async Task Given_AString_WhenIsUploadInStorage_Then_Should_BeThere() { //Assert JObject testJObject = new JObject { { "Cpu", "Intel" }, { "Memory", 32 }, { "Drives", new JArray { "DVD", "SSD" } } }; using (var memoryStream = new MemoryStream()) { using (var s = Convertors.GenerateStreamFromString(testJObject)) { await s.CopyToAsync(memoryStream); await _sut.UploadAsync("nameTest", memoryStream); } } Assert.AreEqual(await _sut.ExistBlob("nameTest"), true); }
public async Task <IActionResult> CreateForm([FromBody] FormModel formModel) { if (!ModelState.IsValid) { return(BadRequest(new ApiResponse { Status = false, ModelState = ModelState })); } var options = new DbContextOptionsBuilder <ContentDbContext>() .UseSqlServer(new SqlConnection(_configuration.GetConnectionString("ContentDbConnection"))) .Options; using (var context = new ContentDbContext(options)) { using (var transaction = context.Database.BeginTransaction()) { try { var generate = new GenerateCandidate(); var candidateIncomplete = new Candidate { Email = formModel.Email, Approved = formModel.Approved, Completed = formModel.Completed }; var candidate = generate.Generate(formModel.BlobObject, candidateIncomplete); var actualCandidate = await context.Candidates.SingleOrDefaultAsync(x => x.Email.Equals(formModel.Email)); if (actualCandidate != null) { context.Candidates.Remove(actualCandidate); } await context.SaveChangesAsync(); context.Candidates.Add(candidate); await context.SaveChangesAsync(); //Now Delete existing blob if (await _storage.ExistBlob(formModel.Email)) { await _storage.DeleteAsync(formModel.Email); } using (var memoryStream = new MemoryStream()) { using (var s = Convertors.GenerateStreamFromString(formModel.BlobObject)) { await s.CopyToAsync(memoryStream); await _storage.UploadAsync(formModel.Email, memoryStream); } } transaction.Commit(); return(CreatedAtRoute("GetFormsRoute", new { email = formModel.Email }, new ApiResponse { Status = true })); } catch (Exception exp) { _logger.LogError(exp.Message); return(BadRequest(new ApiResponse { Status = false })); } } } }