Skip to content

Instantly share code, notes, and snippets.

@johnmmoss
Last active November 9, 2016 14:25
Show Gist options
  • Save johnmmoss/ee468dbf07e8e7ce96ee to your computer and use it in GitHub Desktop.
Save johnmmoss/ee468dbf07e8e7ce96ee to your computer and use it in GitHub Desktop.
Mocking the ASP.NET IPrincipal with Rhino Mock
public void SetUpHttpRequestUser()
{
// Setup the controller context plumbing
var httpContext = MockRepository.GenerateStub<HttpContextBase>();
var identity = MockRepository.GenerateStub<IIdentity>();
var principal = MockRepository.GenerateStub<IPrincipal>();
// Set the required test values
identity.Stub(i => i.Name).Return("TestUser");
principal.Stub(u => u.Identity).Return(identity);
httpContext.User = new GenericPrincipal(new GenericIdentity(String.Empty), new string[0]);
;
// Now create the system under test
var repository = MockRepository.GenerateMock<Repository>();
var controller = new CustomerController(repository);
var controller.ControllerContext = new ControllerContext(httpContext, new RouteData(), _controller);
controller.Create();
// Assertions
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment