Cleanup: restore the interrupt flag in email providers

Ouverte Adaptée aux débutants
#255 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
85/100
Type d'issue
Refactorisation
Clarté
Clairement spécifiée
Activité
Active
Stack technique
java
Domaine
backend

Piste de recherche

Les occurrences signalées se trouvent dans src/main/java/com/seleniumboot/email/ : MailhogProvider.java (lignes 54, 66), MailtrapProvider.java (66, 79) et OutlookProvider.java (82, 106, 139, 169). Commence par lire chaque occurrence listée et confirme qu'elle avale InterruptedException. Ajoute Thread.currentThread().interrupt() dans un bloc catch InterruptedException séparé, en conservant le traitement existant. C'est terminé lorsque ces emplacements restaurent le drapeau d'interruption, que rien d'autre n'a changé et que mvn test réussit.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.

Langage dominant
Java
Étoiles
12
Forks
6
Merge moyen
10 h
PR mergées (30 j)
76

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de seleniumboot/selenium-boot

Toutes les issues de seleniumboot/selenium-boot

Issues similaires

Plus d'issues Java

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.