Test that READ_ONLY=true blocks every write
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
- 86/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- javascript, node.js
Hướng nghiên cứu
Đọc logic CONFIG.readOnly và authenticate() trong server/server.js, sau đó làm theo cách thiết lập server hiện có trong tests/api.test.mjs. Khởi chạy server thứ hai trên một cổng khác, với thư mục dữ liệu riêng và READ_ONLY: 'true'. Thêm các kiểm tra cho hai lần đọc và cả hai phản hồi 403 đối với thao tác ghi, sau đó dừng server và xóa thư mục dữ liệu của nó; hoàn tất khi npm 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ả
The task
READ_ONLY=true freezes the map for everyone: every account, admins included, is treated as a viewer. It is documented in the README and used in practice to freeze a map during an audit, but no test checks it. Add one, so that a future change cannot silently make a read-only server writable again.
Where to look
server/server.js:CONFIG.readOnly, andauthenticate()(around line 254), which downgrades every role toviewertests/api.test.mjs: the existing tests start one server inbefore(). A read-only server needs its own: start a second one on another port and data folder, withREAD_ONLY: 'true', the same waybefore()does
Done when
- With
READ_ONLY=true, an admin can still read (GET /api/state,GET /api/mesaysreadOnly: true) - The same admin gets
403on a write (PUT /api/si/...) and onPOST /api/rollback - The second server is stopped and its data folder removed at the end of the test
-
npm testpasses
Mentor
@0b3l1X-SolidGeeks
- Ngôn ngữ chính
- JavaScript
- Star
- 0
- Fork
- 1
- Merge trung bình
- 14 phút
- Pull request đã merge (30 ngày)
- 31
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của SolidGeeks/strata
-
documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
SolidGeeks/strata#21 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 22/100
SolidGeeks/strata#22 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
help wanted
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
SolidGeeks/strata#20 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của SolidGeeks/strata
Issue tương tự
-
enhancement javascript python
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
jlab-sensing/ENTS-backend#851 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 86/100
guilhermerodz/input-otp#157 · 1 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
davidjerleke/embla-carousel#1414 ·
Maintainer thường phản hồi trong vòng 4 ngày
-
0. Needs triage bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày