コントローラーの単体テストができるので、Spring MVC が好きです。
ただし、oauth するコントローラーをテストすることは別のことです。たとえば、GData に対して Oauth を実行するために認証 URL を取得したい場合、Google は開発環境ではなくドメイン (Web アプリの URL) からの認証要求のみを受け入れるため、Web アプリをデプロイする必要があります。そのドメインは localhost:8080 です。
したがって、現在、コードが機能するかどうかをテストしている唯一の方法は、コードを展開し、印刷する必要があるデータを印刷することです。
マルチアクションコントローラーであるMy Controller
public ModelAndView authorize(HttpServletRequest request,
HttpServletResponse response) {
Provider provider = getProvider(request.getAttribute("provider"));
String authUrl = provider.getAuthUrl();
page.put("authUrl", authUrl);
return new ModelAndView("setup","model",page);
}
プロバイダー コード、すべての依存関係が注入されます
public String getAuthUrl()
{
oAuthParameters.setScope("http://docs.google.com/feeds/");
try {
oAuthHelper.getUnauthorizedRequestToken(oAuthParameters);
} catch (OAuthException e) {
page.put("authUrl", CANNOT_CONNECT_TO_GOOGLE);
}
String oAuth_Callback="[callback url]";
try {
oAuth_Callback.concat("?oauth_token_secret=").concat(
java.net.URLEncoder.encode
(oAuthParameters.getOAuthTokenSecret(), "UTF-8"));
} catch (UnsupportedEncodingException e) {
page.put("authUrl",INTERNAL_ERROR);
}
oAuthParameters.setOAuthCallback(oAuth_Callback);
String authUrl = oAuthHelper.createUserAuthorizationUrl(oAuthParameters);
return authUrl;
}