protected bool CheckStatusPostaEvo(string idRichiesta, string status, TimeSpan timeout, TimeSpan retryInterval) { bool result = false; Stopwatch sw = new Stopwatch(); sw.Start(); while (sw.Elapsed <= timeout) { using (var ctx = new PostaEvoEntities()) { ctx.Database.Connection.ConnectionString = ambiente.PostaEvoConnectionString; var richiesta = ctx.Richieste.Where(r => r.IdRichiesta == new Guid(idRichiesta)).FirstOrDefault(); if (richiesta != null) { if (richiesta.StatoCorrente == status) { result = true; break; } else { Thread.Sleep(retryInterval); } } } } return(result); }
public void MOL1_Invio_Autoconfirm__EsitiSecondoCorso_Should_Persist_Charging() { var guid = System.Guid.NewGuid(); string xmlBase = Envelopes.PostaEvoPil.Replace("%GUID%", string.Concat("", guid.ToString(), "")); var postaEvoRequest = Helper.GetPostaEvoSubmitFromXml(xmlBase); PostaEvoResponse postaEvoResponse; postaEvoRequest.AutoConferma = true; postaEvoRequest.Opzioni.OpzioniServizio.ModalitaPricing = "ZONA"; postaEvoRequest.Opzioni.OpzioniServizio.EsitiSecondoCorso = true; postaEvoRequest.Documenti[0].URI = ambiente.PathDocument; postaEvoRequest.Documenti[0].HashMD5 = ambiente.HashMD5Document; postaEvoRequest.Documenti[1].URI = ambiente.PathCov; postaEvoRequest.Documenti[1].HashMD5 = ambiente.HashMD5Cov; var result = Helper.PublishToBizTalk <PostaEvoSubmit, PostaEvoResponse>(postaEvoRequest, ambiente.UrlEntryPoint, out postaEvoResponse); Assert.AreEqual(TResultResType.I, result.ResType); Thread.Sleep(10000); // Check PostaEvo using (var postaEvoCtx = new PostaEvoEntities()) { postaEvoCtx.Database.Connection.ConnectionString = ambiente.PostaEvoConnectionString; var opzioni = postaEvoCtx.Opzioni.Where(o => o.IdRichiesta == guid).FirstOrDefault(); if (opzioni != null) { Assert.IsTrue(opzioni.EsitiSecondoCorso.Value); } } Thread.Sleep(30000); // Check Charging using (var chargingCtx = new ChargingEntities()) { chargingCtx.Database.Connection.ConnectionString = ambiente.ChargingConnectionString; var billableItem = chargingCtx.BillableItemsQueue.Where(bi => bi.ChiaveRichiesta == guid.ToString() && (bi.ProdottoDescription == "REND. 2 CORSO")).FirstOrDefault(); Assert.IsNotNull(billableItem); } }
public void COL1_Autoconfirm_Archiviazione_Storica_3_Anni() { var guid = System.Guid.NewGuid(); string xmlBase = Envelopes.PostaEvoPil.Replace("%GUID%", string.Concat("", guid.ToString(), "")); var postaEvoRequest = Helper.GetPostaEvoSubmitFromXml(xmlBase); postaEvoRequest.TipoProdotto = "COL1"; postaEvoRequest.AutoConferma = true; postaEvoRequest.Opzioni.OpzioniServizio.ModalitaPricing = "ZONA"; postaEvoRequest.Opzioni.OpzioniServizio.AttestazioneConsegna = true; postaEvoRequest.Opzioni.OpzioniServizio.ArchiviazioneDocumenti = "STORICA"; postaEvoRequest.Opzioni.OpzioniServizio.AnniArchiviazione = 3; postaEvoRequest.Opzioni.OpzioniServizio.AnniArchiviazioneSpecified = true; PostaEvoResponse postaEvoResponse; postaEvoRequest.Documenti[0].URI = ambiente.PathDocument; postaEvoRequest.Documenti[0].HashMD5 = ambiente.HashMD5Document; postaEvoRequest.Documenti[1].URI = ambiente.PathCov; postaEvoRequest.Documenti[1].HashMD5 = ambiente.HashMD5Cov; var result = Helper.PublishToBizTalk <PostaEvoSubmit, PostaEvoResponse>(postaEvoRequest, ambiente.UrlEntryPoint, out postaEvoResponse); Assert.AreEqual(TResultResType.I, result.ResType); using (var ctx = new PostaEvoEntities()) { ctx.Database.Connection.ConnectionString = ambiente.PostaEvoConnectionString; var opzione = ctx.Opzioni.Where(o => o.IdRichiesta.ToString() == guid.ToString()).FirstOrDefault(); if (opzione != null) { Assert.AreEqual(opzione.TipoArchiviazione, 3); Assert.AreEqual(opzione.AnniArchiviazione, 3); } } }
public void MOL1_Invio_EsitiSecondoCorso_Should_Persist_PostaEvo() { var guid = System.Guid.NewGuid(); string xmlBase = Envelopes.PostaEvoPil.Replace("%GUID%", string.Concat("", guid.ToString(), "")); var postaEvoRequest = Helper.GetPostaEvoSubmitFromXml(xmlBase); PostaEvoResponse postaEvoResponse; postaEvoRequest.Opzioni.OpzioniServizio.ModalitaPricing = "ZONA"; postaEvoRequest.Opzioni.OpzioniServizio.EsitiSecondoCorso = true; postaEvoRequest.Documenti[0].URI = ambiente.PathDocument; postaEvoRequest.Documenti[0].HashMD5 = ambiente.HashMD5Document; postaEvoRequest.Documenti[1].URI = ambiente.PathCov; postaEvoRequest.Documenti[1].HashMD5 = ambiente.HashMD5Cov; var result = Helper.PublishToBizTalk <PostaEvoSubmit, PostaEvoResponse>(postaEvoRequest, ambiente.UrlEntryPoint, out postaEvoResponse); Assert.AreEqual(TResultResType.I, result.ResType); Thread.Sleep(10000); // Check PostaEvo using (var postaEvoCtx = new PostaEvoEntities()) { postaEvoCtx.Database.Connection.ConnectionString = ambiente.PostaEvoConnectionString; var opzioni = postaEvoCtx.Opzioni.Where(o => o.IdRichiesta == guid).FirstOrDefault(); if (opzioni != null) { Assert.IsTrue(opzioni.EsitiSecondoCorso.Value); } } }