1 Reply Latest reply on Apr 21, 2008 5:01 AM by Matt Drees

    Change MockHttpServletRequest to give an optional request URI

    benoit heinrich Newbie

      Hi seam team,

      I first want to say thanks for all the work you've done until now.  It's really good to work with a framework like this one, and specially with all the functions that are available.

      I'm currently developing a web app and while I'm doing the integration tests, I need to give special URLs to my application to be able to test a specific business logic (the site has different behaviors upon the incoming URL)

      For this I'm using a NonFacesRequest() test giving a site url into the constructor but then when I'm resolving the siteUrl (from the seam component) I always get the same URL:


      Here is the code of my seam component:

           public void resolveURL() {
                HttpServletRequest request = (HttpServletRequest)
                try {
                     siteUrl = new URL(request.getRequestURL().toString());
                } catch (MalformedURLException e) {
                     FacesMessages.instance().add("Malformed URL for site");
                     log.error("Malformed URL for site.");

      After searching a bit in the seam code, I've seen that the MockHttpServletRequest has the getRequestURI() method hardcoded.

         public String getRequestURI()
            return "http://localhost:8080/myproject/page.seam";

      So, I'm wondering if it's better if I use my own Mock class, or it you can improve the default one to allow us putting different URLs?