Mocks
Los Mocks son objetos que simulan el comportamiento de objetos reales de una forma controlada. Son comúnmente usados en las pruebas unitarias para simular el comportamiento de ciertos componentes que aún no existen o son difíciles de incorporar en las pruebas.

Por ejemplo, si tienes un método que sube archivos a un servicio de almacenamiento S3 de AWS, podrías querer hacer un mock de ese servicio para no tener que subir archivos reales durante las pruebas, lo que sería lento y podría incurrir en costos innecesarios.
En las pruebas de integración, los mocks son útiles para aislar el componente o la funcionalidad que se está probando. Aunque las pruebas de integración se centran en la interacción entre diferentes partes del sistema, a veces es útil utilizar mocks para eliminar las dependencias externas y centrarse en la funcionalidad específica que se está probando.

El framework Moq es una popular biblioteca de .NET que proporciona una manera fácil y flexible de crear y usar objetos mock. Moq utiliza una sintaxis simple y directa que permite definir comportamientos y verificar las interacciones de los objetos mock en las pruebas.
Ejemplo de como sobre como agregar Mock a la capa de seguridad:

