[jboss-cvs] jboss-seam/examples/hibernate/src/org/jboss/seam/example/hibernate/test ...

Peter Muir peter at bleepbleep.org.uk
Sun Dec 23 14:53:06 EST 2007


  User: pmuir   
  Date: 07/12/23 14:53:06

  Added:       examples/hibernate/src/org/jboss/seam/example/hibernate/test    
                        testng.xml BookingTest.java ChangePasswordTest.java
                        LoginTest.java
  Log:
  JBSEAM-2387 and tidy up library usage
  
  Revision  Changes    Path
  1.4       +3 -13     jboss-seam/examples/hibernate/src/org/jboss/seam/example/hibernate/test/testng.xml
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: testng.xml
  ===================================================================
  RCS file: testng.xml
  diff -N testng.xml
  --- /dev/null	1 Jan 1970 00:00:00 -0000
  +++ testng.xml	23 Dec 2007 19:53:06 -0000	1.4
  @@ -0,0 +1,13 @@
  +<!DOCTYPE suite SYSTEM "http://beust.com/testng/testng-1.0.dtd" >
  +
  +<suite name="Hotel Booking" verbose="2" parallel="false">
  +
  +   <test name="Hibernate Booking">
  +     <classes>
  +       <class name="org.jboss.seam.example.hibernate.test.LoginTest"/>
  +       <class name="org.jboss.seam.example.hibernate.test.BookingTest"/>
  +       <class name="org.jboss.seam.example.hibernate.test.ChangePasswordTest"/>
  +     </classes>
  +   </test>
  +	
  +</suite>
  \ No newline at end of file
  
  
  
  1.10      +288 -260  jboss-seam/examples/hibernate/src/org/jboss/seam/example/hibernate/test/BookingTest.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: BookingTest.java
  ===================================================================
  RCS file: BookingTest.java
  diff -N BookingTest.java
  --- /dev/null	1 Jan 1970 00:00:00 -0000
  +++ BookingTest.java	23 Dec 2007 19:53:06 -0000	1.10
  @@ -0,0 +1,288 @@
  +//$Id: BookingTest.java,v 1.10 2007/12/23 19:53:06 pmuir Exp $
  +package org.jboss.seam.example.hibernate.test;
  +
  +import java.util.Calendar;
  +import java.util.Date;
  +import java.util.Iterator;
  +
  +import javax.faces.application.FacesMessage;
  +import javax.faces.context.FacesContext;
  +import javax.faces.model.DataModel;
  +import javax.faces.model.ListDataModel;
  +
  +import org.jboss.seam.contexts.Contexts;
  +import org.jboss.seam.core.Manager;
  +import org.jboss.seam.example.hibernate.Booking;
  +import org.jboss.seam.example.hibernate.Hotel;
  +import org.jboss.seam.example.hibernate.HotelBookingAction;
  +import org.jboss.seam.example.hibernate.User;
  +import org.jboss.seam.mock.SeamTest;
  +import org.testng.annotations.Test;
  +
  +public class BookingTest extends SeamTest
  +{
  +   
  +   @Test
  +   public void testBookHotel() throws Exception
  +   {
  +      
  +      new FacesRequest() {
  +         
  +         @Override
  +         protected void invokeApplication() throws Exception
  +         {
  +            Contexts.getSessionContext().set("user", new User("Gavin King", "foobar", "gavin"));
  +            setValue("#{identity.username}", "gavin");
  +            setValue("#{identity.password}", "foobar");            
  +            invokeAction("#{identity.login}");
  +         }
  +         
  +      }.run();
  +      
  +      new FacesRequest("/main.xhtml") {
  +
  +         @Override
  +         protected void updateModelValues() throws Exception
  +         {
  +            setValue("#{hotelSearch.searchString}", "Union Square");
  +         }
  +
  +         @Override
  +         protected void invokeApplication()
  +         {
  +            assert invokeAction("#{hotelSearch.find}")==null;
  +         }
  +
  +         @Override
  +         protected void renderResponse()
  +         {
  +            DataModel hotels = (DataModel) Contexts.getSessionContext().get("hotels");
  +            assert hotels.getRowCount()==1;
  +            assert ( (Hotel) hotels.getRowData() ).getCity().equals("NY");
  +            assert getValue("#{hotelSearch.searchString}").equals("Union Square");
  +            assert !Manager.instance().isLongRunningConversation();
  +         }
  +         
  +      }.run();
  +      
  +      String id = new FacesRequest("/main.xhtml") {
  +         
  +         @Override
  +         protected void invokeApplication() throws Exception {
  +            HotelBookingAction hotelBooking = (HotelBookingAction) getInstance("hotelBooking");
  +            DataModel hotels = (DataModel) Contexts.getSessionContext().get("hotels");
  +            assert hotels.getRowCount()==1;
  +            hotelBooking.selectHotel( (Hotel) hotels.getRowData() );
  +         }
  +
  +         @Override
  +         protected void renderResponse()
  +         {
  +            Hotel hotel = (Hotel) Contexts.getConversationContext().get("hotel");
  +            assert hotel.getCity().equals("NY");
  +            assert hotel.getZip().equals("10011");
  +            assert Manager.instance().isLongRunningConversation();
  +         }
  +         
  +      }.run();
  +      
  +      id = new FacesRequest("/hotel.xhtml", id) {
  +
  +         @Override
  +         protected void invokeApplication()
  +         {
  +            invokeAction("#{hotelBooking.bookHotel}");
  +         }
  +
  +         @Override
  +         protected void renderResponse()
  +         {
  +            assert getValue("#{booking.user}")!=null;
  +            assert getValue("#{booking.hotel}")!=null;
  +            assert getValue("#{booking.creditCard}")==null;
  +            assert getValue("#{booking.creditCardName}")==null;
  +            Booking booking = (Booking) Contexts.getConversationContext().get("booking");
  +            assert booking.getHotel()==Contexts.getConversationContext().get("hotel");
  +            assert booking.getUser()==Contexts.getSessionContext().get("user");
  +            assert Manager.instance().isLongRunningConversation();
  +         }
  +         
  +      }.run();
  +      
  +      new FacesRequest("/book.xhtml", id) {
  +
  +         @Override
  +         protected void processValidations() throws Exception
  +         {
  +            validateValue("#{booking.creditCard}", "123");
  +            assert isValidationFailure();
  +         }
  +
  +         @Override
  +         protected void renderResponse()
  +         {
  +            Iterator messages = FacesContext.getCurrentInstance().getMessages();
  +            assert messages.hasNext();
  +            assert ( (FacesMessage) messages.next() ).getSummary().equals("Credit card number must 16 digits long");
  +            assert !messages.hasNext();
  +            assert Manager.instance().isLongRunningConversation();
  +         }
  +         
  +         @Override
  +         protected void afterRequest()
  +         {
  +            assert !isInvokeApplicationBegun();
  +         }
  +         
  +      }.run();
  +      
  +      new FacesRequest("/book.xhtml", id) {
  +
  +         @Override
  +         protected void processValidations() throws Exception
  +         {
  +            validateValue("#{booking.creditCardName}", "");
  +            assert isValidationFailure();
  +         }
  +
  +         @Override
  +         protected void renderResponse()
  +         {
  +            Iterator messages = FacesContext.getCurrentInstance().getMessages();
  +            assert messages.hasNext();
  +            assert ( (FacesMessage) messages.next() ).getSummary().equals("Credit card name is required");
  +            assert !messages.hasNext();
  +            assert Manager.instance().isLongRunningConversation();
  +         }
  +         
  +         @Override
  +         protected void afterRequest()
  +         {
  +            assert !isInvokeApplicationBegun();
  +         }
  +         
  +      }.run();
  +      
  +      new FacesRequest("/book.xhtml", id) {
  +         
  +         @Override @SuppressWarnings("deprecation")
  +         protected void updateModelValues() throws Exception
  +         {  
  +            setValue("#{booking.creditCard}", "1234567891021234");
  +            setValue("#{booking.creditCardName}", "GAVIN KING");
  +            setValue("#{booking.beds}", 2);
  +            Date now = new Date();
  +            setValue("#{booking.checkinDate}", now);
  +            setValue("#{booking.checkoutDate}", now);
  +         }
  +
  +         @Override
  +         protected void invokeApplication()
  +         {
  +            assert invokeAction("#{hotelBooking.setBookingDetails}")==null;
  +         }
  +
  +         @Override
  +         protected void renderResponse()
  +         {
  +            Iterator messages = FacesContext.getCurrentInstance().getMessages();
  +            assert messages.hasNext();
  +            FacesMessage message = (FacesMessage) messages.next();
  +            assert message.getSummary().equals("Check out date must be later than check in date");
  +            assert !messages.hasNext();
  +            assert Manager.instance().isLongRunningConversation();
  +         }
  +         
  +         @Override
  +         protected void afterRequest()
  +         {
  +            assert isInvokeApplicationComplete();
  +         }
  +         
  +      }.run();
  +      
  +      new FacesRequest("/book.xhtml", id) {
  +         
  +         @Override @SuppressWarnings("deprecation")
  +         protected void updateModelValues() throws Exception
  +         {
  +            Calendar cal = Calendar.getInstance();
  +            cal.add(Calendar.DAY_OF_MONTH, 2);
  +            setValue("#{booking.checkoutDate}", cal.getTime() );
  +         }
  +
  +         @Override
  +         protected void invokeApplication()
  +         {
  +            invokeAction("#{hotelBooking.setBookingDetails}");
  +         }
  +
  +         @Override
  +         protected void renderResponse()
  +         {
  +            assert Manager.instance().isLongRunningConversation();
  +         }
  +         
  +         @Override
  +         protected void afterRequest()
  +         {
  +            assert isInvokeApplicationComplete();
  +         }
  +         
  +      }.run();
  +      
  +      new FacesRequest("/confirm.xhtml", id) {
  +
  +         @Override
  +         protected void invokeApplication()
  +         {
  +            invokeAction("#{hotelBooking.confirm}");
  +         }
  +         
  +         @Override
  +         protected void afterRequest()
  +         {
  +            assert isInvokeApplicationComplete();
  +         }
  +         
  +      }.run();
  +      
  +      new NonFacesRequest("/main.xhtml") {
  +
  +         @Override
  +         protected void renderResponse()
  +         {
  +            ListDataModel bookings = (ListDataModel) getInstance("bookings");
  +            assert bookings.getRowCount()==1;
  +            bookings.setRowIndex(0);
  +            Booking booking = (Booking) bookings.getRowData();
  +            assert booking.getHotel().getCity().equals("NY");
  +            assert booking.getUser().getUsername().equals("gavin");
  +            assert !Manager.instance().isLongRunningConversation();
  +         }
  +         
  +      }.run();
  +      
  +      new FacesRequest("/main.xhtml") {
  +         
  +         @Override
  +         protected void invokeApplication()
  +         {
  +            ListDataModel bookings = (ListDataModel) Contexts.getSessionContext().get("bookings");
  +            bookings.setRowIndex(0);
  +            invokeAction("#{bookingList.cancel}");
  +         }
  +
  +         @Override
  +         protected void renderResponse()
  +         {
  +            ListDataModel bookings = (ListDataModel) Contexts.getSessionContext().get("bookings");
  +            assert bookings.getRowCount()==0;
  +            assert !Manager.instance().isLongRunningConversation();
  +         }
  +         
  +      }.run();
  +      
  +   }
  +   
  +}
  
  
  
  1.9       +138 -164  jboss-seam/examples/hibernate/src/org/jboss/seam/example/hibernate/test/ChangePasswordTest.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: ChangePasswordTest.java
  ===================================================================
  RCS file: ChangePasswordTest.java
  diff -N ChangePasswordTest.java
  --- /dev/null	1 Jan 1970 00:00:00 -0000
  +++ ChangePasswordTest.java	23 Dec 2007 19:53:06 -0000	1.9
  @@ -0,0 +1,138 @@
  +//$Id: ChangePasswordTest.java,v 1.9 2007/12/23 19:53:06 pmuir Exp $
  +package org.jboss.seam.example.hibernate.test;
  +
  +import org.jboss.seam.contexts.Contexts;
  +import org.jboss.seam.core.Manager;
  +import org.jboss.seam.example.hibernate.User;
  +import org.jboss.seam.mock.SeamTest;
  +import org.testng.annotations.Test;
  +
  +public class ChangePasswordTest extends SeamTest
  +{
  +   
  +   @Test
  +   public void testChangePassword() throws Exception
  +   {
  +      
  +      new FacesRequest() {
  +         
  +         @Override
  +         protected void invokeApplication() throws Exception
  +         {
  +            Contexts.getSessionContext().set("user", new User("Gavin King", "foobar", "gavin"));
  +            setValue("#{identity.username}", "gavin");
  +            setValue("#{identity.password}", "foobar");
  +            invokeMethod("#{identity.login}");
  +         }
  +         
  +      }.run();
  +      
  +      new FacesRequest() {
  +         
  +         @Override
  +         protected void processValidations() throws Exception
  +         {
  +            validateValue("#{user.password}", "xxx");
  +            assert isValidationFailure();
  +         }
  +
  +         @Override
  +         protected void renderResponse()
  +         {
  +            assert getValue("#{user.name}").equals("Gavin King");
  +            assert getValue("#{user.username}").equals("gavin");
  +            assert getValue("#{user.password}").equals("foobar");
  +            assert !Manager.instance().isLongRunningConversation();
  +            assert getValue("#{identity.loggedIn}").equals(true);
  +
  +         }
  +         
  +      }.run();
  +      
  +      new FacesRequest() {
  +
  +         @Override
  +         protected void updateModelValues() throws Exception
  +         {
  +            setValue("#{user.password}", "xxxyyy");
  +            setValue("#{changePassword.verify}", "xxyyyx");
  +         }
  +
  +         @Override
  +         protected void invokeApplication()
  +         {
  +            assert invokeAction("#{changePassword.changePassword}")==null;
  +         }
  +
  +         @Override
  +         protected void renderResponse()
  +         {
  +            assert getValue("#{user.name}").equals("Gavin King");
  +            assert getValue("#{user.username}").equals("gavin");
  +            assert getValue("#{user.password}").equals("foobar");
  +            assert !Manager.instance().isLongRunningConversation();
  +            assert getValue("#{identity.loggedIn}").equals(true);
  +         }
  +         
  +      }.run();
  +      
  +      new FacesRequest() {
  +
  +         @Override
  +         protected void updateModelValues() throws Exception
  +         {
  +            setValue("#{user.password}", "xxxyyy");
  +            setValue("#{changePassword.verify}", "xxxyyy");
  +         }
  +
  +         @Override
  +         protected void invokeApplication()
  +         {
  +            invokeMethod("#{changePassword.changePassword}");
  +         }
  +
  +         @Override
  +         protected void renderResponse()
  +         {
  +            assert getValue("#{user.name}").equals("Gavin King");
  +            assert getValue("#{user.username}").equals("gavin");
  +            assert getValue("#{user.password}").equals("xxxyyy");
  +            assert !Manager.instance().isLongRunningConversation();
  +            assert getValue("#{identity.loggedIn}").equals(true);
  +
  +         }
  +         
  +      }.run();
  +      
  +      new FacesRequest() {
  +
  +         @Override
  +         protected void updateModelValues() throws Exception
  +         {
  +            assert getValue("#{user.password}").equals("xxxyyy");
  +            setValue("#{user.password}", "foobar");
  +            setValue("#{changePassword.verify}", "foobar");
  +         }
  +
  +         @Override
  +         protected void invokeApplication()
  +         {
  +            invokeMethod("#{changePassword.changePassword}");
  +         }
  +
  +         @Override
  +         protected void renderResponse()
  +         {
  +            assert getValue("#{user.name}").equals("Gavin King");
  +            assert getValue("#{user.username}").equals("gavin");
  +            assert getValue("#{user.password}").equals("foobar");
  +            assert !Manager.instance().isLongRunningConversation();
  +            assert getValue("#{identity.loggedIn}").equals(true);
  +
  +         }
  +         
  +      }.run();
  +      
  +   }
  +
  +}
  
  
  
  1.11      +33 -11    jboss-seam/examples/hibernate/src/org/jboss/seam/example/hibernate/test/LoginTest.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: LoginTest.java
  ===================================================================
  RCS file: LoginTest.java
  diff -N LoginTest.java
  --- /dev/null	1 Jan 1970 00:00:00 -0000
  +++ LoginTest.java	23 Dec 2007 19:53:06 -0000	1.11
  @@ -0,0 +1,115 @@
  +//$Id: LoginTest.java,v 1.11 2007/12/23 19:53:06 pmuir Exp $
  +package org.jboss.seam.example.hibernate.test;
  +
  +import org.jboss.seam.core.Manager;
  +import org.jboss.seam.web.Session;
  +import org.jboss.seam.mock.SeamTest;
  +import org.testng.annotations.Test;
  +
  +public class LoginTest extends SeamTest
  +{
  +   
  +   @Test
  +   public void testLoginComponent() throws Exception
  +   {
  +      new ComponentTest() {
  +
  +         @Override
  +         protected void testComponents() throws Exception
  +         {
  +            assert getValue("#{identity.loggedIn}").equals(false);
  +            setValue("#{identity.username}", "gavin");
  +            setValue("#{identity.password}", "foobar");
  +            invokeMethod("#{identity.login}");
  +            assert getValue("#{user.name}").equals("Gavin King");
  +            assert getValue("#{user.username}").equals("gavin");
  +            assert getValue("#{user.password}").equals("foobar");
  +            assert getValue("#{identity.loggedIn}").equals(true);
  +            invokeMethod("#{identity.logout}");
  +            assert getValue("#{identity.loggedIn}").equals(false);
  +            setValue("#{identity.username}", "gavin");
  +            setValue("#{identity.password}", "tiger");
  +            invokeMethod("#{identity.login}");
  +            assert getValue("#{identity.loggedIn}").equals(false);
  +         }
  +         
  +      }.run();
  +   }
  +   
  +   @Test
  +   public void testLogin() throws Exception
  +   {
  +      
  +      new FacesRequest() {
  +         
  +         @Override
  +         protected void invokeApplication()
  +         {
  +            assert !isSessionInvalid();
  +            assert getValue("#{identity.loggedIn}").equals(false);
  +         }
  +         
  +      }.run();
  +      
  +      new FacesRequest() {
  +
  +         @Override
  +         protected void updateModelValues() throws Exception
  +         {
  +            assert !isSessionInvalid();
  +            setValue("#{identity.username}", "gavin");
  +            setValue("#{identity.password}", "foobar");
  +         }
  +
  +         @Override
  +         protected void invokeApplication()
  +         {
  +            invokeAction("#{identity.login}");
  +         }
  +
  +         @Override
  +         protected void renderResponse()
  +         {
  +            assert getValue("#{user.name}").equals("Gavin King");
  +            assert getValue("#{user.username}").equals("gavin");
  +            assert getValue("#{user.password}").equals("foobar");
  +            assert !Manager.instance().isLongRunningConversation();
  +            assert getValue("#{identity.loggedIn}").equals(true);
  +         }
  +         
  +      }.run();
  +      
  +      new FacesRequest() {
  +
  +         @Override
  +         protected void invokeApplication()
  +         {
  +            assert !isSessionInvalid();
  +            assert getValue("#{identity.loggedIn}").equals(true);
  +         }
  +         
  +      }.run();
  +      
  +      new FacesRequest() {
  +
  +         @Override
  +         protected void invokeApplication()
  +         {
  +            assert !Manager.instance().isLongRunningConversation();
  +            assert !isSessionInvalid();
  +            invokeMethod("#{identity.logout}");
  +            assert Session.instance().isInvalid();
  +         }
  +
  +         @Override
  +         protected void renderResponse()
  +         {
  +            assert getValue("#{identity.loggedIn}").equals(false);
  +            assert Session.instance().isInvalid();
  +         }
  +         
  +      }.run();
  +      
  +   }
  +
  +}
  
  
  



More information about the jboss-cvs-commits mailing list