Utilizando .Net Core 2 y Moq, ¿cómo configura un contexto HTTP para la autenticación falsa?

Estoy usando Moq para hacer pruebas automatizadas en mi aplicación .net core 2. Utilizamos la autenticación de portador y necesitamos poder extraer el nombre del objeto HttpContext para asegurarnos de que tenemos el usuario correcto:

var userName = HttpContext.User.Identity.Name;

He encontrado toneladas de ejemplos usando System.Web, pero ninguno que me permitiera hacer una maqueta de una configuración de Core 2.

Respuestas a la pregunta(2)

Su respuesta a la pregunta