Specifying request attribute in service integration tests

Today I ran into some problems when wanting to add request dependant tests to my integration test suite. The controller tests in grails are already mocked with MockHttpServletRequestMockHttpServletResponse, and MockHttpSession , but what about services??

 

In my case I wanted the  RequestContextHolder.getRequestAttributes()

to contain a 'request' so I could get the servername from that inside my session scoped service. 

 

So what I did was: 

def request = new MockHttpServletRequest();        request.setServerName("test2.localhost")        RequestContextHolder.setRequestAttributes(new ServletRequestAttributes(request))

 
Svenska (Sverige)English (United Kingdom)