RegisterAdministratorUseCaseService.java

1
package org.hplr.user.core.usecases.service;
2
3
import lombok.RequiredArgsConstructor;
4
import org.hplr.user.core.model.Administrator;
5
import org.hplr.user.core.model.AdministratorSnapshot;
6
import org.hplr.user.core.model.vo.AdministratorSecurity;
7
import org.hplr.user.core.usecases.port.dto.InitialAdministratorSaveDataDto;
8
import org.hplr.user.core.usecases.port.in.RegisterAdministratorUseCaseInterface;
9
import org.hplr.user.core.usecases.port.out.command.SaveAdministratorDataCommandInterface;
10
import org.hplr.user.core.usecases.service.dto.InitialAdministratorSaveDto;
11
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
12
import org.springframework.stereotype.Service;
13
14
import java.time.LocalDateTime;
15
import java.util.UUID;
16
17
@RequiredArgsConstructor
18
@Service
19
public class RegisterAdministratorUseCaseService implements RegisterAdministratorUseCaseInterface {
20
21
    private final SaveAdministratorDataCommandInterface saveAdministratorDataCommandInterface;
22
    @Override
23
    public UUID registerAdministrator(InitialAdministratorSaveDataDto initialAdministratorSaveDataDto) {
24
        String pwHash = generatePasswordHash(initialAdministratorSaveDataDto.password());
25
        AdministratorSecurity administratorSecurity = new AdministratorSecurity(
26
                        pwHash,
27
                        LocalDateTime.now(),
28
                        null,
29
                        initialAdministratorSaveDataDto.roleList()
30
31
        );
32
        InitialAdministratorSaveDto initialAdministratorSaveDto = new InitialAdministratorSaveDto(
33
                initialAdministratorSaveDataDto,
34
                administratorSecurity
35
        );
36
        Administrator administrator = Administrator.fromInitialDto(initialAdministratorSaveDto);
37
        AdministratorSnapshot administratorSnapshot = administrator.toSnapshot();
38 1 1. registerAdministrator : removed call to org/hplr/user/core/usecases/port/out/command/SaveAdministratorDataCommandInterface::saveAdministrator → KILLED
        saveAdministratorDataCommandInterface.saveAdministrator(administratorSnapshot);
39 1 1. registerAdministrator : replaced return value with null for org/hplr/user/core/usecases/service/RegisterAdministratorUseCaseService::registerAdministrator → KILLED
        return administratorSnapshot.userId().id();
40
    }
41
42
    private String generatePasswordHash(String password) {
43
        BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();
44 1 1. generatePasswordHash : replaced return value with "" for org/hplr/user/core/usecases/service/RegisterAdministratorUseCaseService::generatePasswordHash → KILLED
        return bCryptPasswordEncoder.encode(password);
45
    }
46
}

Mutations

38

1.1
Location : registerAdministrator
Killed by : org.hplr.user.core.usecases.service.RegisterAdministratorUseCaseServiceTests.[engine:junit-jupiter]/[class:org.hplr.user.core.usecases.service.RegisterAdministratorUseCaseServiceTests]/[method:register_administrator_with_correct_password_and_succeed()]
removed call to org/hplr/user/core/usecases/port/out/command/SaveAdministratorDataCommandInterface::saveAdministrator → KILLED

39

1.1
Location : registerAdministrator
Killed by : org.hplr.user.core.usecases.service.RegisterAdministratorUseCaseServiceTests.[engine:junit-jupiter]/[class:org.hplr.user.core.usecases.service.RegisterAdministratorUseCaseServiceTests]/[method:register_administrator_with_correct_password_and_succeed()]
replaced return value with null for org/hplr/user/core/usecases/service/RegisterAdministratorUseCaseService::registerAdministrator → KILLED

44

1.1
Location : generatePasswordHash
Killed by : org.hplr.user.core.usecases.service.RegisterAdministratorUseCaseServiceTests.[engine:junit-jupiter]/[class:org.hplr.user.core.usecases.service.RegisterAdministratorUseCaseServiceTests]/[method:register_administrator_with_correct_password_and_succeed()]
replaced return value with "" for org/hplr/user/core/usecases/service/RegisterAdministratorUseCaseService::generatePasswordHash → KILLED

Active mutators

Tests examined


Report generated by PIT 1.16.1