/* * JBoss, Home of Professional Open Source. * Copyright 2006, Red Hat Middleware LLC, and individual contributors * as indicated by the @author tags. See the copyright.txt file in the * distribution for a full listing of individual contributors. * * This is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this software; if not, write to the Free * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ package org.jboss.test.jpa.test; import java.util.Set; import org.jboss.test.jpa.entity.Address; import org.jboss.test.jpa.entity.Company; import org.jboss.test.jpa.entity.Customer; import org.jboss.test.jpa.entity.EntityTest; import org.jboss.test.jpa.entity.FieldAddress; import org.jboss.test.jpa.entity.FieldCompany; import org.jboss.test.jpa.entity.FieldCustomer; import org.jboss.test.jpa.entity.FieldFlight; import org.jboss.test.jpa.entity.FieldTicket; import org.jboss.test.jpa.entity.Flight; import org.jboss.test.jpa.entity.Ticket; import org.jboss.test.JBossTestCase; import junit.framework.Test; import org.jboss.logging.Logger; /** * Sample client for the jboss container. * * @author <a href="mailto:bill@burkecentral.com">Bill Burke</a> * @version $Id: EntityUnitTestCase.java 57207 2006-09-26 12:06:13Z dimitris@jboss.org $ */ public class EntityOptimisticLockingUnitTestCase extends JBossTestCase { private static final Logger log = Logger.getLogger(EntityOptimisticLockingUnitTestCase.class); static boolean deployed = false; static int test = 0; public EntityOptimisticLockingUnitTestCase(String name) { super(name); } public void testOneToMany() throws Exception { EntityTest test = (EntityTest) this.getInitialContext().lookup("EntityTestBean/remote"); Customer c = test.oneToManyCreate(); assertNotNull(c); assertNotNull(c.getTickets()); Set<Ticket> tickets = c.getTickets(); assertTrue(tickets.size() > 0); // test find c = test.findCustomerById(c.getId()); assertNotNull(c); assertNotNull(c.getTickets()); tickets = c.getTickets(); assertTrue(tickets.size() > 0); // test 1-1 Address address = c.getAddress(); assertTrue(address != null); assertTrue(address.getCity().equals("Boston")); } public void testManyToOne() throws Exception { EntityTest test = (EntityTest) this.getInitialContext().lookup("EntityTestBean/remote"); Flight f = test.manyToOneCreate(); f = test.findFlightById(f.getId()); assertTrue(f.getName().equals("AF0101")); assertTrue(f.getCompany().getName().equals("Air France")); Company c = test.findCompanyById(f.getCompany().getId()); assertTrue(c != null); assertTrue(c.getFlights().size() == 1); } public void testManyToMany() throws Exception { EntityTest test = (EntityTest) this.getInitialContext().lookup("EntityTestBean/remote"); test.manyToManyCreate(); Flight one = test.findFlightById(new Long(1)); assertTrue(one.getCompany().getName().equals("Air France")); Flight two = test.findFlightById(new Long(2)); assertTrue(two.getCompany().getName().equals("USAir")); System.out.println("Air France customers"); for (Customer c : one.getCustomers()) { System.out.println(c.getName()); } System.out.println("USAir customers"); for (Customer c : two.getCustomers()) { System.out.println(c.getName()); } } public void testFieldOneToMany() throws Exception { EntityTest test = (EntityTest) this.getInitialContext().lookup("EntityTestBean/remote"); FieldCustomer c = test.fieldOneToManyCreate(); assertNotNull(c); assertNotNull(c.getTickets()); Set<FieldTicket> tickets = c.getTickets(); assertTrue(tickets.size() > 0); // test find c = test.fieldFindCustomerById(c.getId()); assertNotNull(c); assertNotNull(c.getTickets()); tickets = c.getTickets(); assertTrue(tickets.size() > 0); // test 1-1 FieldAddress address = c.getAddress(); assertTrue(address != null); assertTrue(address.getCity().equals("Boston")); } public void testFieldManyToOne() throws Exception { EntityTest test = (EntityTest) this.getInitialContext().lookup("EntityTestBean/remote"); FieldFlight f = test.fieldManyToOneCreate(); f = test.fieldFindFlightById(f.getId()); assertTrue(f.getName().equals("AF0101")); assertTrue(f.getCompany().getName().equals("Air France")); FieldCompany c = test.fieldFindCompanyById(f.getCompany().getId()); assertTrue(c != null); assertTrue(c.getFlights().size() == 1); } public void testFieldManyToMany() throws Exception { EntityTest test = (EntityTest) this.getInitialContext().lookup("EntityTestBean/remote"); test.fieldManyToManyCreate(); FieldFlight one = test.fieldFindFlightById(new Long(1)); assertTrue(one.getCompany().getName().equals("Air France")); FieldFlight two = test.fieldFindFlightById(new Long(2)); assertTrue(two.getCompany().getName().equals("USAir")); System.out.println("Air France customers"); for (FieldCustomer c : one.getCustomers()) { System.out.println(c.getName()); } System.out.println("USAir customers"); for (FieldCustomer c : two.getCustomers()) { System.out.println(c.getName()); } } public void testNamedQueries() throws Exception { EntityTest test = (EntityTest) this.getInitialContext().lookup("EntityTestBean/remote"); test.testNamedQueries(); } public void testOutsideTx() throws Exception { EntityTest test = (EntityTest) this.getInitialContext().lookup("EntityTestBean/remote"); test.testOutsideTransaction(); } public void testFlush() throws Exception { EntityTest test = (EntityTest) this.getInitialContext().lookup("EntityTestBean/remote"); Customer c = test.createCustomer("Emmanuel"); test.changeCustomer(c.getId(), "Bill"); Customer c2 = test.loadCustomer(c.getId()); assertEquals("Bill", c2.getName()); } public static Test suite() throws Exception { return getDeploySetup(EntityOptimisticLockingUnitTestCase.class, "entityoptimisticlocking-test.jar"); } }