/* * Hibernate OGM, Domain model persistence for NoSQL datastores * * License: GNU Lesser General Public License (LGPL), version 2.1 or later * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. */ package org.hibernate.ogm.datastore.neo4j.test.mapping; import static org.hibernate.ogm.datastore.neo4j.dialect.impl.NodeLabel.ENTITY; import static org.hibernate.ogm.datastore.neo4j.dialect.impl.NodeLabel.SEQUENCE; import static org.hibernate.ogm.datastore.neo4j.test.dsl.GraphAssertions.node; import javax.persistence.EntityManager; import org.hibernate.ogm.backendtck.id.Song; import org.hibernate.ogm.datastore.neo4j.test.dsl.NodeForGraphAssertions; import org.junit.Before; import org.junit.Test; /** * @author Davide D'Alto */ public class SingleEntityWithSequenceTest extends Neo4jJpaTestCase { private Song song; @Before public void prepareDb() throws Exception { final EntityManager em = getFactory().createEntityManager(); em.getTransaction().begin(); song = new Song(); song.setSinger( "Jon Bovi" ); song.setTitle( "Keep the pace" ); em.persist( song ); em.getTransaction().commit(); em.close(); } @Test public void testMapping() throws Exception { NodeForGraphAssertions jugNode = node( "song", Song.class.getSimpleName(), ENTITY.name() ) .property( "id", song.getId() ) .property( "singer", song.getSinger() ) .property( "title", song.getTitle() ); NodeForGraphAssertions sequenceNode = node( "sequence", SEQUENCE.name() ) .property( "sequence_name", "song_sequence_name" ) .property( "next_val", 22 ); assertThatOnlyTheseNodesExist( jugNode, sequenceNode ); assertNumberOfRelationships( 0 ); assertNumberOfNodes( 2 ); assertNumberOfRelationships( 0 ); } @Override public Class<?>[] getAnnotatedClasses() { return new Class[] { Song.class }; } }