Non esiste un modo semplice per ottenere un accesso a nell'oggetto response
eseguendo test di integrazione con AspNet.TestHost.TestServer
. I cookie devono essere impostati dall'azione del controller. Qual è il modo migliore per farlo?Accesso ai cookie all'interno del test unitario nel contesto AspNet.TestHost.TestServer su ASP.NET 5/MVC 6
var client = TestServer.Create(app =>
{
app.UseMvc(routes =>
routes.MapRoute("default", "{controller}/{action}/{id?}"));
app.UseIdentity();
}).CreateClient();
var request = new HttpRequestMessage(HttpMethod.Get, "account/login");
var response = await client.SendAsync(request);
// how to get an access to cookie container ?????????
// response.Cookies prop doesn't exist
Assert.NotEmpty(response.Cookies["auth"]);
soluzione che vedo è quello di estendere istanza del TestServer, tornare istanza di una classe CustomClientHandler : ClientHandler
e sovrascrivere l'intero processo di invio di una richiesta in tale gestore, ma ha bisogno letteralmente di cambiare ogni logica, tranne relativamente piccolo codice del TestServer.
Qualche suggerimento migliore su come implementare un accesso ai cookie in una risposta?
Un collegamento a una potenziale soluzione è sempre il benvenuto, ma per favore [aggiungi contesto intorno al link] (// meta.stackoverflow.com/a/8259) così i tuoi utenti avranno un'idea di cosa sia e perché è lì . ** Cita sempre la parte più rilevante di un link importante, nel caso in cui il sito target sia irraggiungibile o sia permanentemente offline. ** Considera che essere _barely più di un link a un sito esterno_ è una possibile ragione per [Perché e come vengono eliminate alcune risposte?] (// stackoverflow.com/help/deleted-answers). – kayess
Sentiti libero di ampliare la risposta, ho avuto solo il tempo di indirizzarli nella giusta direzione. Sembra anche che abbia aiutato. – Tratcher