忘れないようにメモ。
sessionのmock
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import java.util.HashMap;
import org.junit.Test;
import com.avaje.ebean.Ebean;
import apps.FakeApp;
import play.api.mvc.RequestHeader;
import play.mvc.Http;
import play.mvc.Http.Context;
import play.mvc.Http.Request;
public class AuthTest extends FakeApp {
private Request requestMock;
private RequestHeader requestHeaderMock;
private Http.Cookies cookiesMock;
private void fakeSession() {
requestMock = mock(Request.class);
cookiesMock = mock(Http.Cookies.class);
requestHeaderMock = mock(RequestHeader.class);
when(requestMock.cookies()).thenReturn(cookiesMock);
Context.current.set(new Context(1L, requestHeaderMock, requestMock, new HashMap <String, String>(),
new HashMap <String, String>(), new HashMap<String,Object>()));
}
@Test
public void testSession() {
fakeSession();
Context.current().session().clear();
Context.current().session().put("id", "2");
// mockの検証
assertEquals(Context.current().session().get("id"), "2");
}
}