diff --git a/src/main/java/de/mbremer/secutity/User.java b/src/main/java/de/mbremer/secutity/User.java index 2e1655e..ab8e222 100644 --- a/src/main/java/de/mbremer/secutity/User.java +++ b/src/main/java/de/mbremer/secutity/User.java @@ -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() { diff --git a/src/main/java/de/mbremer/secutity/UserForm.java b/src/main/java/de/mbremer/secutity/UserForm.java index 40bf2dc..4dde01a 100644 --- a/src/main/java/de/mbremer/secutity/UserForm.java +++ b/src/main/java/de/mbremer/secutity/UserForm.java @@ -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() { diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 891b15b..cddf87b 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -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 diff --git a/src/test/java/de/mbremer/secutity/UserResourceTest.java b/src/test/java/de/mbremer/secutity/UserResourceTest.java index 86b3f99..497fe03 100644 --- a/src/test/java/de/mbremer/secutity/UserResourceTest.java +++ b/src/test/java/de/mbremer/secutity/UserResourceTest.java @@ -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")); } } \ No newline at end of file