On 2/15/06, Miller, John <[EMAIL PROTECTED]> wrote: > > Awesome, thanks for the help
For the record, I did indeed add a MockPrincipal class to this package. It will be available in nightly build 20060216. Craig -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Craig > McClanahan > Sent: Wednesday, February 15, 2006 5:46 PM > To: Struts Users Mailing List > Subject: Re: Shale Test Framework setting the remote User > > On 2/15/06, Miller, John <[EMAIL PROTECTED]> wrote: > > > > Hi, > > > > I am new to shale and the concept of mock objects, I am trying to > write > > a unit test to test a JSF action. The action requires the > > getRemoteUser() to return a valid user. Can anyone tell me the proper > > way to set up a user in the Mock External context. Thank you in > advance. > > > The mock external context calls getRemoteUser() on the mock servlet > request > object, so that is where we really need to set it. If your unit test > case > is a subclass of AbstractJsfTestCase or AbstractViewControllerTestCase, > the > superclass will have set you up an instance variable called "request" > for > this, so all you need to do is: > > request.setUserPrincipal(new MyPrincipal("username")); > > where MyPrincipal is a class that implements the > java.security.Principalinterface. (Obviously that's not very friendly > ... I'll add a MockPrincipal > class that should be available in tonight's nightly build.) > > Setting this propery will cause both request.getUserPrincipal() and > request.getRemoteUser() to return non-null values, which can then be > accessed via ExternalContext.getUserPrincipal() and > ExternalContext.getRemoteUser() respectively. > > John > > > Craig > > > > NOTICE: This message, including all attachments transmitted with it, is > for the use of the addressee only. It may contain proprietary, confidential > and/or legally privileged information belonging to Litle & Co. No > confidentiality or privilege is waived or lost by any mistransmission. If > you are not the intended recipient, you must not, directly or indirectly, > use, disclose, distribute, print or copy any part of this message. If you > believe you have received this message in error, please delete it and all > copies of it from your system and notify the sender immediately by reply > e-mail. Thank you. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >