Conftest 验证夹具数据
Conftest verify fixture data
我一直在使用 Conftest 编写一些策略,并希望使用 conftest verify
命令验证我的配置。到目前为止,我已经能够像这样成功验证我的政策
test_deployment_with_security_context {
no_violations with input as {
... json content ...
}
}
然而,上面省略的 JSON 内容相当大,使我的策略测试变得混乱。我想将 JSON 放入文件并将其导入测试。 conftest verify
命令采用 --data
标志,允许文件作为数据加载并可供策略使用。例如,根据文档,conftest verify --data policy
将递归加载它找到的 YAML 和 JSON 文件。因此,policy/examples/input.json
中的文件在 import data.examples
下的策略中可用。我的问题是如何在测试中使用这些数据?
围绕此有一个 open issue - 文档当前反映了 OPA 的 行为,即从目录中递归读取数据文件并使用目录名称作为命名空间。此行为目前未 反映在 conftest 中。我建议跟踪票证的进展情况。在此之前,作为一种解决方法,您始终可以自己“命名空间”数据,以便您的 input.json 看起来像这样:
{
"examples": {
"actual_data": {
...
}
}
}
我一直在使用 Conftest 编写一些策略,并希望使用 conftest verify
命令验证我的配置。到目前为止,我已经能够像这样成功验证我的政策
test_deployment_with_security_context {
no_violations with input as {
... json content ...
}
}
然而,上面省略的 JSON 内容相当大,使我的策略测试变得混乱。我想将 JSON 放入文件并将其导入测试。 conftest verify
命令采用 --data
标志,允许文件作为数据加载并可供策略使用。例如,根据文档,conftest verify --data policy
将递归加载它找到的 YAML 和 JSON 文件。因此,policy/examples/input.json
中的文件在 import data.examples
下的策略中可用。我的问题是如何在测试中使用这些数据?
围绕此有一个 open issue - 文档当前反映了 OPA 的 行为,即从目录中递归读取数据文件并使用目录名称作为命名空间。此行为目前未 反映在 conftest 中。我建议跟踪票证的进展情况。在此之前,作为一种解决方法,您始终可以自己“命名空间”数据,以便您的 input.json 看起来像这样:
{
"examples": {
"actual_data": {
...
}
}
}