[jboss-user] [JBoss Seam] - Dataimport in Seam tests
hispeedsurfer
do-not-reply at jboss.com
Mon Dec 3 13:12:21 EST 2007
Hi,
project is created with seam-gen v.2.0.0.GA
Production DB is MySQL
For testing purpose I filled import-test.sql with values
INSERT INTO Customer (id, version, userName, hashedPassword, email, memberName) VALUES
| (1, 1, 'feivel', 'd41d8cd98f00b204e9800998ecf8427e', 'a.franke at email.de', '00022')
Here the corresponding entity
| @Entity
| @Name("user")
| @Table(name = "Customer")
| public class User implements java.io.Serializable {
|
| private Long id;
| private Long version;
| private String userName;
| private String memberName;
| private String email;
| private String hashedPassword;
|
| @Id
| @GeneratedValue(strategy = IDENTITY)
| @Column(name = "id", unique = true, nullable = false)
| public Long getId() {return this.id;}
| public void setId(Long id) {this.id = id;}
|
| @Version
| @Column(name = "version")
| public Long getVersion() {return this.version;}
| public void setVersion(Long version) {this.version = version;}
|
| @Column(name = "userName", nullable = false)
| @NotNull
| public String getUserName() {return this.userName;}
| public void setUserName(String username) {this.userName = username;}
| ......
| }
|
But when I run a login-test the values not in HSQLDB
@Test
| public void testLoginComponent() throws Exception
| {
| new ComponentTest() {
|
| @Override
| protected void testComponents() throws Exception
| {
| assert getValue("#{identity.loggedIn}").equals(false);
| setValue("#{identity.username}", "00022");
| setValue("#{identity.password}", "");
| invokeMethod("#{identity.login}");
| 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();
| }
@Stateless
| @Name("authenticator")
| public class AuthenticatorBean implements Authenticator
| {
| @Logger
| private Log log;
|
| @PersistenceContext
| private EntityManager entityManager;
|
| @In
| private Identity identity;
|
| @Out(required=false, scope=ScopeType.SESSION)
| private User currentUser;
|
| public boolean authenticate(){
| log.info("authenticating #0", identity.getUsername());
| try {
| List results = entityManager.createQuery("select u from User u where u.memberName =:username").setParameter("username", identity.getUsername()).getResultList();
| if ( results.size()==0 )
| {
| return false;
| }
| else
| {
| currentUser = (User) results.get(0);
| }
| } catch (PersistenceException e) {
| e.printStackTrace();
| return false;
| }
| .....
In debug-modus I can see that the returned list from entityManager is empty, also I call "from User u" in sql statement.
I found nothing in docu or forum what I have done wrong. The persistence-test.xml is that one created automatically from Seam
<?xml version="1.0" encoding="UTF-8"?>
| <!-- Persistence deployment descriptor for tests -->
| <persistence xmlns="http://java.sun.com/xml/ns/persistence"
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
| xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
| version="1.0">
|
| <persistence-unit name="datenvisualisierung">
| <provider>org.hibernate.ejb.HibernatePersistence</provider>
| <jta-data-source>java:/DefaultDS</jta-data-source>
| <properties>
| <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
| <property name="hibernate.show_sql" value="true"/>
| <property name="hibernate.cache.use_second_level_cache" value="false"/>
| <property name="jboss.entity.manager.factory.jndi.name" value="java:/datenvisualisierungEntityManagerFactory"/>
| </properties>
| </persistence-unit>
|
| </persistence>
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4109958#4109958
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4109958
More information about the jboss-user
mailing list