Class MockServletExecutionContext

java.lang.Object
nablarch.fw.HandlerQueueManager<nablarch.fw.ExecutionContext>
nablarch.fw.ExecutionContext
nablarch.fw.web.servlet.ServletExecutionContext
nablarch.fw.web.servlet.MockServletExecutionContext

@Published(tag="architect") public class MockServletExecutionContext extends nablarch.fw.web.servlet.ServletExecutionContext
単体テスト用の ServletExecutionContext のモッククラス。

このモッククラスでは、 ServletExecutionContext 内の Servlet API や HTTP 処理に関係する部分を仮実装に置き換えている。 これによって、 Servlet API などのインスタンスを用意しなくても、 インスタンス生成が可能となっている。

リクエストスコープとセッションスコープの情報は、本クラス内のインスタンス変数で定義された Map 内に格納される。
また、 getHttpRequest()ServletExecutionContext.getServletContext() などの HTTP 処理に関係するメソッドは、別途定義されたセッターなどで渡した値をそのまま返すだけの 実装に置き換えられている。
これら以外の、もともと ExecutionContext にあるメソッド(ExecutionContext.handleNext(Object) など)は、 本来の処理がそのまま実行される。

Author:
Tanaka Tomoyuki
  • Constructor Details

    • MockServletExecutionContext

      public MockServletExecutionContext()
      コンストラクタ。
  • Method Details

    • getRequestScopeMap

      public Map<String,Object> getRequestScopeMap()
      リクエストスコープ用のモックのマップを取得する。
      Overrides:
      getRequestScopeMap in class nablarch.fw.web.servlet.ServletExecutionContext
      Returns:
      リクエストスコープ用のモックのマップ
    • setRequestScopeMap

      public nablarch.fw.ExecutionContext setRequestScopeMap(Map<String,Object> scope)
      リクエストスコープ用のモックのマップを設定する。
      Overrides:
      setRequestScopeMap in class nablarch.fw.web.servlet.ServletExecutionContext
      Parameters:
      scope - リクエストスコープ用のモックのマップ
      Returns:
      このオブジェクト自体
    • getSessionScopeMap

      public Map<String,Object> getSessionScopeMap()
      セッションスコープ用のモックのマップを取得する。
      Overrides:
      getSessionScopeMap in class nablarch.fw.web.servlet.ServletExecutionContext
      Returns:
      セッションスコープ用のモックのマップ
    • setSessionScopeMap

      public nablarch.fw.ExecutionContext setSessionScopeMap(Map<String,Object> scope)
      セッションスコープ用のモックのマップを設定する。
      Overrides:
      setSessionScopeMap in class nablarch.fw.web.servlet.ServletExecutionContext
      Parameters:
      scope - セッションスコープ用のモックのマップ
      Returns:
      このオブジェクト自体
    • invalidateSession

      public nablarch.fw.ExecutionContext invalidateSession()
      セッション破棄の処理は行わず、メソッドが実行された回数の記録だけを行う。
      Overrides:
      invalidateSession in class nablarch.fw.web.servlet.ServletExecutionContext
      Returns:
      このオブジェクト自体
    • getInvalidateSessionInvokedCount

      public int getInvalidateSessionInvokedCount()
      invalidateSession()が実行された回数を取得する。
      Returns:
      invalidateSession()が実行された回数
    • setIsNewSessionValue

      public void setIsNewSessionValue(boolean isNewSessionValue)
      isNewSession()が返す値を設定する。
      Parameters:
      isNewSessionValue - isNewSession()が返す値
    • isNewSession

      public boolean isNewSession()
      setIsNewSessionValue(boolean)で設定した値を返す。

      デフォルトは false を返す。

      Overrides:
      isNewSession in class nablarch.fw.web.servlet.ServletExecutionContext
      Returns:
      setIsNewSessionValue(boolean)で設定した値
    • setHasSessionValue

      public void setHasSessionValue(boolean hasSessionValue)
      hasSession()が返す値を設定する。
      Parameters:
      hasSessionValue - hasSession()が返す値
    • hasSession

      public boolean hasSession()
      setHasSessionValue(boolean)で設定した値を返す。

      デフォルトは true を返す。

      Overrides:
      hasSession in class nablarch.fw.web.servlet.ServletExecutionContext
      Returns:
      setHasSessionValue(boolean)で設定した値
    • setHttpRequestValue

      public void setHttpRequestValue(nablarch.fw.web.servlet.HttpRequestWrapper httpRequestValue)
      getHttpRequest()が返す値を設定する。
      Parameters:
      httpRequestValue - getHttpRequest()が返す値
    • getHttpRequest

      public nablarch.fw.web.servlet.HttpRequestWrapper getHttpRequest()
      setHttpRequestValue(HttpRequestWrapper)で設定した値を返す。

      デフォルトは null を返す。

      Overrides:
      getHttpRequest in class nablarch.fw.web.servlet.ServletExecutionContext
      Returns:
      setHttpRequestValue(HttpRequestWrapper)で設定した値
    • setServletRequestValue

      public void setServletRequestValue(nablarch.fw.web.servlet.NablarchHttpServletRequestWrapper servletRequestValue)
      getServletRequest()が返す値を設定する。
      Parameters:
      servletRequestValue - getServletRequest()が返す値
    • getServletRequest

      public nablarch.fw.web.servlet.NablarchHttpServletRequestWrapper getServletRequest()
      setServletRequestValue(NablarchHttpServletRequestWrapper)で設定した値を返す。

      デフォルトは null を返す。

      Overrides:
      getServletRequest in class nablarch.fw.web.servlet.ServletExecutionContext
      Returns:
      setServletRequestValue(NablarchHttpServletRequestWrapper)で設定した値
    • setServletResponseValue

      public void setServletResponseValue(jakarta.servlet.http.HttpServletResponse servletResponseValue)
      getServletResponse()が返す値を設定する。
      Parameters:
      servletResponseValue - getServletResponse()が返す値
    • getServletResponse

      public jakarta.servlet.http.HttpServletResponse getServletResponse()
      setServletResponseValue(HttpServletResponse)で設定した値を返す。

      デフォルトは null を返す。

      Overrides:
      getServletResponse in class nablarch.fw.web.servlet.ServletExecutionContext
      Returns:
      setServletResponseValue(HttpServletResponse)で設定した値
    • setServletContextValue

      public void setServletContextValue(jakarta.servlet.ServletContext servletContextValue)
      getServletContext()が返す値を設定する。
      Parameters:
      servletContextValue - getServletContext()が返す値
    • getServletContext

      public jakarta.servlet.ServletContext getServletContext()
      setServletContextValue(ServletContext)で設定した値を返す。

      デフォルトは null を返す。

      Overrides:
      getServletContext in class nablarch.fw.web.servlet.ServletExecutionContext
      Returns:
      setServletContextValue(ServletContext)で設定した値
    • setNativeHttpSessionValue

      public void setNativeHttpSessionValue(jakarta.servlet.http.HttpSession nativeHttpSessionValue)
      getNativeHttpSession(boolean)が返す値を設定する。
      Parameters:
      nativeHttpSessionValue - getNativeHttpSession(boolean)が返す値
    • getNativeHttpSession

      public jakarta.servlet.http.HttpSession getNativeHttpSession(boolean create)
      setNativeHttpSessionValue(HttpSession)で設定した値を返す。

      デフォルトは null を返す。

      Overrides:
      getNativeHttpSession in class nablarch.fw.web.servlet.ServletExecutionContext
      Parameters:
      create - この値は使用しない
      Returns:
      setNativeHttpSessionValue(HttpSession)で設定した値
    • getCreate

      public Boolean getCreate()
      最後に getNativeHttpSession(boolean) を実行したときに引数に渡された値を取得する。

      一度もメソッドが実行されていない状態では null を返す。

      Returns:
      最後に getNativeHttpSession(boolean) を実行したときに引数に渡された値