Add the User model and its repository.
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
a872e66d63
commit
f7d81a2fb8
@ -0,0 +1,39 @@
|
||||
package space.kklochko.spring_rest_example.db.repositories;
|
||||
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.NoResultException;
|
||||
import jakarta.persistence.TypedQuery;
|
||||
import org.springframework.stereotype.Component;
|
||||
import space.kklochko.spring_rest_example.db.repositories.blocks.TransactionalInsert;
|
||||
import space.kklochko.spring_rest_example.db.repositories.blocks.TransactionalRemove;
|
||||
import space.kklochko.spring_rest_example.db.repositories.blocks.TransactionalUpdate;
|
||||
import space.kklochko.spring_rest_example.models.Token;
|
||||
import space.kklochko.spring_rest_example.models.User;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
|
||||
@Component
|
||||
public class UserRepository {
|
||||
public User read(String username) {
|
||||
Optional<User> user = readAll()
|
||||
.stream()
|
||||
.filter(u -> u.getUsername().equals(username))
|
||||
.findFirst();
|
||||
|
||||
return user.orElse(null);
|
||||
}
|
||||
|
||||
public List<User> readAll() {
|
||||
List<User> users = new ArrayList<>();
|
||||
|
||||
// password same as username
|
||||
users.add(new User("admin", "ADMIN", "8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918"));
|
||||
users.add(new User("user", "USER", "04f8996da763b7a969b1028ee3007569eaf3a635486ddab211d512c85b9df8fb"));
|
||||
|
||||
return users;
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,19 @@
|
||||
package space.kklochko.spring_rest_example.models;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
|
||||
@AllArgsConstructor
|
||||
@Data
|
||||
public class User {
|
||||
private String username;
|
||||
private String role;
|
||||
private String password;
|
||||
|
||||
public User() {
|
||||
setUsername("");
|
||||
setRole("");
|
||||
setPassword("");
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,59 @@
|
||||
package space.kklochko.spring_rest_example.db.repositories
|
||||
|
||||
import groovy.sql.Sql
|
||||
import jakarta.persistence.EntityManager
|
||||
import space.kklochko.spring_rest_example.config.factories.LoadDataBaseConfigFromEnvFile
|
||||
import space.kklochko.spring_rest_example.config.models.DataBaseConfig
|
||||
import space.kklochko.spring_rest_example.db.factories.DataBaseConnection
|
||||
import space.kklochko.spring_rest_example.db.factories.EntityManagerConnection
|
||||
import space.kklochko.spring_rest_example.models.Token
|
||||
import space.kklochko.spring_rest_example.models.User
|
||||
import spock.lang.Shared
|
||||
import spock.lang.Specification
|
||||
import spock.lang.Stepwise
|
||||
import spock.lang.Subject
|
||||
|
||||
@Stepwise
|
||||
class UserRepositorySpec extends Specification {
|
||||
def "Read one user"() {
|
||||
given: "I have a repo"
|
||||
@Subject
|
||||
UserRepository repo = new UserRepository()
|
||||
|
||||
when: "reading the entry"
|
||||
def result = repo.read(username)
|
||||
|
||||
then: "checking that the reading was successful"
|
||||
result
|
||||
|
||||
and: "the user has a role"
|
||||
with(result) {
|
||||
getRole() == expectedRole
|
||||
getPassword() == expectedPassword
|
||||
}
|
||||
|
||||
where: "the expected data"
|
||||
username || expectedRole | expectedPassword
|
||||
"admin" || "ADMIN" | "8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918"
|
||||
"user" || "USER" | "04f8996da763b7a969b1028ee3007569eaf3a635486ddab211d512c85b9df8fb"
|
||||
}
|
||||
|
||||
def "Read one user and check if exists"() {
|
||||
given: "I have a repo"
|
||||
@Subject
|
||||
UserRepository repo = new UserRepository()
|
||||
|
||||
when: "reading the entry"
|
||||
def result = repo.read(username)
|
||||
|
||||
then: "checking that the reading was successful"
|
||||
isNull == (result == null)
|
||||
|
||||
where: "the expected data"
|
||||
username || isNull
|
||||
"admin" || false
|
||||
"user" || false
|
||||
"user2" || true
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in new issue