@Test public void testMultipleDeleteNode() { Node node1 = getGraphDb().createNode(); node1.delete(); try { node1.delete(); Transaction tx = getTransaction(); tx.success(); tx.close(); fail( "Should not validate" ); } catch ( Exception e ) { // ok } }
@Test public void testRandomPropertyName() { Node node1 = getGraphDb().createNode(); String key = "random_" + new Random( System.currentTimeMillis() ).nextLong(); node1.setProperty( key, "value" ); assertEquals( "value", node1.getProperty( key ) ); node1.delete(); }
@Test( expected = NotFoundException.class ) public void deletionOfAlreadyDeletedNodeShouldThrow() { // Given Node node; try ( Transaction tx = db.beginTx() ) { node = db.createNode(); tx.success(); } try ( Transaction tx = db.beginTx() ) { node.delete(); tx.success(); } // When try ( Transaction tx = db.beginTx() ) { node.delete(); // should throw NotFoundException as this node is already deleted tx.success(); } }
@Override public void createTestGraph( GraphDatabaseService graphDb ) { List<Node> deleted = new ArrayList<>(); try ( Transaction tx = graphDb.beginTx() ) { for ( int i = 0; i < N_NODES; i++ ) { Node node = graphDb.createNode(); if ( random.nextBoolean() ) { NODE_IDS.add( node.getId() ); } else { deleted.add( node ); } } tx.success(); } try ( Transaction tx = graphDb.beginTx() ) { for ( Node node : deleted ) { node.delete(); } tx.success(); } }
private void makeSureAdditionsCanBeRemoved( boolean restartTx ) { Index<Node> index = nodeIndex( LuceneIndexImplementation.EXACT_CONFIG ); String key = "name"; String value = "Mattias"; assertNull( index.get( key, value ).getSingle() ); Node node = graphDb.createNode(); index.add( node, key, value ); if ( restartTx ) { restartTx(); } assertEquals( node, index.get( key, value ).getSingle() ); index.remove( node, key, value ); assertNull( index.get( key, value ).getSingle() ); restartTx(); assertNull( index.get( key, value ).getSingle() ); node.delete(); index.delete(); }
@Test public void testDeletedRelationship() { Node node1 = getGraphDb().createNode(); Node node2 = getGraphDb().createNode(); Relationship relationship = node1.createRelationshipTo( node2, TEST ); relationship.delete(); try { relationship.setProperty( "key1", 1 ); fail( "Adding property to deleted rel should throw exception." ); } catch ( Exception e ) { // good } node1.delete(); node2.delete(); }
@Test public void testAddPropertyDeletedNode() { Node node = getGraphDb().createNode(); node.delete(); try { node.setProperty( key, 1 ); fail( "Add property on deleted node should not validate" ); } catch ( Exception e ) { // good } }
@Test public void testRemoveNodeFromIndex() { Index<Node> index = nodeIndex( LuceneIndexImplementation.EXACT_CONFIG ); String key = "key"; String value = "MYID"; Node node = createAndIndexNode( index, key, value ); index.remove( node ); node.delete(); Node node2 = createAndIndexNode( index, key, value ); assertEquals( node2, index.get( key, value ).getSingle() ); }
@Test public void shouldListAllLabelsInUse() { // Given GraphDatabaseService db = dbRule.getGraphDatabaseAPI(); createNode( db, Labels.MY_LABEL ); Node node = createNode( db, Labels.MY_OTHER_LABEL ); try ( Transaction tx = db.beginTx() ) { node.delete(); tx.success(); } List<Label> labels = null; // When try ( Transaction tx = db.beginTx() ) { labels = asList( db.getAllLabelsInUse() ); } // Then assertEquals( 1, labels.size() ); assertThat( map( Label::name, labels ), hasItems( Labels.MY_LABEL.name() ) ); }
private void createSomeTransactions( GraphDatabaseService db ) Node node1 = db.createNode(); Node node2 = db.createNode(); node1.createRelationshipTo( node2, RelationshipType.withName( "relType1" ) ); tx.success(); tx.close(); node1.delete(); tx.success(); try tx.success(); tx.close();
private void makeSureSomeAdditionsCanBeRemoved( boolean restartTx ) { Index<Node> index = nodeIndex( LuceneIndexImplementation.EXACT_CONFIG ); String key1 = "name"; String key2 = "title"; String value1 = "Mattias"; assertNull( index.get( key1, value1 ).getSingle() ); assertNull( index.get( key2, value1 ).getSingle() ); Node node = graphDb.createNode(); Node node2 = graphDb.createNode(); index.add( node, key1, value1 ); index.add( node, key2, value1 ); index.add( node2, key1, value1 ); if ( restartTx ) { restartTx(); } index.remove( node, key1, value1 ); index.remove( node, key2, value1 ); assertEquals( node2, index.get( key1, value1 ).getSingle() ); assertNull( index.get( key2, value1 ).getSingle() ); assertEquals( node2, index.get( key1, value1 ).getSingle() ); assertNull( index.get( key2, value1 ).getSingle() ); node.delete(); index.delete(); }
@Test public void testAddPropertyThenDelete() { Node node1 = getGraphDb().createNode(); Node node2 = getGraphDb().createNode(); Relationship rel = node1.createRelationshipTo( node2, TEST ); rel.setProperty( "test", "test" ); newTransaction(); rel.setProperty( "test2", "test2" ); rel.delete(); node1.delete(); node2.delete(); newTransaction(); }
@Test public void testDeletedNode() { // do some evil stuff Node node = getGraphDb().createNode(); node.delete(); try { node.setProperty( "key1", 1 ); fail( "Adding stuff to deleted node should throw exception" ); } catch ( Exception e ) { // good } }