package org.jboss.seam.example.seamdiscs.test; import static org.jboss.seam.example.seamdiscs.test.TestStrings.PASSWORD; import static org.jboss.seam.example.seamdiscs.test.TestStrings.USERNAME; import static org.jboss.seam.example.seamdiscs.test.TestStrings.WRONG_PASSWORD; import static org.jboss.seam.example.seamdiscs.test.TestStrings.WRONG_USERNAME; import org.jboss.seam.mock.DBUnitSeamTest; import org.testng.annotations.Test; /** * @author Pete Muir * */ public class LoginTest extends DBUnitSeamTest { @Override protected void prepareDBUnitOperations() { beforeTestOperations.add( new DataSetOperation("org/jboss/seam/example/seamdiscs/test/BaseData.xml") ); } @Test public void testLogin() throws Exception { new FacesRequest("/login.xhtml") { @Override protected void updateModelValues() throws Exception { setValue("#{identity.username}", USERNAME); setValue("#{identity.password}", PASSWORD); } @Override protected void invokeApplication() throws Exception { invokeAction("#{identity.login}"); } @Override protected void renderResponse() throws Exception { assert (Boolean) getValue("#{identity.loggedIn}"); } }.run(); new FacesRequest("/login.xhtml") { @Override protected void updateModelValues() throws Exception { setValue("#{identity.username}", USERNAME); setValue("#{identity.password}", WRONG_PASSWORD); } @Override protected void invokeApplication() throws Exception { invokeAction("#{identity.login}"); } @Override protected void renderResponse() throws Exception { assert !((Boolean) getValue("#{identity.loggedIn}")); } }.run(); new FacesRequest("/login.xhtml") { @Override protected void updateModelValues() throws Exception { setValue("#{identity.username}", WRONG_USERNAME); setValue("#{identity.password}", PASSWORD); } @Override protected void invokeApplication() throws Exception { invokeAction("#{identity.login}"); } @Override protected void renderResponse() throws Exception { assert !((Boolean) getValue("#{identity.loggedIn}")); } }.run(); new FacesRequest("/login.xhtml") { @Override protected void updateModelValues() throws Exception { setValue("#{identity.username}", WRONG_USERNAME); setValue("#{identity.password}", WRONG_PASSWORD); } @Override protected void invokeApplication() throws Exception { invokeAction("#{identity.login}"); } @Override protected void renderResponse() throws Exception { assert !((Boolean) getValue("#{identity.loggedIn}")); } }.run(); } }