use of org.neo4j.ogm.domain.music.Album in project neo4j-ogm by neo4j.
the class GraphIdCapabilityTest method idShouldReturnNullForEntitiesNotPersisted.
/**
* @see DATAGRAPH-694
*/
@Test
public void idShouldReturnNullForEntitiesNotPersisted() {
Album revolver = new Album("Revolver");
assertThat(session.resolveGraphIdFor(revolver)).isNull();
Recording revolverRecording = new Recording(revolver, new Studio(), 1966);
assertThat(session.resolveGraphIdFor(revolverRecording)).isNull();
}
use of org.neo4j.ogm.domain.music.Album in project neo4j-ogm by neo4j.
the class LoadCapabilityTest method shouldAddRelationshipsWhenDepthIsIncreased.
// DATAGRAPH-642, GH-174
@Test
public void shouldAddRelationshipsWhenDepthIsIncreased() {
Artist led = new Artist("Led Zeppelin");
Album album = new Album("Led Zeppelin IV");
Studio studio = new Studio("Island Studios");
Recording recording = new Recording(album, studio, 1970);
led.addAlbum(album);
album.setArtist(led);
album.setRecording(recording);
session.save(led);
session.clear();
// Load to depth 0
Artist ledZeppelin = session.load(Artist.class, led.getId(), 0);
assertThat(ledZeppelin).isNotNull();
assertThat(ledZeppelin.getName()).isEqualTo(led.getName());
assertThat(ledZeppelin.getAlbums()).isEmpty();
// Load to depth 1
ledZeppelin = session.load(Artist.class, led.getId(), 1);
assertThat(ledZeppelin).isNotNull();
assertThat(ledZeppelin.getName()).isEqualTo(led.getName());
assertThat(ledZeppelin.getAlbums()).hasSize(1);
Album ledZeppelinIV = ledZeppelin.getAlbums().iterator().next();
assertThat(ledZeppelinIV.getName()).isEqualTo(album.getName());
assertThat(ledZeppelinIV.getArtist()).isEqualTo(ledZeppelin);
assertThat(ledZeppelinIV.getRecording()).isNull();
// Load to depth 2
ledZeppelin = session.load(Artist.class, led.getId(), 2);
assertThat(ledZeppelin).isNotNull();
assertThat(ledZeppelin.getName()).isEqualTo(led.getName());
assertThat(ledZeppelin.getAlbums()).hasSize(1);
ledZeppelinIV = ledZeppelin.getAlbums().iterator().next();
assertThat(ledZeppelinIV.getName()).isEqualTo(album.getName());
assertThat(ledZeppelinIV.getArtist()).isEqualTo(ledZeppelin);
assertThat(ledZeppelinIV.getRecording()).isNotNull();
assertThat(ledZeppelinIV.getRecording().getStudio().getName()).isEqualTo(studio.getName());
}
use of org.neo4j.ogm.domain.music.Album in project neo4j-ogm by neo4j.
the class LoadCapabilityTest method init.
@Before
public void init() throws IOException {
sessionFactory = new SessionFactory(getDriver(), "org.neo4j.ogm.domain.music", "org.neo4j.ogm.domain.gh368");
session = sessionFactory.openSession();
session.purgeDatabase();
// Create some data
Artist theBeatles = new Artist("The Beatles");
Album please = new Album("Please Please Me");
theBeatles.getAlbums().add(please);
please.setArtist(theBeatles);
session.save(theBeatles);
pleaseId = please.getId();
beatlesId = theBeatles.getId();
}
use of org.neo4j.ogm.domain.music.Album in project neo4j-ogm by neo4j.
the class LoadCapabilityTest method shouldRetainPreviouslyLoadedRelationshipsWhenDepthIsReduced.
// DATAGRAPH-642, GH-174
@Test
public void shouldRetainPreviouslyLoadedRelationshipsWhenDepthIsReduced() {
Artist led = new Artist("Led Zeppelin");
Album album = new Album("Led Zeppelin IV");
Studio studio = new Studio("Island Studios");
Recording recording = new Recording(album, studio, 1970);
led.addAlbum(album);
album.setArtist(led);
album.setRecording(recording);
session.save(led);
session.clear();
// Load Artist to depth 2
Artist ledZeppelin = session.load(Artist.class, led.getId(), 2);
assertThat(ledZeppelin).isNotNull();
assertThat(ledZeppelin.getName()).isEqualTo(led.getName());
assertThat(ledZeppelin.getAlbums()).hasSize(1);
Album ledZeppelinIV = ledZeppelin.getAlbums().iterator().next();
assertThat(ledZeppelinIV.getName()).isEqualTo(album.getName());
assertThat(ledZeppelinIV.getArtist()).isEqualTo(ledZeppelin);
assertThat(ledZeppelinIV.getRecording()).isNotNull();
assertThat(ledZeppelinIV.getRecording().getStudio().getName()).isEqualTo(studio.getName());
// Now load to depth 1
ledZeppelin = session.load(Artist.class, led.getId(), 0);
assertThat(ledZeppelin).isNotNull();
assertThat(ledZeppelin.getName()).isEqualTo(led.getName());
assertThat(ledZeppelin.getAlbums()).hasSize(1);
ledZeppelinIV = ledZeppelin.getAlbums().iterator().next();
assertThat(ledZeppelinIV.getName()).isEqualTo(album.getName());
assertThat(ledZeppelinIV.getArtist()).isEqualTo(ledZeppelin);
assertThat(ledZeppelinIV.getRecording()).isNotNull();
assertThat(ledZeppelinIV.getRecording().getStudio().getName()).isEqualTo(studio.getName());
// Now load to depth 0
ledZeppelin = session.load(Artist.class, led.getId(), 0);
assertThat(ledZeppelin).isNotNull();
assertThat(ledZeppelin.getName()).isEqualTo(led.getName());
assertThat(ledZeppelin.getAlbums()).hasSize(1);
ledZeppelinIV = ledZeppelin.getAlbums().iterator().next();
assertThat(ledZeppelinIV.getName()).isEqualTo(album.getName());
assertThat(ledZeppelinIV.getArtist()).isEqualTo(ledZeppelin);
assertThat(ledZeppelinIV.getRecording()).isNotNull();
assertThat(ledZeppelinIV.getRecording().getStudio().getName()).isEqualTo(studio.getName());
}
use of org.neo4j.ogm.domain.music.Album in project neo4j-ogm by neo4j.
the class LoadCapabilityTest method loadOneShouldRespectEntityType.
// DATAGRAPH-707
@Test
public void loadOneShouldRespectEntityType() {
Artist artist = session.load(Artist.class, beatlesId);
assertThat(artist.getName()).isEqualTo("The Beatles");
Album album = session.load(Album.class, beatlesId);
assertThat(album).isNull();
artist = session.load(Artist.class, beatlesId, 0);
assertThat(artist.getName()).isEqualTo("The Beatles");
album = session.load(Album.class, beatlesId, 0);
assertThat(album).isNull();
// ID does not exist
artist = session.load(Artist.class, Long.MAX_VALUE);
assertThat(artist).isNull();
}
Aggregations