use of org.postgresql.util.ServerErrorMessage in project molgenis by molgenis.
the class PostgreSqlExceptionTranslatorTest method translateForeignKeyViolationBadMessage.
@Test(expectedExceptions = RuntimeException.class)
public void translateForeignKeyViolationBadMessage() {
ServerErrorMessage serverErrorMessage = mock(ServerErrorMessage.class);
when(serverErrorMessage.getSQLState()).thenReturn("23503");
when(serverErrorMessage.getTable()).thenReturn("mytable");
when(serverErrorMessage.getDetail()).thenReturn("xxxyyyyzzzz");
// noinspection ThrowableResultOfMethodCallIgnored
postgreSqlExceptionTranslator.translateForeignKeyViolation(new PSQLException(serverErrorMessage));
}
use of org.postgresql.util.ServerErrorMessage in project molgenis by molgenis.
the class PostgreSqlExceptionTranslatorTest method translateForeignKeyViolationNotPresent.
@Test
public void translateForeignKeyViolationNotPresent() {
ServerErrorMessage serverErrorMessage = mock(ServerErrorMessage.class);
when(serverErrorMessage.getSQLState()).thenReturn("23503");
when(serverErrorMessage.getTable()).thenReturn("myTable");
when(serverErrorMessage.getDetail()).thenReturn("Key (myColumn)=(myValue) is not present in table \"myTable\"");
// noinspection ThrowableResultOfMethodCallIgnored
MolgenisValidationException e = postgreSqlExceptionTranslator.translateForeignKeyViolation(new PSQLException(serverErrorMessage));
assertEquals(e.getMessage(), "Unknown xref value 'myValue' for attribute 'myAttr' of entity 'myEntity'.");
}
use of org.postgresql.util.ServerErrorMessage in project molgenis by molgenis.
the class PostgreSqlExceptionTranslatorTest method translateUniqueKeyViolation.
@Test
public void translateUniqueKeyViolation() {
ServerErrorMessage serverErrorMessage = mock(ServerErrorMessage.class);
when(serverErrorMessage.getSQLState()).thenReturn("23505");
when(serverErrorMessage.getTable()).thenReturn("myTable");
when(serverErrorMessage.getDetail()).thenReturn("Key (myColumn)=(myValue) already exists.");
// noinspection ThrowableResultOfMethodCallIgnored
MolgenisValidationException e = postgreSqlExceptionTranslator.translateUniqueKeyViolation(new PSQLException(serverErrorMessage));
assertEquals(e.getMessage(), "Duplicate value 'myValue' for unique attribute 'myAttr' from entity 'myEntity'.");
}
use of org.postgresql.util.ServerErrorMessage in project molgenis by molgenis.
the class PostgreSqlExceptionTranslatorTest method translateCheckConstraintViolation.
@Test
public void translateCheckConstraintViolation() {
ServerErrorMessage serverErrorMessage = mock(ServerErrorMessage.class);
when(serverErrorMessage.getTable()).thenReturn("myTable");
when(serverErrorMessage.getConstraint()).thenReturn("myTable_myColumn_chk");
// noinspection ThrowableResultOfMethodCallIgnored
MolgenisValidationException e = postgreSqlExceptionTranslator.translateCheckConstraintViolation(new PSQLException(serverErrorMessage));
assertEquals(e.getMessage(), "Unknown enum value for attribute 'myAttr' of entity 'myEntity'.");
}
use of org.postgresql.util.ServerErrorMessage in project molgenis by molgenis.
the class PostgreSqlExceptionTranslatorTest method translateInvalidIntegerExceptionDateTime.
@Test
public void translateInvalidIntegerExceptionDateTime() {
ServerErrorMessage serverErrorMessage = mock(ServerErrorMessage.class);
when(serverErrorMessage.getMessage()).thenReturn("invalid input syntax for type timestamp with time zone: \"str1\"");
// noinspection ThrowableResultOfMethodCallIgnored
MolgenisValidationException e = PostgreSqlExceptionTranslator.translateInvalidIntegerException(new PSQLException(serverErrorMessage));
assertEquals(e.getMessage(), "Value [str1] of this entity attribute is not of type [DATE_TIME].");
}
Aggregations