return Status.Schema.valueOf( error ); case "LegacyIndex": return Status.LegacyIndex.valueOf( error );
@Test public void shouldFailGracefullyWhenViolatingConstraintOnPropertyUpdate() throws Exception { Response response = service.createPropertyUniquenessConstraint( "Person", "{\"property_keys\":[\"name\"]}" ); assertEquals( 200, response.getStatus() ); createPerson( "Fred" ); String wilma = createPerson( "Wilma" ); Response setAllNodePropertiesResponse = service.setAllNodeProperties( parseLong( wilma ), "{\"name\":\"Fred\"}" ); assertEquals( 409, setAllNodePropertiesResponse.getStatus() ); assertEquals( Schema.ConstraintValidationFailed.code().serialize(), singleErrorCode( setAllNodePropertiesResponse ) ); Response singleNodePropertyResponse = service.setNodeProperty( parseLong( wilma ), "name", "\"Fred\"" ); assertEquals( 409, singleNodePropertyResponse.getStatus() ); assertEquals( Schema.ConstraintValidationFailed.code().serialize(), singleErrorCode( singleNodePropertyResponse ) ); }
return Status.Schema.valueOf( error ); case "LegacyIndex": return Status.LegacyIndex.valueOf( error );
public static Status codeFromString( String codeStr ) { String[] parts = codeStr.split( "\\." ); if ( parts.length != 4 ) { return Status.General.UnknownFailure; } String category = parts[2]; String error = parts[3]; // Note: the input string may contain arbitrary input data, using reflection would open network attack vector switch ( category ) { case "Schema": return Status.Schema.valueOf( error ); case "LegacyIndex": return Status.LegacyIndex.valueOf( error ); case "General": return Status.General.valueOf( error ); case "Statement": return Status.Statement.valueOf( error ); case "Transaction": return Status.Transaction.valueOf( error ); case "Request": return Status.Request.valueOf( error ); case "Network": return Status.Network.valueOf( error ); default: return Status.General.UnknownFailure; } }
return Status.Schema.valueOf( error ); case "LegacyIndex": return Status.LegacyIndex.valueOf( error );
@Test public void shouldRespondWith409IfNodeCannotBeDeleted() throws Exception { long id = helper.createNode(); helper.createRelationship( "LOVES", id, helper.createNode() ); Response response = service.deleteNode( id ); assertEquals( 409, response.getStatus() ); assertEquals( Schema.ConstraintValidationFailed.code().serialize(), singleErrorCode( response ) ); }