SPRING BOOT: создайте метод авторизации автоматически во время тестирования - PullRequest
0 голосов
/ 06 марта 2019

Я занимаюсь разработкой приложения с использованием Spring Boot и PostgreSQL.Во время некоторых тестов мне нужно получить подключенного актера и реализовать это действие.

Я получаю объект, используя метод getPrincipal (), это не проблема (я получаю Garage, это расширениеобычного актера).

public Repair create(final int varId) {
    final Repair r = new Repair();

    Garage g = (Garage) this.actorService.findByPrincipal();
    Vehicle v = this.vehicleService.findOne(varId);
    r.setEntryDate(new Date(System.currentTimeMillis()-1));
    r.setGarage(g);
    r.setVehicle(v);
    return r;

Но когда я тестирую этот метод, мне нужен способ «войти», а затем выйти из системы.Поэтому я хотел бы создать метод, такой как authenticate (String actorName), но я не уверен, как его разработать, потому что иначе невозможно провести тестирование.

Это часть моего кода тестирования:

    public void template(String entryDate, String departureDate, String cause, String actions, Double labourPrice, Double itemsPrice, Double finalPrice,
                        int repairID, String garageName, int garageID, int vehicleID, String operation, final Class<?> expected) {
    Class<?> caught;
    Repair r;
    caught = null;
    Date now = new Date(System.currentTimeMillis());
    Calendar c = Calendar.getInstance();
    c.setTime(now);
    c.add(Calendar.DATE, 1);
    Date tomorrow = c.getTime();
    c.add(Calendar.DATE, -2);
    Date yesterday = c.getTime();


    if(garageName != "")
        authenticate(garageName);

    try {
        if (operation.equals("crear y guardar")) {
            r = this.repairService.create(vehicleID);

        } else {
            // else if(operation.equals("BD y guardar")){
            r = this.repairService.findOne(repairID);
        }
        Garage g = this.garageService.findOne(garageID);
        Vehicle v = this.vehicleService.findOne(vehicleID);

        if (entryDate == "Ayer")
            r.setEntryDate(now);
        else if (entryDate == "Mañana")
            r.setEntryDate(tomorrow);
        else
            r.setEntryDate(null);

        if (departureDate == "Hoy")
            r.setDepartureDate(now);
        else if (departureDate == "Ayer")
            r.setDepartureDate(yesterday);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...