0

conftestを使用する場合のデータのインポートと組み込みの opa 関数の実行について質問があります。以下のコード サンプルでは、​​2 つのモジュールabcmain. 重要なのは、それが動作中abcの https 呼び出しであることだけです。

repl から作業すると、コードは意図したとおりに実行され、オンザフライでデータを取得し、そのリストにあるavailableかどうかを確認stuffします。opa run -b . 次に、ヒットdata.abcすると https 呼び出しが実行されます。つまり、パケットがインターフェイスから出て、必要なリストを含む応答本文が取り込まれていることがわかりますdeny。を実行しても同じことが起こりますopa test . -v

ただし、実行中conftest verify -p .または conftest test abc/main.json -p .実行http.sendされない、つまり、パケットが予想されるホストのインターフェイスから離れることはありません。

https 呼び出しを使用する代わりに静的リストを使用することもできますが、リストがいつ更新されるかは制御できません。これは conftest の予期された/意図された制限ですか? これらの関数を実行してデータ ドキュメントを作成できますか? また、正しくインポートしていますか?

package abc

available = http.send(
  {
  "method": "get",
  "url": request.url,
  "headers": headers
  }
)
package main
import data.abc.available

deny[msg] {
    stuff := input.stuff
    not available.body[stuff]
    msg := sprintf("%v is not available", [stuff])
}
4

1 に答える 1