我正在尝试运行rego测试用例作为jenkins管道运行的一部分。我之前将我的测试用例和测试用例的输入数据放在一个文件中,它们都运行成功。
我修改了我的测试用例,以便从外部json文件读取数据,当前文件夹结构如下: test.rego文件和input.json文件在同一文件夹中。
这就是我在Jenkins中用来运行测试的*./opa test -b -v .*
测试失败,并显示错误data.utilities.test_no_OwnerContact: FAIL我认为这是因为rego测试无法从input.json读取数据
当我尝试使用-i/--input显式地传递输入文件时,我在jenkins中看到了一个错误,即Error: unknown flag: --input
我不确定我使用的是必需的标签,还是其他东西。任何帮助都将不胜感激。谢谢!
编辑:我打印了捆绑包中的文件,然后我看到了data.json文件。因此,OPA引擎无法从Bundle中读取数据文件。如何解决此问题?
发布于 2021-10-05 17:52:47
在测试中指定输入数据的方法不是使用input.json文件,而是使用with模拟输入。as构造。模拟输入的示例测试可能如下所示:
test_with_mocked_input {
allow with input as {
"deployment_name": "testing",
"replicas": 2
}
}有关更多信息,请参阅data mocking上的文档。
https://stackoverflow.com/questions/66533921
复制相似问题