Cleanup: restore the interrupt flag in email providers

Đang mở Phù hợp với người mới
#255 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
85/100
Loại issue
Tái cấu trúc
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
java
Lĩnh vực
backend

Hướng nghiên cứu

Các vị trí được đánh dấu nằm trong src/main/java/com/seleniumboot/email/: MailhogProvider.java (dòng 54, 66), MailtrapProvider.java (dòng 66, 79) và OutlookProvider.java (dòng 82, 106, 139, 169). Bắt đầu bằng việc đọc từng vị trí được liệt kê và xác nhận rằng nó nuốt InterruptedException. Thêm Thread.currentThread().interrupt() vào một khối catch InterruptedException riêng, đồng thời giữ nguyên cách xử lý cũ. Hoàn thành khi các vị trí đó khôi phục cờ ngắt, không có thay đổi nào khác và mvn test chạy thành công.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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.

Ngôn ngữ chính
Java
Star
12
Fork
6
Merge trung bình
10 giờ
Pull request đã merge (30 ngày)
76

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của seleniumboot/selenium-boot

Tất cả issue của seleniumboot/selenium-boot

Issue tương tự

Thêm issue về Java

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.