Java:
public User createUser(String username, String password, String eMail) {
if (Strings.isNullOrEmpty(username)) {
throw new IllegalArgumentException("Username must not be null");
}
byte[][] passwordHashWithSalt = createHashWithSalt(password);
String insertFields = "INSERT INTO catan.user(name, email_address, hash, salt)";
String insertValues = "VALUES (?, ?, ?, ?)";
String insertToRegister = insertFields + insertValues;
try (Connection connection = dataBaseConnection.getConnection(); PreparedStatement statement = connection.prepareStatement(
insertToRegister)) {
statement.setString(1, username);
statement.setString(2, eMail);
statement.setBytes(3, passwordHashWithSalt[1]);
statement.setBytes(4, passwordHashWithSalt[0]);
statement.execute();
ResultSet userId = statement.getGeneratedKeys();
if (userId.next()) {
return new UserDTO(userId.getString(ID_COLUMN), username, passwordHashWithSalt[1], passwordHashWithSalt[0],
eMail);
}
} catch (SQLException e) {
LOG.error("Could not insert new user into database: {}", e.getMessage());
}
return null;
}
Ich wollte Test Junit schreiben, es hast fast alles geklappt außer dies
ResultSet userId = statement.getGeneratedKeys();
if (userId.next()) {
return new UserDTO(userId.getString(ID_COLUMN), username, passwordHashWithSalt[1], passwordHashWithSalt[0],
eMail);
}
ich versuche ganzen Tag, aber wenn ich mit Coverage teste, wird immer angezeigt, dass nur diese nicht getestet ist.