User etwas überarbeitet

This commit is contained in:
mbremer
2021-09-24 14:32:16 +02:00
parent bd35eff00b
commit fde4987c8a
4 changed files with 28 additions and 28 deletions

View File

@@ -3,13 +3,8 @@ package de.mbremer.secutity;
import de.mbremer.room.Room;
import io.quarkus.elytron.security.common.BcryptUtil;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import io.quarkus.security.jpa.Password;
import io.quarkus.security.jpa.Roles;
import io.quarkus.security.jpa.UserDefinition;
import io.quarkus.security.jpa.Username;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import io.quarkus.security.jpa.*;
import lombok.*;
import javax.persistence.*;
import javax.validation.constraints.NotBlank;
@@ -34,6 +29,7 @@ public class User extends PanacheEntity {
@OneToOne
@Getter
@Setter
private Room room;
/**
@@ -41,28 +37,19 @@ public class User extends PanacheEntity {
*/
@Roles
@Getter
@Setter
@Column(nullable = false)
private String role = "USER";
public User setPassword(String password) {
public void setPassword(String password) {
this.password = BcryptUtil.bcryptHash(password);
return this;
}
public User setUsername(String username) {
public void setUsername(String username) {
this.username = username == null ? null : username.trim();
return this;
}
public User setRole(String role) {
public void setRole(String role) {
this.role = role == null ? role : role.toUpperCase();
return this;
}
public User setRoom(Room room) {
this.room = room;
return this;
}
public boolean hasRoleAdmin() {

View File

@@ -5,15 +5,24 @@ import de.mbremer.room.Room;
import javax.ws.rs.FormParam;
public class UserForm {
public @FormParam("username") String username;
public @FormParam("password") String password;
public @FormParam("passwordVerify") String passwordVerify;
public @FormParam("room") String room;
public @FormParam("role") String role;
public @FormParam("username")
String username;
public @FormParam("password")
String password;
public @FormParam("passwordVerify")
String passwordVerify;
public @FormParam("room")
String room;
public @FormParam("role")
String role;
public User getUser() {
return new User().setUsername(username).setPassword(password).setRole(role)
.setRoom((Room) Room.find("name", room).singleResultOptional().orElse(null));
User user = new User();
user.setUsername(username);
user.setPassword(password);
user.setRole(role);
user.setRoom((Room) Room.find("name", room).singleResultOptional().orElse(null));
return user;
}
public boolean verifyPassword() {

View File

@@ -6,6 +6,7 @@
quarkus.datasource.db-kind=postgresql
quarkus.hibernate-orm.dialect=org.hibernate.dialect.PostgreSQL95Dialect
%dev.quarkus.hibernate-orm.log.sql=true
quarkus.flyway.migrate-at-start=true
# theoretische soll auch 'filesystem:' funktionieren

View File

@@ -30,14 +30,17 @@ class UserResourceTest {
PanacheMock.mock(User.class);
PanacheQuery panacheQuery = mock(PanacheQuery.class);
when(panacheQuery.singleResult()).thenReturn(new User());
User user = new User();
user.setUsername("testuser");
when(panacheQuery.singleResult()).thenReturn(user);
when(User.find("username", "user")).thenReturn(panacheQuery);
given()
.when().get("/user")
.then()
.statusCode(200)
.body(containsString("Hallo"));
.body(containsString("Hallo testuser"));
}
}