test : add unit tests for _SAFETY_LEVEL_IMPLIED mapping in capabilities

オープン
#2,236 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

  • #2241 @tmdeveloper007 による — マージされずにクローズ

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
30/100
issue の種類
機能追加
明瞭さ
明確に書かれている
活発さ
停滞
技術スタック
fastapi, python
領域
security, testing

調査の方向性

Read backend/secuscan/capabilities.py and the existing effective_capabilities tests, then create testing/backend/unit/test_capabilities_safety_implied.py as specified. Verify the mapping entries, implied capabilities, dict type, and behavior when declared capabilities are None. The linked pull request #2241 is closed and unmerged; check its changes before starting to see whether work has already been attempted.

索引モデルが issue の本文から書いたものです。

説明

Summary of What Needs to be Done:
The backend/secuscan/capabilities.py module exposes a _SAFETY_LEVEL_IMPLIED dict that maps plugin safety levels ("safe", "intrusive", "exploit") to their implied capability sets. This mapping is critical for the backward compatibility of plugins that do not declare explicit capabilities. It is currently tested only indirectly through effective_capabilities tests — direct tests of the mapping structure would improve confidence.

Changes that Need to be Made:
Create testing/backend/unit/test_capabilities_safety_implied.py with tests for _SAFETY_LEVEL_IMPLIED:

  • The mapping contains exactly 3 entries: "safe", "intrusive", "exploit"
  • "safe" implies only ["network"]
  • "intrusive" implies ["network", "intrusive"]
  • "exploit" implies ["network", "intrusive", "exploit"]
  • All implied capabilities are valid (members of ALL_CAPABILITIES)
  • No implied set is empty
  • The mapping is a plain dict (not a subclass with unusual behavior)
  • effective_capabilities with None declared uses the correct implied set for each safety level

Impact that it would Provide:

  • Directly tests the safety-level-to-capability mapping that drives legacy plugin enforcement
  • Documents the backward-compatibility contract for plugin authors
  • Ensures that adding invalid entries to the mapping would be caught by the test suite
  • Complements existing effective_capabilities tests

Note: This task is being handled by tmdeveloper007 — please assign to that account when picking it up.

主要言語
Python
スター
36
フォーク
234
PR マージ指標
30日以内にマージされた PR はありません

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

utksh1/SecuScan のほかの issue

utksh1/SecuScan の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。