Cleanup: restore the interrupt flag in email providers

Aberta Para iniciantes
#255 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
85/100
Tipo de issue
Refatoração
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
java
Domínio
backend

Direção de pesquisa

Os achados sinalizados estão em src/main/java/com/seleniumboot/email/: MailhogProvider.java (linhas 54, 66), MailtrapProvider.java (66, 79) e OutlookProvider.java (82, 106, 139, 169). Comece lendo cada ponto listado e confirme se ele engole InterruptedException. Adicione Thread.currentThread().interrupt() em um bloco catch separado para InterruptedException, mantendo o tratamento atual. Está pronto quando esses pontos restauram a flag de interrupção, nada mais é alterado e mvn test passa.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

good first issue

Part of the cleanup cycle from #251. SonarCloud rule java:S2142 flags these spots.

These places catch InterruptedException (often inside catch (Exception e)) and carry on without restoring the thread's interrupt flag. Anything further up that checks Thread.interrupted() (a parallel runner shutting down, a timeout) never sees the interrupt.

Where (line numbers as of master 2a07bba):

  • src/main/java/com/seleniumboot/email/MailhogProvider.java: lines 54, 66
  • src/main/java/com/seleniumboot/email/MailtrapProvider.java: lines 66, 79
  • src/main/java/com/seleniumboot/email/OutlookProvider.java: lines 82, 106, 139, 169

Fix: restore the flag and keep the existing behaviour. For a combined catch, split it out:

} catch (InterruptedException e) {
    Thread.currentThread().interrupt();
    // then the same handling the old catch did (log / wrap / return)
} catch (Exception e) {
    ...
}

Done when: the listed spots restore the interrupt flag, the behaviour is otherwise unchanged, and mvn test passes. Keep this PR to this package. SonarCloud reruns on the PR.

Linguagem predominante
Java
Estrelas
12
Forks
6
Merge médio
10h
PRs com merge (30d)
76

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de seleniumboot/selenium-boot

Todas as issues de seleniumboot/selenium-boot

Issues semelhantes

Mais issues de Java

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.